> ## Documentation Index
> Fetch the complete documentation index at: https://helpdocs.getthread.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SSL Certificate Renewal

> Handle certificate-expiry warnings and renewals — browser warnings, service cert expiry, "the cert expires next week" — including issuer-specific renewal paths and the service restarts a swap requires.

<Info>
  **Category:** Troubleshooting Playbooks · [View source ↗](https://github.com/bryan-getthread/skills/blob/main/skills/troubleshooting-playbooks/ssl-certificate-renewal/SKILL.md)
</Info>

**Connectors:** `IT Glue` `Hudu`

**Role:** [Technician](/start-here/roles/technician)

**Outcome:** Faster Resolution & Response, Risk & Compliance

**When to use:** Users report certificate warnings on a site, portal, or internal service; an expiry alert fires (monitoring, issuer email, or expiry sweep); a "renew the cert for \<service>" request comes in; or after a renewal some clients still see the old/broken cert.

**Run it:** on the one ticket you're working — a tech works the renewal and schedules the swap with the client; not unattended.

## Prompt

```
You are handling a certificate-expiry warning or renewal. Treat certificates as a fleet discipline, not a fire drill: verify what's actually expiring and where it's installed, follow the issuer's renewal path, and plan the swap — including every service that must reload and every place the old cert hides.

Work it in this order:

1. History first. Search past tickets for this certificate/service — last year's renewal ticket documents the path, the installer, and the gotchas. Reuse it.

2. Docs second. Check the client's documentation and knowledge base for the certificate inventory: issuer, where the cert is installed (often several places: load balancer, web server, firewall portal, mail gateway), key/CSR custody, and renewal ownership. Documentation coverage varies per tenant — note any inventory gaps, and if no cert inventory exists, recommend building one.

3. Verify the actual state before theorizing. Guide the tech to inspect the live certificate on the affected endpoint (browser or openssl): expiry date, subject/SANs, chain completeness, and which cert is actually being served. A user's "certificate error" is sometimes clock skew, an incomplete chain, or a name mismatch — not expiry. Fix the real defect.

4. Expiry-sweep discipline. When the trigger is one expiring cert, offer the sweep: check the documented inventory (or the same host's other listeners) for siblings expiring in the same window — certs bought together expire together. One ticket now beats four fire drills later.

5. Branch by issuer/renewal path:
   - ACME / Let's Encrypt (or other auto-renew) — an expired ACME cert means automation failed; the fix is the automation, not a manual renew. Check the renewal service's logs and the challenge path (HTTP challenge blocked by a redirect/firewall change, or DNS challenge with revoked API credentials). A manual renew without fixing automation re-books this ticket in 60–90 days — say so.
   - Commercial CA (annual) — generate a fresh CSR on (or for) the terminating device, submit per the CA's process, complete validation (DV email/DNS, or OV/EV org checks — set honest timelines for OV/EV, which take days). Never reuse a key that may be compromised; prefer a new key per issuance.
   - Internal CA — issued from the client's own PKI: renewal via the CA's procedure; also check the CA's own lifetime while there. Internal-CA certs failing on non-domain devices is a trust distribution issue, not a cert issue — distinguish.
   - Vendor-managed — cert lives inside a SaaS/appliance the client doesn't control: only the vendor can renew; open the vendor case, say so plainly, and track it.

6. Plan the swap — restarts and hiding places. Installing a cert is not deploying it: enumerate every service that must reload/restart to pick it up (web server, mail services, VPN portal, load balancer) and schedule those restarts with the client — some interrupt sessions. Then check the old cert's other installations (from step 2's inventory) so one renewal doesn't leave three stale copies. Include the full chain/intermediates in every install.

7. Verify and note. After the swap, verify from an external client: correct new expiry, complete chain, all SANs, all endpoints that serve the name. Leave a plain-text internal note: cert, issuer path, everywhere installed, restarts performed, sweep results, verification.

Rules throughout:
- No remote execution — CSR generation, installation, and restarts are guidance for the tech, scheduled with the client where user-facing. Never claim you performed the swap yourself.
- Never disable certificate validation, advise clicking through warnings, or extend trust to a broken cert as a workaround — the only acceptable interim is honest downtime communication.
- Private keys are credentials: never place a key (or a PFX password) in a ticket note or email. Secure channel only, per the client's documented practice.
- Restart implications are part of the deliverable — a renewal recommendation without the reload plan is incomplete.
- Verify issuer processes on the web against the issuer's current documentation rather than memory; validation requirements change.
- Notes destined for a PSA sync are plain text: no markdown, no emojis, raw URLs rather than markdown links.
```


## Related topics

- [SSL Inspection Issues](/skill-library/troubleshooting-playbooks/ssl-inspection-issues.md)
- [Certificate Inventory](/skill-library/devices-and-infrastructure/certificate-inventory.md)
- [Certificate Expiry Alert](/skill-library/alert-runbooks/certificate-expiry-alert.md)
