liveBook · Manning

ACME

As explained in Software Security for Developers

ACME is an internet protocol for automating certificate issuance and certificate authority domain-control validation.

ACME (Automated Certificate Management Environment) automates X.509 certificate issuance and certificate-authority validation of domain control. It replaces difficult manual verification with API-driven challenges, enabling short-lived certificates and automatic renewal. section 9.0 section 9.1.3

An HTTP-01 validation exchange works as follows:

  • The requester sends a certificate signing request (CSR) to the certificate authority over HTTPS. section 9.1.3
  • The authority returns a challenge and small file for a specified website URL. section 9.1.3
  • The requester publishes the file and tells the authority it is available. section 9.1.3
  • The authority fetches the URL from multiple locations; successful retrieval proves control and permits issuance. section 9.1.3
Figure 9.6 Domain validation via HTTP challenge. This flow illustrates how a CA validates domain ownership using an HTTP challenge. The requester sends a CSR, receives a challenge file from the CA, and places it at a specific location on their website. When the CA finds the file at that location, it confirms domain control and issues the certificate.
figure

The HTTP challenge flow makes the trust boundary visible: control of the website is demonstrated before certificate issuance. section 9.1.3

How Software Security for Developers covers it

How deep it goes
Explains HTTP-01 step by step and names DNS-01, but does not detail protocol internals or implementation code.
Examples
Uses email, HTTP, and DNS domain-validation flows, including challenge files and DNS record changes.
What it assumes
Assumes familiarity with X.509 certificates and CSRs while explaining certificate-authority validation in practical terms.
What you can do after
Operate/configure automated certificate requests and renewals using HTTP-01 or DNS-01 validation.
How it connects
Connects certificate signing requests, certificate authorities, X.509 certificates, domain validation, HTTP-01, DNS-01, and certificate renewal.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Software Security for Developers. The section links point to the parts of the book it draws on.