Issuing a certificate
Issuance is asynchronous.POST /v1/certificates answers 202 with the
certificate in pending and an empty challenges list — the challenges are
planned by the issuance workflow just after the row is created, not by the call
that created it.
1
Create the certificate
- Console
- API
Go to Certificates and choose Create Certificate. Give it a
Name, add each Domain, and leave the source on Auto-issue
via DNS challenge.The certificate lands in the list straight away, and the detail page
shows Configure DNS to complete certificate issuance with the
records to publish.
name is unique per account and lands in the CRN, so it has to be
URL-safe — letters, digits, dot, dash, underscore.2
Poll until the challenges appear
pending_dns and challenges grows one entry per
domain, each carrying cname_record_name, expected_cname and our_dns.3
Publish the CNAME
Each challenge needs
_acme-challenge.<domain> pointing at that
challenge’s expected_cname. Whether you do anything here depends on who
hosts the zone — see below.4
Wait for active
Each challenge flips
verified: true as its CNAME resolves. Once every
challenge is verified and signing completes, the certificate becomes
active and certificate_pem, fingerprint, issued_at and
expires_at are populated.Who publishes the CNAME
- Domain on Basaltic DNS
- Domain hosted elsewhere
The challenge comes back with
our_dns: true and the CNAME has already
been created for you. There is nothing to do but poll until verified
turns true.Wildcards
A wildcard SAN validates at its parent name, not at the literal SAN — this is RFC 8555 §8.4. So a certificate for*.example.com needs:
cname_record_name already accounts for this; publish what it
says and the wildcard case takes care of itself.
Key algorithms
key_algorithm defaults to ecdsa-p256 and cannot be changed after
creation — issue a new certificate to move to a different algorithm.
ECDSA
ecdsa-p256 (default), ecdsa-p384. Smaller keys, faster handshakes.
Prefer these unless a client requires RSA.RSA
rsa-2048, rsa-4096. For older clients and appliances that will not
negotiate an ECDSA chain.