Prev: Next: , Up: HTTPS[Contents][Index]


5.1 ACME

Automatic Certificate Management Environment (ACME), is a protocol for automated deployment of HTTPS certificates. It is perhaps the most often used method for obtaining SSL certificates nowadays. In order to issue certificate for a domain or domains, the protocol verifies that the web server that is requesting a certificate actually owns these domains. This process is based on various challenge types.

Pound supports HTTP-013 challenge type. When issuing a certificate using this challenge type, the ACME client (a program responsible for periodic certificate re-issuing) obtains from the authority a challenge file, and stores it in a predefined challenge directory. The authority will then request this file from the webserver using a predefined URL. It is supposed that the server will serve it from the file that has been just written by the agent. If the server returns the file, its claim to own the domain is proved and the certificate is issued.

Configuring pound to reply to challenge requests is as simple as putting an ACME statement to the ListenHTTP section of its configuration file. The statement takes a single argument – name of the challenge directory:

ListenHTTP
    Address 0.0.0.0
    Port 80
    ACME "/var/lib/pound/.well-known/acme-challenge"
End

Needless to say, your ACME agent and pound must agree on this directory location. Configuration of various ACME agents is beyond the scope of this document. Please refer to the documentation of your agent for further details.


Footnotes

(3)

https://letsencrypt.org/docs/challenge-types/#http-01-challenge