You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/hub/guides/acme-server.md
+25-16Lines changed: 25 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,29 +3,38 @@ title: Managed ACME Service
3
3
---
4
4
5
5
## 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.
7
7
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.
11
9
10
+
If your ACME client supports External Account Binding (EAB), this can be used to identify and authorize the client.
12
11
### Example
13
12
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.
19
18
20
-
## Setup your Managed Challenge
19
+
## Set up your Managed Challenge
21
20
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.
23
22
24
23
### 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.
28
34
29
-
### Setup your ACME client
35
+
### Limitations and Known Issues
30
36
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.
0 commit comments