Security & Resilience
Shorter TLS Certificates: Test Your Renewal Automation
Prepare for shorter TLS certificate lifetimes by checking ACME clients, renewal scheduling, deployment, monitoring, and recovery on every endpoint.
In this article
Shorter TLS Certificates: Test Your Renewal Automation
Shorter certificate lifetimes make renewal reliability more important. The failure is rarely that an operator does not know a certificate expires. It is that issuance succeeds but deployment fails, a scheduler stops running, a DNS credential changes, or one overlooked endpoint keeps serving the old certificate.
As checked on October 13, 2026, Let's Encrypt's published timeline specifies a default-profile change to 64-day certificates on February 10, 2027 and 45-day certificates on February 16, 2028. Those are planned issuance changes, not a claim that every current certificate already has that lifetime. Check the authority's current guidance and the profile your client actually uses.
Inventory the served endpoints
List public hostnames, origin hostnames, load balancers, reverse proxies, mail services, APIs, and nonstandard ports that terminate TLS. Include the responsible team, certificate source, profile, renewal client, deployment mechanism, and observed expiry. A domain can have several independent certificates along its request path.
Separate CDN edge TLS from origin TLS. A healthy public certificate does not prove the origin certificate is valid. Likewise, a newly issued certificate stored on disk is not proof that every process has loaded it. Record the endpoint observation as the final evidence.
Follow renewal information where supported
Let's Encrypt recommends ACME Renewal Information, or ARI, where supported by the client. ARI helps communicate an appropriate renewal window. Verify support in your client's official documentation and inspect actual behavior rather than assuming the package version enables it automatically.
If ARI is unavailable, use scheduling compatible with the certificate's actual lifetime. Do not hardcode a 60-day renewal interval for a certificate that lasts 45 days. Keep a safety margin for failed attempts, deployment delay, and operational recovery. The detailed dates and ARI recommendation are documented in the authority's lifetime announcement.
Test the complete renewal path
Use the authority's staging environment where appropriate to avoid production rate-limit problems. Test domain validation, certificate issuance, secure storage, deployment, service reload, and endpoint verification. Use a harmless test hostname and supported client configuration. Do not replace production trust with staging certificates.
For DNS validation, confirm the credential can update only the required zone or record scope where supported. For HTTP validation, test routing, redirects, firewall, and challenge handling. Record which team owns changes that can break these paths. Renewal depends on more than the ACME client.
Make deployment atomic
Write new certificate material securely and avoid leaving a partially written bundle where a process may read it. Use a supported reload or restart procedure and verify that the service actually accepts the new material. Keep the private key under appropriate permissions and never print it in diagnostic logs.
On a cluster, verify every relevant node or load-balancer target. A rolling deployment can leave one node on the old certificate while casual checks hit only the healthy node. Monitor the served certificate identity and expiry from the relevant network locations.
Alert on expected behavior
An expiry warning is useful, but a missed renewal window can provide earlier notice. Alert when a scheduled run fails, no attempt occurs, validation repeatedly fails, deployment does not complete, or the served certificate remains old after a successful issuance.
Route alerts to an owner and backup. Test notification delivery with a synthetic event. A certificate dashboard nobody checks is not a recovery plan. Keep logs that identify hostname, client, authority, profile, attempt time, result, and deployment state without exposing key material.
A migration example
A team discovers that its renewal job runs weekly but its deploy script updates only the public reverse proxy. An internal API uses a copied certificate and receives no automatic reload. The team adds the API to the inventory, creates a supported deployment path, and tests both endpoints with staging fixtures.
The production rollout then verifies the actual served certificate at each endpoint. The team records how to restore the prior valid configuration if a reload fails. It does not wait for the future lifetime change to discover that the internal copy is unmanaged.
Common failure checks
Check clock accuracy, expired DNS credentials, changed challenge routing, full storage, file permissions, stopped schedulers, provider rate limits, and obsolete client versions. Preserve a runbook for each failure category. Repeatedly forcing renewal can worsen rate-limit problems without fixing the underlying issue.
Use the Website Status Checker for public reachability and the DNS Lookup for public validation records where relevant. These tools complement certificate-specific checks; they do not replace inspection of the served TLS certificate.
Keep certificate renewal and key compromise response separate. Ordinary expiry automation does not resolve an exposed private key; that event requires a new key and the applicable revocation and incident procedures.
Conclusion
Renewal readiness means proving the complete path from scheduling to the certificate a client sees. Inventory every TLS endpoint, use supported renewal timing, test issuance and deployment, and alert on missed behavior. Shorter lifetimes become manageable when renewal is routine and verifiable.