ACME client library for automated TLS certificate management via Let's Encrypt and compatible CAs.
Provides factory functions that target Let's Encrypt production/staging endpoints or a custom ACME directory URL. The returned client object drives the full certificate lifecycle: account registration, order creation, challenge solving, CSR submission, and certificate retrieval.
| Module | Description |
|---|---|
| acme.client | Core ACME protocol client managing the full certificate lifecycle. |
| acme.jws | JSON Web Signature helpers for ACME protocol compliance (ES256/P-256). |
| acme.orders | In-memory order state tracker for the ACME certificate flow. |
| acme.providers | Plugin loader for ACME storage backends and challenge solvers. |
| acme.transport | HTTP transport layer for ACME requests with automatic nonce tracking. |
| Name | Signature |
|---|---|
new | new(cfg) -> client, err |
le_prod | le_prod(cfg) -> client, err |
le_stage | le_stage(cfg) -> client, err |
new(
cfg) ->client,err
Create an ACME client with a custom directory URL
le_prod(
cfg) ->client,err
Create an ACME client targeting Let's Encrypt production
Shorthand for new() that pre-fills cfg.directory_url with the Let's Encrypt
production endpoint (https://acme-v02.api.letsencrypt.org/directory).
Certificates issued by this endpoint are publicly trusted.
le_stage(
cfg) ->client,err
Create an ACME client targeting Let's Encrypt staging
Shorthand for new() that pre-fills cfg.directory_url with the Let's Encrypt
staging endpoint. Use this for testing; certificates are not publicly trusted.