Let’s Encrypt Directory¶
Overview¶
You can use the Let’s Encrypt Directory API to create, delete or retrieve a list of Let’s Encrypt directory URLs.
REST Endpoint: /mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list¶
Requests¶
POST /mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list¶
To save a Let’s Encrypt directory list on the BIG-IQ, send a POST request to the endpoint.
The JSON in the body of the POST request can include the following parameters. If you provide a value for only serverUri, this API gets the directory list from the BIG-IQ, and if the list is not found on BIG-IQ, it queries the Let’s Encrypt server for the directory list. By including a value of true for forceUpdate along with serverUri, this API allways tries to get the resource list from the Let’s Encrypt server and updates the BIG-IQ.
Request Parameters¶
Name | Type | Required | Description |
---|---|---|---|
serverUri | string | True | URL of the CA server |
forceUpdate | boolean | False | If the value of forceUpdate is true, this API gets the directory list from the Let’s Encrypt server and updates the BIG-IQ. If forceUpdate is omitted, this API tries to get the resource list from the BIG-IQ, and if not found, queries the Let’s Encrypt server for the list and updates the BIG-IQ. |
Query Parameters¶
None
Response¶
The JSON in the POST’s response can include the following parameters.
HTTP/1.1 200 OK
Name | Type | Required |
---|---|---|
uuid | string | UUID for this item |
serverUri | string | URL of the CA server |
resourceUrls | object | URLs for this list |
keyChange | string | URL for this Let’s Encrypt directory |
revokeCert | string | URL for this Let’s Encrypt directory |
website | string | URL for this Let’s Encrypt directory |
newNonce | string | URL for this Let’s Encrypt directory |
newAccount | string | URL for this Let’s Encrypt directory |
newOrder | string | URL for this Let’s Encrypt directory |
termsOfService | string | URL for this Let’s Encrypt directory |
selfLink | string | URL of this list |
Permissions¶
Role | Allow |
---|---|
admin | Yes |
Certificate Editor/Viewer | No |
GET /mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list¶
Send a GET request to the endpoint to retrieve a resource list for all or a specific CA configuration. To retrieve a specific configuration append the uuid, to the URL of the GET request.
Request Parameters¶
None
Query Parameters¶
None
Response¶
The JSON in the GET’s response can include the following parameters.
HTTP/1.1 200 OK
Name | Type | Required |
---|---|---|
items | object | A list of configuration records |
uuid | string | The UUID for this item |
serverUri | string | URL of the CA server |
resourceUrls | object | Resource URLs for this configuration |
keyChange | string | URL for this Let’s Encrypt directory |
revokeCert | string | URL for this Let’s Encrypt directory |
newNonce | string | URL for this Let’s Encrypt directory |
newAccount | string | URL for this Let’s Encrypt directory |
newOrder | string | URL for this Let’s Encrypt directory |
termsOfService | string | URL for this Let’s Encrypt directory |
selfLink | string | URL of this list |
Permissions¶
Role | Allow |
---|---|
admin | Yes |
Certificate Editor/Viewer | Yes |
DELETE /mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list/{uuid}¶
To delete a specific directory list send a DELETE request and append the uuid.
Request Parameters¶
None
Query Parameters¶
None
Response¶
The JSON in the body of the response to the DELETE is for the record being removed.
HTTP/1.1 200 OK
Permissions¶
Role | Allow |
---|---|
admin | Yes |
Certificate Editor/Viewer | Yes |
Examples¶
POST to save a new Let’s Encrypt directory list¶
The following example gets the Let’s Encrypt directory list from the Let’s Encrypt server and updates the BIG-IQ.
POST https://<BIG-IQ>/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list
The JSON in the body of the POST can look similar to the following example.
{
"serverUri": "https://acme-staging-v02.api.letsencrypt.org/",
"forceUpdate": true
}
Response¶
The JSON in the body of the response can look similar to the following example.
HTTP/1.1 200 OK
{
"uuid": "796d551a-7429-36e4-bc68-687abb8733d3",
"serverUri": "https://acme-staging-v02.api.letsencrypt.org/",
"resourceUrls": {
"keyChange": "https://acme-staging-v02.api.letsencrypt.org/acme/key-change",
"revokeCert": "https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert",
"website": "https://letsencrypt.org/docs/staging-environment/",
"newNonce": "https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce",
"newAccount": "https://acme-staging-v02.api.letsencrypt.org/acme/new-acct",
"newOrder": "https://acme-staging-v02.api.letsencrypt.org/acme/new-order",
"termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf"
},
"generation": 2,
"lastUpdateMicros": 1565599700623947,
"kind": "cm:adc-core:external-ca:lets-encrypt:resource-list:letsencryptresourceliststate",
"selfLink": "https://localhost/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list/796d551a-7429-36e4-bc68-687abb8733d3"
}
GET to retrieve Let’s Encrypt directory lists for all CA configurations¶
You can send a GET request to the collection to retrieve Let’s Encrypt directory lists for all CA configurations.
GET https://<BIG-IQ>/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list
Response¶
The JSON in the GET’s response can look similar to the following example.
{
"items": [{
"uuid": "59ec6404-afe5-3c23-aa19-b47972578c27",
"serverUri": "https://acme-v02.api.letsencrypt.org/",
"resourceUrls": {
"keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change",
"revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert",
"newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce",
"newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct",
"newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order",
"termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf"
},
"generation": 1,
"lastUpdateMicros": 1565350119556388,
"kind": "cm:adc-core:external-ca:lets-encrypt:resource-list:letsencryptresourceliststate",
"selfLink": "https://localhost/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list/59ec6404-afe5-3c23-aa19-b47972578c27"
},
{
"uuid": "796d551a-7429-36e4-bc68-687abb8733d3",
"serverUri": "https://acme-staging-v02.api.letsencrypt.org/",
"resourceUrls": {
"keyChange": "https://acme-staging-v02.api.letsencrypt.org/acme/key-change",
"revokeCert": "https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert",
"website": "https://letsencrypt.org/docs/staging-environment/",
"newNonce": "https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce",
"newAccount": "https://acme-staging-v02.api.letsencrypt.org/acme/new-acct",
"newOrder": "https://acme-staging-v02.api.letsencrypt.org/acme/new-order",
"termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf"
},
"generation": 1,
"lastUpdateMicros": 1565353260651553,
"kind": "cm:adc-core:external-ca:lets-encrypt:resource-list:letsencryptresourceliststate",
"selfLink": "https://localhost/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list/796d551a-7429-36e4-bc68-687abb8733d3"
}
],
"generation": 1,
"kind": "cm:adc-core:external-ca:lets-encrypt:resource-list:letsencryptresourcelistcollectionstate",
"lastUpdateMicros": 1565348758357060,
"selfLink": "https://localhost/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list"
}
DELETE to delete a specific Let’s Encrypt directory list¶
The following example deletes a Let’s Encrypt directory list. The list is specified by the value of its uuid. The body of the DELETE request can be empty.
DELETE https://<BIG-IQ>/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list/796d551a-7429-36e4-bc68-687abb8733d3
Response¶
HTTP/1.1 200 OK
The JSON in the body of the response to the DELETE is for the removed list.
{
"uuid": "796d551a-7429-36e4-bc68-687abb8733d3",
"serverUri": "https://acme-v02.api.letsencrypt.org/",
"resourceUrls": {
"keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change",
"revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert",
"newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce",
"newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct",
"newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order",
"termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf"
},
"generation": 1,
"lastUpdateMicros": 1565350119556388,
"kind": "cm:adc-core:external-ca:lets-encrypt:resource-list:letsencryptresourceliststate",
"selfLink": "https://localhost/mgmt/cm/adc-core/external-ca/lets-encrypt/resource-list/59ec6404-afe5-3c23-aa19-b47972578c27"
}