-
Notifications
You must be signed in to change notification settings - Fork 138
ACME Protocol
-
Client generates agent keypair and sends authentication request to server
-
Server generates authentication challenges and nonce and sends the response to client
-
Client generates authentication response and signs nonce and notifies server
-
Server verifies signed nonce
-
Server verifies authentication response
-
with DNS record:
_acme-challenge.<domain>.
-
with well-known URI:
http://<domain>/.well-known/acme-challenge/ <filename>
-
-
Client generates a CSR and sends a signed request to server
-
Server validates CSR signature and agent signature
-
Server generates a certificate and send it to client
-
Client sends a signed request to server
-
Server validates the request
-
Server generates CRL
-
Public proxy will accept requests from ACME client and pass them to ACME server.
-
ACME server will perform validation directly against ACME clients.
-
Public proxy will accept requests from ACME client and pass them to ACME server.
-
ACME server will perform validation against the ACME proxy and pass the result to ACME clients.
Action | Request | Response |
---|---|---|
GET /acme/directory |
200 |
|
HEAD /acme/new-nonce |
200 |
|
POST /acme/new-account |
201 → account |
|
POST /acme/new-order |
201 → order |
|
POST-as-GET /acme/authz/{authzID} |
200 |
|
POST /acme/chall/{challengeID} |
200 |
|
Poll authorization for status |
POST-as-GET /acme/authz/{authzID} |
200 |
POST /acme/order/{orderID}/finalize |
200 |
|
Poll order for status |
POST-as-GET /acme/order/{orderID} |
200 |
POST-as-GET /acme/cert/{certID} |
200 |
Action | Request | Response |
---|---|---|
GET /acme/directory |
200 |
|
HEAD /acme/new-nonce |
200 |
|
POST /acme/new-order |
201 → order |
|
POST-as-GET /acme/authz/{authzID} |
200 |
|
POST /acme/chall/{challengeID} |
200 |
|
Poll authorization for status |
POST-as-GET /acme/authz/{authzID} |
200 |
POST /acme/order/{orderID}/finalize |
200 |
|
Poll order for status |
POST-as-GET /acme/order/{orderID} |
200 |
POST-as-GET /acme/cert/{certID} |
200 |
Action | Request | Response |
---|---|---|
Create authorization |
POST /acme/new-authz |
201 → authz |
Action | Request | Response |
---|---|---|
GET /acme/directory |
200 |
|
HEAD /acme/new-nonce |
200 |
|
Revoke certificate |
POST /acme/revoke-cert |
200 |
Action | Request | Response |
---|---|---|
GET /acme/directory |
200 |
|
HEAD /acme/new-nonce |
200 |
|
POST /acme/new-acct |
200 |
Action | Request | Response |
---|---|---|
GET /acme/directory |
200 |
|
HEAD /acme/new-nonce |
200 |
|
POST /acme/new-acct |
200 |
|
Updating account |
POST /acme/acct/{accountID} |
200 |
Action | Request | Response |
---|---|---|
GET /acme/directory |
200 |
|
HEAD /acme/new-nonce |
200 |
|
POST /acme/new-acct |
200 |
|
Deactivating account |
POST /acme/acct/{accountID} |
200 |
Tip
|
To find a page in the Wiki, enter the keywords in search field, press Enter, then click Wikis. |