instant-acme is an async, pure-Rust ACME (RFC 8555) client.
instant-acme is used in production at Instant Domain Search to help us provision TLS certificates within seconds for our customers. instant-acme relies on Tokio and rustls to implement the RFC 8555 specification.
- Supported extensions:
- Support for external account binding, key rollover, and contact updates
- Support for certificate revocation
- Store/recover your account credentials by serializing/deserializing
- Fully async implementation with tracing support
- Support for processing multiple orders concurrently
- Uses hyper with rustls and Tokio for HTTP requests
- Uses aws-lc-rs or ring for ECDSA signing
- Minimum supported Rust version (MSRV): 1.70
- hyper-rustls(default): use a hyper client with rustls
- aws-lc-rs(default): use the aws-lc-rs crate as the crypto backend
- ring: use the ring crate as the crypto backend
- fips: enable the aws-lc-rs crate's FIPS-compliant mode
- x509-parser: enable extracting- CertificateIdentifiervalues for ARI from certificates
- time: enable fetching- RenewalInfofor a- CertificateIdentifier
If both ring and aws-lc-rs are enabled, aws-lc-rs will be used.
- Only supports P-256 ECDSA account keys for now
See the examples directory for an example of how to use instant-acme.