Expand description
What a request may ask for, as checks over the values themselves.
No database, no HTTP: an identifier’s shape, a contact’s, a CSR’s agreement
with its order, a datetime’s format. The acme::* services call these
before anything is written, and the job handlers call the same functions on
the same values, so one rule has one implementation.
The CSR checks are the security boundary for custom and relay.
Neither backend can check a CSR against the order — one hands it to an
operator’s script, the other to an upstream CA that never saw the
authorizations — so whatever passes here is what those backends sign. Read
[check_csr_matches_order] before changing any of it, and keep it reading
the DER rather than a re-serialisation of it.
Structs§
- Contact
Rejection - A contact RFC 8555 §7.3 refuses, and which of its two refusals applies.
Functions§
- contact_
shape_ error - The shape check behind [
validate_contacts], returning the reason rather than aProblem. - is_
wildcard - Whether an identifier names every host under a domain (RFC 8555 §7.1.3).
- names_
an_ ip_ address - Whether a
dnsidentifier is really an IP address in disguise. - normalize_
dns_ name - Canonicalizes a DNS name for comparison: lowercased, with one trailing dot removed.
- well_
formed_ name - Whether a
dnsidentifier is a shape this server can act on.