Skip to main content

Python Package for managing keys, request SSL certificates from ACME.

Project description

CertApi

CertApi is a Python package for requesting SSL certificates from ACME. This is to be used as a base library for building other tools, or to integrate Certificate creation feature in you app.

⚠️ Warning: This project is in beta. Please stay tuned for the LTS v1.0.0 release.

For a detailed list of changes, please refer to the CHANGELOG.md.

Installation

You can install CertApi using pip

pip install certapi

Example: Obtain Certificate with Cloudflare

import json
from certapi import CertApiException, CloudflareChallengeSolver, Key, AcmeCertIssuer


# Initialize the Cloudflare challenge solver
# The API key is read from the CLOUDFLARE_API_KEY environment variable, or you can set it below.
challenge_solver = CloudflareChallengeSolver(api_key=None)

## initialize cert issuer with a new account key
cert_issuer = AcmeCertIssuer(Key.generate('rsa'), challenge_solver)

# Preform setup i.e. fetching directory and registering ACME account
cert_issuer.setup()

try:
    # Obtain a certificate for your domain
    (key, cert) = cert_issuer.generate_key_and_cert_for_domain("your-domain.com")

    print("------ Private Key -----")
    print(key.to_pem())
    print("------- Certificate ------")
    print(cert)
except CertApiException as e:
    print(f"An error occurred:", json.dumps(e.json_obj(), indent=2))

Example: Use High Leve API

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certapi-0.6.0.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certapi-0.6.0-py3-none-any.whl (45.7 kB view details)

Uploaded Python 3

File details

Details for the file certapi-0.6.0.tar.gz.

File metadata

  • Download URL: certapi-0.6.0.tar.gz
  • Upload date:
  • Size: 36.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for certapi-0.6.0.tar.gz
Algorithm Hash digest
SHA256 755b806147bbb28c471de9c4bfb99dc4858372f42678f45515732cd379e86ad9
MD5 8bf65f0d4494615fc4186581a7d39aa9
BLAKE2b-256 c982eb24c3cab2ef1bbf24edeeb9f38525fdcd501afafd64a16a723eaead6845

See more details on using hashes here.

File details

Details for the file certapi-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: certapi-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 45.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for certapi-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d8e994a2eb54b4e1e614fe78423d6c625a2379a5d9b311b1294d9b295fdc605
MD5 14f92c31fe4f769987d33ceb5275311d
BLAKE2b-256 9d05a8f8fdd6fa79b522c8c055270c9b11208ef15e9e9013d79059b592930dee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page