See API overview for how to authenticate. Reading the CA and its certificates needs
Manage proxies (
proxy.manage); making, changing, exporting and importing it and a certificate’s
private key need a superadmin. Every change is in the audit log.The CA
The settings (
POST / PUT / POST /versions):
intermediate_cn is named after the root: Example Root CA gives Example Issuing CA, a
root named otherwise <Organization> Issuing CA, else DNZ Issuing CA.
key_type is ecdsa-p256, ecdsa-p384, rsa-2048, rsa-3072 or rsa-4096. Empty name_constraints
let the CA sign any name. A change to subject, key_type, root_years, the intermediate or
name_constraints makes a new version; crl, base_url and defaults apply at once. A field left out
takes its default, so a PUT sends the whole settings: start from the active version’s settings in
GET /api/ca.
Certificates
A certificate’s
kind is manual (issued by hand), route (a route needs it) or server (DNZ’s own);
its state is pending, issuing, valid, renewing, failed or revoked.
The root and revocation lists
No sign-in: these hold certificates only, no key.The ACME server
For what it does, see ACME.
RFC 8555 itself is under
/acme/private-ca/, with no sign-in: directory, new-nonce, new-account, new-order,
account/{id}, account/{id}/orders, order/{id}, order/{id}/finalize, authz/{id}, chall/{id}/{type},
cert/{id}, revoke-cert and key-change. Requests are JWS, ES256 or RS256.
DNZ’s own certificate
PUT /api/encrypted-dns/certificate with "resolver": "private-ca" has the CA sign DNZ’s own certificate
for DoT, DoH and HTTPS. See Encrypted DNS.