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.

Installation

You can install CertApi using pip

pip install certapi

Use Low level API

import json
import os
from certapi import FileSystemKeyStore, CertApiException, CloudflareChallengeSolver, AcmeCertManager, AcmeCertIssuer


# Initialize the key store and create acme account key
key_store = FileSystemKeyStore("data")

acme_key = key_store._get_or_generate_key("acme_account", "rsa")[0]

# 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
cert_issuer = AcmeCertIssuer(acme_key, challenge_solver)

# Setup 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))

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.4.5.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.4.5-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: certapi-0.4.5.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.4.5.tar.gz
Algorithm Hash digest
SHA256 f72691fa7ead6aa6ec137b231c8c8d67e64713170ec05d741729f02ae83741de
MD5 f611fa27ece36fad73f3bb41951b6f22
BLAKE2b-256 196b986993eabce36c185f290f6cbcf7ce89a8503af7d8b8c2074d4f6ea66247

See more details on using hashes here.

File details

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

File metadata

  • Download URL: certapi-0.4.5-py3-none-any.whl
  • Upload date:
  • Size: 46.5 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.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fb4348c7a8105fad872a542c8d45966b37849549e2848afd0d9ee5df7944ce72
MD5 848b44138f3345aaf702e686b409081f
BLAKE2b-256 d00fefc332075bace3291c99e5ec6c521bf6e047c0c19363b68a3f9ae7369a74

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