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.5.0.tar.gz (30.6 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.5.0-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: certapi-0.5.0.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for certapi-0.5.0.tar.gz
Algorithm Hash digest
SHA256 35688db6672b998f25fddc9fe81fa5bc6822bfe893d45d376c41bb7cab3d56b6
MD5 d51cf890664eb2048ff88dee98397e0d
BLAKE2b-256 e602238fcb2c76eb6f809096809cb9bffddd55c2c363ae4901dcbbc97ef2b1b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: certapi-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for certapi-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4bf7c64ce9a2407749f7d88774af27634c727fd829067cbd78a09c54cd4f6139
MD5 c49c0f03a7e3c3fc3459f774c88270bd
BLAKE2b-256 3ea9165c91eb96fa65c4657e71c45c5a955b3f3ed98289aee121ae5879235c8c

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