Renewing Your SSL Certificate
SSL certificates have a limited validity period — typically one year (up to 398 days maximum, as of industry standards set by the CA/Browser Forum). Renewing your certificate before it expires is critical to maintaining your website’s security and avoiding browser warnings.
Why Renewal Matters
When an SSL certificate expires:
- Browsers display security warnings such as “Your connection is not private,” which drives visitors away.
- Search engine rankings can drop as search engines may penalize insecure sites.
- Online transactions stop as users cannot securely submit payment or personal data.
- Trust is lost — visitors may not return after seeing a security warning.
When to Renew
- Most SSL providers send renewal reminders 30, 60, and 90 days before expiration.
- You can typically renew up to 90 days before the expiration date without losing any remaining time — the unused days are added to the new certificate’s validity period.
- Set your own reminders so you don’t rely solely on provider notifications.
How to Check Your Certificate’s Expiration Date
In the Browser
- Visit your website.
- Click the padlock icon in the address bar.
- Click “Certificate” or “Connection is secure” → “Certificate is valid.”
- View the “Valid to” or “Expires on” date.
Via Command Line
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates
Via Online Tools
Use SSL Labs or SSL Checker to view certificate details including the expiration date.
Renewal Process
Step 1: Generate a New CSR (If Required)
Some providers require a new Certificate Signing Request for renewal. Generate one using OpenSSL:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
See How to Generate a CSR Using OpenSSL for detailed instructions.
Step 2: Submit the Renewal
- Log in to your SSL provider’s account.
- Navigate to the SSL certificate you want to renew.
- Select the Renew option.
- Submit the new CSR if required.
- Complete the validation process (same as the original issuance — DV, OV, or EV).
Step 3: Complete Domain Validation
Depending on your certificate type, you may need to:
- Respond to a validation email sent to the domain’s administrative contact.
- Add a DNS record (CNAME or TXT) to your domain’s DNS settings.
- Upload a file to a specific path on your web server.
Step 4: Download and Install the New Certificate
Once issued, download the new certificate and install it on your server:
- Replace the old certificate files with the new ones.
- Update any intermediate/CA bundle certificates.
- Restart your web server to apply the changes.
See Finding and Installing Your SSL Certificate for platform-specific installation instructions.
Step 5: Verify the Installation
- Visit your site and check for the padlock icon.
- Verify the new expiration date in the certificate details.
- Run an SSL Labs test to confirm everything is working correctly.
Automating Renewal with Let’s Encrypt
If you use Let’s Encrypt certificates, renewal can be fully automated using Certbot:
# Test auto-renewal
sudo certbot renew --dry-run
# Set up a cron job for automatic renewal
sudo crontab -e
# Add: 0 3 * * * certbot renew --quiet --post-hook "systemctl reload nginx"
Let’s Encrypt certificates are valid for 90 days, and Certbot will automatically renew them when they are within 30 days of expiration.
Common Renewal Issues
| Issue | Solution |
|---|---|
| Forgot to renew, certificate expired | Purchase/renew immediately; some CAs offer expedited issuance |
| Validation email not received | Check spam folder; ensure the admin email address is current |
| New certificate doesn’t work | Verify you installed both the certificate and the updated CA bundle |
| Old certificate still showing | Clear server cache, restart the web server, and clear browser cache |
| CSR errors during renewal | Generate a fresh CSR and private key pair |
Best Practices
- Renew early — start the renewal process at least 30 days before expiration.
- Set calendar reminders independent of provider notifications.
- Automate where possible — use ACME clients like Certbot for Let’s Encrypt.
- Keep records of certificate expiration dates for all your domains.
- Test after installation to confirm the new certificate is active and the chain is complete.