docs.rs failed to build est-ca-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
est-ca
RFC 7030 Enrollment over Secure Transport (EST) + an internal X.509 CA, in pure Rust.
Three things commonly needed together when running an internal PKI that issues short-lived client certificates to programmatic callers (devices, services, tenants, CI runners):
- Internal X.509 CA — load a signing key+cert, apply a strict profile,
and issue leaves from PKCS#10 CSRs via
rcgen. - EST server —
axumhandlers for/cacerts,/simpleenroll, and/simplereenrollwith pluggable authentication. - EST client — generate a CSR and enroll; renew via
/simplereenrollover mTLS.
Feature flags
| Feature | Purpose |
|---|---|
client (default) |
EST client: CSR generation + enroll + renew. |
server |
EST server handlers (implies ca). |
ca |
Internal CA primitives (issuer, profile, serial). |
full |
All of the above. |
Quick start (server)
#
# async
Quick start (client)
#
# async
Transport
RFC 7030 mandates TLS. This crate provides the protocol layer only —
the consumer puts a TLS listener in front of the server router and,
for /simplereenroll, verifies the client cert and forwards the
verified Common Name via the x-est-principal request header.
Non-goals
- Public-web CA compliance (CA/B Forum Baseline Requirements, WebTrust).
- CRL / OCSP publication — short-lived certs are the revocation story.
- EST's optional endpoints (
/fullcmc,/serverkeygen,/csrattrs).
License
Licensed under either of Apache-2.0 or MIT, at your option.