Expand description
A minimal ResolvesServerCert implementation backed by
{ by_sni: HashMap<String, Arc<E>>, default: Option<Arc<E>> },
with the whole struct designed to live behind an Arc<ArcSwap<_>>
so a config reload is one atomic pointer swap.
E is generic over a EntryKey trait, so callers can attach
their own per-cert state (expiry timestamps, OCSP staple handles,
ACME order IDs) without a fork.
Structs§
- Cert
Store - Per-listener cert pool: zero-or-more SNI-keyed entries plus an
optional sni-less default. The default fires when a
ClientHellohas no SNI extension or when the SNI does not match anySelf::by_snikey. A listener has at most one default. - Resolver
rustls::server::ResolvesServerCertimplementation backed by anArcSwap<CertStore<E>>. Reads the current store on every handshake — a populator-driven swap is observed by the nextClientHello, never mid-connection (TLS does not permit that).
Traits§
- Entry
Key - A trait satisfied by anything that carries a rustls
Arc<CertifiedKey>(cert chain + signing key + optional OCSP staple). Used byCertStore::lookupto extract the handshake material from a caller-defined entry type.