Skip to content

Commit 3e21056

Browse files
Add link to managed acme service and update docs
1 parent c0f52aa commit 3e21056

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

docs/hub/guides/acme-server.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,38 @@ title: Managed ACME Service
33
---
44

55
## Summary
6-
The Hub API can provide a simple ACME service which proxies certificate orders to real Certificate Authorities and takes care of the domain validation on behalf of the calling ACME client.
6+
The Hub API can provide a simple ACME service *(currently experimental)* which proxies certificate orders to real Certificate Authorities and takes care of domain validation on behalf of the calling ACME client.
77

8-
This means you can point any ACME client client at the Hub ACME directory URL, ask it to complete HTTP domain validation (or none at all) and the hub will transparently order the corresponding certificate and complete domain validation on the clients behalf using a matching pre-configured a Managed Challenge.
9-
10-
If your ACME client support External Account Binding (EAB) this can be used to identify and authorize the client, if EAB is not supported you can optionally enable a unique ACME URL for each client.
8+
This means you can point any ACME client at the Hub ACME directory URL, ask it to complete HTTP domain validation (or none at all), and the hub will transparently order the corresponding certificate and complete domain validation on the client's behalf using a matching pre-configured Managed Challenge.
119

10+
If your ACME client supports External Account Binding (EAB), this can be used to identify and authorize the client.
1211
### Example
1312

14-
If you control a domain "projectbids.co.uk" and wanted to create a certificate "internal-app.projectbids.co.uk" from another device, that device has an ACME client but can't answer ACME http/dns challenges itself, you could instead use the hub to:
15-
- Configure a Managed Challenge which can update the target domain DNS.
16-
- Setup EAB credentials for your ACME client to use to identify itself to the hub and authorized it to use the required managed challenge.
17-
- Configure your ACME client to use the hub ACME API, providing the EAB credentials to identify itself to the hub during ACME account creation
18-
- Configure a new certificate in your ACME client with a domain/identifier matching the managed challenge.
13+
If you control a domain like `projectbids.co.uk` and want to create a certificate for `internal-app.projectbids.co.uk` from another device, that device may have an ACME client but can't answer ACME HTTP/DNS challenges itself (or you may not want it to). In that case, you can use the hub to:
14+
- Configure a Managed Challenge so the hub knows how to update the target domain's DNS zone.
15+
- Set up EAB credentials for your ACME client to identify itself to the hub, and authorize it to use the required Managed Challenge.
16+
- Configure your ACME client to use the Hub ACME API, providing the EAB credentials to identify itself to the hub during ACME account creation.
17+
- Configure a new certificate in your ACME client with a domain/identifier matching the Managed Challenge.
1918

20-
## Setup your Managed Challenge
19+
## Set up your Managed Challenge
2120

22-
Configure a [managed challenge](./managedchallenges.md) in the hub to answer challenges for your target domain.
21+
Configure a [Managed Challenge](./managedchallenges.md) in the hub to answer challenges for your target domain.
2322

2423
### Creating EAB Credentials
25-
- Under Settings > Users, create an application security principal to represent your ACME client e.g. *Example ACME Client on firewall-01*. Assign the role *Managed ACME Consumer*
26-
- Under API Access, select Add API Token. Provide a descriptive title e.g. *Example ACME EAB Credentials*, select the security principle you created, select/scope the token to the *Managed ACME Consumer* role.
27-
- Select *View as EAB* against the credential, copy the displayed values for use in your ACME client during initial ACME account creation.
24+
- Under Settings > Users, create an application security principal to represent your ACME client (e.g., *Example ACME Client on firewall-01*). Assign the role *Managed ACME Consumer*.
25+
- Under API Access, select Add API Token. Provide a descriptive title (e.g., *Example ACME EAB Credentials*), select the security principal you created, and scope the token to the *Managed ACME Consumer* role.
26+
- Select *View as EAB* against the credential, then copy the displayed values for use in your ACME client during initial ACME account creation.
27+
28+
### Set up your ACME client
29+
30+
In your ACME client of choice (on any device that can communicate with the hub API):
31+
- Configure the client to use the `<your Hub API URL>/acme/directory` ACME service and provide the EAB credentials you have created.
32+
- The ACME client will register a new account against the ACME service.
33+
- You can then order a new certificate for identifiers matching your Managed Challenge that you configured in the hub.
2834

29-
### Setup your ACME client
35+
### Limitations and Known Issues
3036

31-
In your ACME client of choice (on any device that can communicate with the hub API), configure the client to use the `<your hub api url>/acme/directory` ACME service and provide the EAB credentials you have created. The ACME client will register a new account against the ACME service, you can then order a new certificate for identifiers matching your managed challenge that was configured in the hub.
37+
- This method of "proxying" ACME orders is non-standard and may not work with every ACME client. It relies on ACME clients allowing authorizations to be instantly valid, but the order itself taking some time to process.
38+
- The choice of actual ACME CA used for the real certificate order depends on the hub's default CA selection. The client cannot currently indicate a preference; in the future, this may be possible using ACME profiles.
39+
- The temporary hub-managed certificate created for the order will be discarded as soon as the client downloads the final certificate. It will not participate in ACME ARI, etc., and automated renewal will depend on the client.
40+
- Currently ACME EAB support is required for account creation.

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ export default {
118118
label: 'Managed Challenges',
119119
items: [
120120
'hub/guides/managedchallenges',
121+
'hub/guides/acme-server',
121122
]
122123
},
123124
{

0 commit comments

Comments
 (0)