17 unstable releases (5 breaking)
0.7.2 | Oct 24, 2024 |
---|---|
0.7.1 | Jul 17, 2024 |
0.6.1 | Jul 1, 2024 |
0.4.3 | Feb 5, 2024 |
0.1.0 | May 12, 2022 |
#86 in Web programming
25,689 downloads per month
Used in 6 crates
57KB
1K
SLoC
instant-acme: async, pure-Rust ACME client
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.
Features
- Store/recover your account credentials by serializing/deserializing
- Fully async implementation with tracing support
- Support for processing multiple orders concurrently
- Support for external account binding
- Support for certificate revocation
- Uses hyper with rustls and Tokio for HTTP requests
- Uses ring or aws-lc-rs for ECDSA signing
- Minimum supported Rust version: 1.63
Cargo features
hyper-rustls
(default): use a hyper client with rustlsring
(default): use the ring crate as the crypto backendaws-lc-rs
: use the aws-lc-rs crate as the crypto backendfips
: enable the aws-lc-rs crate's FIPS-compliant mode
If both ring
and aws-lc-rs
are enabled, which backend is used depends on the fips
feature.
If fips
is enabled, aws-lc-rs
is used; otherwise, ring
is used.
Limitations
- Only tested with DNS challenges against Let's Encrypt (staging and production) and ZeroSSL (production) so far
- Only supports ECDSA keys for now
Getting started
See the examples directory for an example of how to use instant-acme.
Dependencies
~15–37MB
~831K SLoC