Views: 12
NET::ERR_CERT_DATE_INVALID Fix
NET::ERR_CERT_DATE_INVALID means the cert is expired, not yet valid, or your clock is wrong. Tell the three apart in 3 checks. Free instant check, no sign-up.
Check your domain for this issue now
Free, no sign-up. Runs the exact check this guide describes and shows what to fix.
Problem
Chrome shows NET::ERR_CERT_DATE_INVALID and blocks the page with “Your connection is not private.” The certificate is presented, but it falls outside its valid date range — or the device thinks it does.
Symptoms
- Chrome reports
NET::ERR_CERT_DATE_INVALID; Firefox showsSEC_ERROR_EXPIRED_CERTIFICATE(expired) orMOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE(not yet valid). - The error started at a specific moment, often overnight, with no deploy.
- Some devices reach the site fine while one machine or browser rejects it.
Top 3 Causes
- The certificate expired - The
notAfterdate is in the past. This is the most common cause: an auto-renewal job broke, a manual renewal was missed, or the renewed certificate was issued but never deployed to the server. Affects every visitor at once. - The certificate is not yet valid - The
notBeforedate is in the future. Rarer, but it happens with a freshly issued cert deployed too early, or a server whose clock is set ahead of real time. - The client’s clock is wrong - The certificate is fine; the device’s date, time, or timezone is off. A clock skewed into the future makes valid certs look expired; a clock set in the past makes new certs look not-yet-valid. The tell: only that one device fails.
Diagnose with DechoNet
- SSL Check to read the certificate’s actual notBefore and notAfter dates and confirm whether it is genuinely expired or still in range.
- HTTP Check to confirm the final HTTPS response once a renewed certificate is deployed.
Resolution Checklist
- First, rule out the client clock: does the site fail on every device, or just one? If just one, fix that device’s date/time and enable NTP — the certificate is fine.
- Run
openssl s_client -connect host:443 -servername host 2>/dev/null | openssl x509 -noout -datesto read the exactnotBefore/notAfter. - If expired, renew the certificate and deploy the new file to the server — issuing a renewal is not the same as installing it.
- If not-yet-valid, check the server’s own clock and confirm the issuance date; wait until
notBeforeor re-issue if the date was wrong. - Fix the renewal pipeline so it does not lapse again (e.g. confirm the
certbot/ACME timer is running and not erroring). - Re-run SSL Check to confirm the served certificate is now inside its validity window.
When to Escalate
- Escalate to your hosting or CDN provider if a managed certificate expired and you cannot trigger or deploy the renewal yourself.
- If the certificate is clearly valid but a fleet of devices all report the error, suspect a network-wide time source (bad NTP server, broken DHCP option) rather than the certificate.
Related Tools
Related Guides
Share this guide
[Ad] Guide Detail Inline