Automation

Automating Certificate Renewal with ACME Protocol

A step-by-step guide to implementing automated certificate renewal using the ACME protocol.

D
David Kim
Principal Engineer
December 12, 2025
10 min read

Understanding ACME Protocol

The Automatic Certificate Management Environment (ACME) protocol revolutionized certificate management by enabling fully automated certificate issuance and renewal. Originally developed by the Internet Security Research Group (ISRG) for Let's Encrypt, ACME is now widely adopted by certificate authorities and enterprise PKI solutions.

How ACME Works

ACME operates through a simple but secure process:

  1. Account Registration: Client creates an account with the CA
  2. Order Creation: Client requests a certificate for specific domains
  3. Authorization: Client proves domain control through challenges
  4. CSR Submission: Client submits Certificate Signing Request
  5. Certificate Issuance: CA issues the certificate
  6. Renewal: Process repeats automatically before expiration

Challenge Types

ACME supports multiple methods to prove domain control:

  • HTTP-01: Place a token at a specific URL path
  • DNS-01: Create a TXT record with a token value
  • TLS-ALPN-01: Respond with a special TLS certificate

Implementing ACME Automation

Step 1: Choose Your ACME Client

Popular ACME clients include:

  • Certbot: The original Let's Encrypt client
  • acme.sh: Lightweight bash script client
  • Caddy: Web server with built-in ACME
  • cert-manager: Kubernetes-native certificate management
  • TigerTrust Agent: Enterprise ACME client with advanced features

Step 2: Configure DNS or HTTP Challenge

For HTTP-01 Challenge

Ensure your web server can serve the challenge file:

location /.well-known/acme-challenge/ { root /var/www/acme-challenge; }

For DNS-01 Challenge

Configure API access to your DNS provider:

export DNS_PROVIDER=cloudflare export CF_API_TOKEN=your-api-token

Step 3: Request Initial Certificate

Using certbot as an example:

certbot certonly --dns-cloudflare \ --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \ -d example.com \ -d *.example.com

Step 4: Configure Automatic Renewal

Set up a cron job or systemd timer:

# Cron job for daily renewal check 0 0 * * * /usr/bin/certbot renew --quiet

Step 5: Automate Deployment

After renewal, deploy to your infrastructure:

certbot renew --deploy-hook "/path/to/deploy-script.sh"

Enterprise ACME Considerations

Internal PKI with ACME

Many enterprise PKI solutions now support ACME:

  • Microsoft ADCS with ACME add-ons
  • HashiCorp Vault PKI secrets engine
  • TigerTrust PKI Core

Multi-Environment Management

For enterprises with multiple environments:

  • Use different ACME accounts per environment
  • Implement rate limiting awareness
  • Configure fallback certificate authorities

Certificate Lifecycle Automation with ACME

Integrate ACME into your certificate lifecycle:

  1. Discovery: Identify ACME-eligible certificates
  2. Migration: Move from manual to automated issuance
  3. Monitoring: Track ACME renewal success rates
  4. Governance: Enforce ACME usage policies

Best Practices for ACME Automation

Security

  • Store ACME account keys securely
  • Use separate accounts for production and non-production
  • Implement certificate pinning carefully with automation
  • Monitor certificate transparency logs

Reliability

  • Test renewal process regularly
  • Set up monitoring for renewal failures
  • Implement alerting for failed renewals
  • Have manual renewal procedures as backup

Compliance

  • Ensure ACME CA meets compliance requirements
  • Document automated certificate processes
  • Maintain audit logs of certificate operations
  • Regular review of ACME configurations

Advanced ACME Features

Wildcard Certificates

Request wildcards using DNS-01 challenge:

certbot certonly --dns-cloudflare \ -d "*.example.com" \ -d "example.com"

Multiple Domains

Combine multiple domains in one certificate:

certbot certonly --webroot -w /var/www \ -d example.com \ -d www.example.com \ -d api.example.com

Certificate Transparency

ACME certificates are logged to CT by default, providing:

  • Public audit trail of certificates
  • Detection of misissued certificates
  • Compliance with browser requirements

Conclusion

ACME protocol automation is essential for modern certificate lifecycle automation. By implementing ACME properly, organizations can eliminate manual certificate management, reduce outage risk, and improve security posture.

TigerTrust provides enterprise-grade ACME capabilities with our integrated PKI platform, supporting both public and internal certificate authorities with advanced automation features.

TOPICS

certificate lifecycle automation
ACME
ssl certificate management software
automation

SHARE THIS ARTICLE

Ready to Transform Your Certificate Management?

See how TigerTrust can help you automate certificate lifecycle management at scale.