This site requires JavaScript to be enabled

Using ACME for automated SSL/TLS certificate management

23693 views

16.0 - Last modified on 2026-09-11 Revised by Summer Scanlan

15.0 - Last modified on 2026-09-12 Revised by Steffi Griggs

14.0 - Last modified on 2026-09-12 Revised by Steffi Griggs

13.0 - Last modified on 2026-07-09 Revised by Steffi Griggs

12.0 - Last modified on 2026-07-09 Revised by Steffi Griggs

11.0 - Last modified on 2026-07-09 Revised by Steffi Griggs

10.0 - Last modified on 2026-07-09 Revised by Steffi Griggs

9.0 - Last modified on 2026-07-09 Revised by Steffi Griggs

8.0 - Last modified on 2026-07-03 Revised by Gillian Hu

7.0 - Last modified on 2026-04-22 Revised by Jonathon Taylor

6.0 - Last modified on 2026-04-22 Revised by Jonathon Taylor

5.0 - Last modified on 2026-04-22 Revised by Jonathon Taylor

4.0 - Last modified on 2026-04-22 Revised by Jonathon Taylor

3.0 - Last modified on 2026-04-22 Revised by Jonathon Taylor

2.0 - Last modified on 2026-04-22 Revised by Jonathon Taylor

1.0 - Created on 2023-07-11 Authored by Jonathon Taylor

Automated Certificate Management Environment (ACME)

Background

The Automated Certificate Management Environment (ACME) is a protocol that enables the automated issuance and renewal of SSL/TLS certificates. At UC Berkeley, ACME is primarily used to obtain Domain Validated (DV) certificates via Let's Encrypt or Organization Validated (OV) certificates via Sectigo. While the certificate types are functionally similar, your choice of Certificate Authority (CA) may be influenced by your server's network configuration.

Comparison of ACME services provided by Sectigo and Let's Encrypt at UC Berkeley.
Feature ACME + Sectigo ACME + Let's Encrypt
Max Validity 200 days (as of March 2026)* 90 days (as of 2025)*
Eligibility Berkeley Departments Anyone
Automation Fully automatic install/renewal Fully automatic install/renewal
Validation Domains are pre-validated Per-client challenge required
Management Central reporting (Sectigo Web App) No central reporting

* Note: Industry standards for certificate lifespans are continuesly shortening. Refer to Sectigo and Let's Encrypt updates.


Recommendations

Internet-Available Sites

If your web server is open to the Internet, the simplest option is a free CA like Let's Encrypt or ZeroSSL. These provide trusted certificates as long as your server can be reached via HTTP for validation.

Firewalled or Internal Sites

If your servers are behind a firewall or not open to the Internet, use the Sectigo ACME service. This allows for consistent configuration across both open and restricted environments but requires a more complex initial setup.

Protecting ACME Secrets

Unlike Let's Encrypt, Sectigo's ACME secrets can cover multiple domains. These secrets must be handled with extreme care. If compromised, they can be used to request an unlimited number of certificates for any delegated domain assigned to that account.

IMPORTANT: Per the MSSND, keys must be resistant to offline attacks. External Account Binding (EAB) credentials and generated key pairs must be protected according to the UC Encryption Standard.

Access to ACME secrets must be limited to required personnel. We recommend storing these in a secure vault or password manager such as LastPass Business (KB0013779).


Process for Sectigo ACME

Prerequisites

  • You must be a Departmental Certificate Administrator (DCA).
  • The FQDNs requiring certificates must be delegated to your department.

Step-by-Step Configuration

  1. Log into the Cert-Manager portal.
  2. Navigate to Domains and expand berkeley.edu to see your delegated domains.
  3. Ensure all required FQDNs (e.g., app1.dept.berkeley.edu) are explicitly listed. Click the Green Plus (+) button to add missing FQDNs.

    Adding an FQDN in Cert-Manager

  4. Navigate to Enrollment > ACME in the left sidebar.
  5. Select https://acme.sectigo.com/v2/OV and click Accounts.
  6. Click the Green Plus (+) to create a new ACME account (e.g., training_app1).
  7. Click the plus sign next to Domains to add your FQDNs to this specific account.
    Warning: Never assign wildcard domains to an ACME account.

    Mapping domains to an ACME account

  8. The next screen displays your External Account Binding (EAB) details. Save these securely in a password manager. You will need the URL, Key ID, and HMAC Key.

    EAB credentials display screen


Connecting with Certbot

Sectigo recommends Certbot as the supported ACME client. Follow the Official Certbot Instructions for your specific OS and web server.

Example Commands

Linux (Standalone):

sudo certbot certonly --standalone --non-interactive --agree-tos --email {user@berkeley.edu} --server https://acme.sectigo.com/v2/OV --eab-kid {Key_ID} --eab-hmac-key {HMAC_Key} --domain {your.domain.edu} --cert-name {friendly_name}

Windows (Admin CMD):

certbot certonly --standalone --non-interactive --agree-tos --email {user@berkeley.edu} --server https://acme.sectigo.com/v2/OV --eab-kid {Key_ID} --eab-hmac-key {HMAC_Key} --domain {your.domain.edu} --cert-name {friendly_name}

Need Help? Contact the CalNet team at calnet-admin@berkeley.edu for assistance with ACME account setup or certificate delegation.