MCPcopy Index your code
hub / github.com/djc/instant-acme

github.com/djc/instant-acme @0.8.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.8.5 ↗ · + Follow
217 symbols 382 edges 7 files 68 documented · 31%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

instant-acme: async, pure-Rust ACME client

Documentation Crates.io Build status License: Apache 2.0

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

  • Supported extensions:
  • ACME renewal information (ARI)
  • Profiles
  • 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

Cargo features

  • 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 CertificateIdentifier values for ARI from certificates
  • time: enable fetching RenewalInfo for a CertificateIdentifier

If both ring and aws-lc-rs are enabled, aws-lc-rs will be used.

Limitations

  • Only supports P-256 ECDSA account keys for now
  • Device attestation support is experimental

Getting started

See the examples directory for an example of how to use instant-acme.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 101
Class 64
Function 37
Enum 11
Interface 4

Languages

Rust100%

Modules by API surface

src/types.rs71 symbols
tests/pebble.rs41 symbols
src/order.rs40 symbols
src/account.rs36 symbols
src/lib.rs26 symbols
examples/provision.rs2 symbols
examples/certgen.rs1 symbols

For agents

$ claude mcp add instant-acme \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page