Skip to content
RU

NET::ERR_CERT_VALIDITY_TOO_LONG: How to Fix Certificate Lifetime

Open notebook with a pen, laptop behind showing a blurred browser warning with red triangle

What it means: The public certificate is valid longer than Chrome allows for its issue date: 398 days, 200 since March 2026.

  1. Reload; then try another network to compare
  2. If it fails everywhere: measure the certificate's lifetime
  3. Ask the CA to reissue within the limit
  4. Deploy it on every node and reload
  5. Automate renewals before limits shrink further

Test your URL now

Runs a full TLS check: handshake, protocol versions, certificate chain, trust and expiry.

Check your site's SSL →

What NET::ERR_CERT_VALIDITY_TOO_LONG means

NET::ERR_CERT_VALIDITY_TOO_LONG is Chromium net error -213, "The certificate's validity period is too long." Chrome computes notAfter minus notBefore of the server certificate and compares it with the maximum lifetime allowed on the date the certificate was issued (its notBefore). It is a certificate-verification error in the TLS handshake. It is not expiry (ERR_CERT_DATE_INVALID), not a name mismatch and not related to your system clock, because only the two dates inside the certificate are compared.

Chromium applies these limits, taken from its source code:

Certificate issued (notBefore)Maximum validity
1 September 2020 to 14 March 2026398 days
On or after 15 March 2026200 days
On or after 15 March 2027100 days
On or after 15 March 202947 days

The 200, 100 and 47-day steps follow CA/Browser Forum ballot SC-081v3 and were added to Chromium in September 2025. Two conditions matter: the check runs only for certificates that chain to a publicly trusted root (is_issued_by_known_root), and a certificate with a notBefore later than its notAfter is flagged too. Certificates from private or enterprise CAs are never checked.

Causes in Chrome, Edge, Firefox and Safari

BrowserWhat you seeMost common trigger
Chrome"Your connection is not private", NET::ERR_CERT_VALIDITY_TOO_LONGPublic certificate issued after 15 March 2026 with more than 200 days of validity
EdgeThe same code (Chromium)Same as Chrome
FirefoxNo dedicated error codeMozilla enforces lifetimes through its Root Store Policy rather than a separate browser error
SafariIts own wording, never the Chrome codeApple rejects certificates issued on or after 1 September 2020 with more than 398 days of validity

Publicly trusted CAs are not allowed to issue over-long certificates, so this error is rare and can point to one of three things: a certificate issued with an outdated product setting just after a deadline (for example a "1-year" certificate dated after 15 March 2026), a mis-issued certificate that the CA should revoke and replace, or a certificate with broken dates. Apple counts 398 days as 398 periods of 86,400 seconds, and any time beyond that is an extra day.

Self-signed certificates, internal CAs, and the certificates generated by antivirus or corporate TLS inspection do not chain to a public root, so a 10-year internal certificate never produces this code. If such a certificate fails, you will see a trust error such as ERR_CERT_AUTHORITY_INVALID instead.

Behind Cloudflare, nginx or another proxy

The browser judges the certificate served by whatever terminates TLS. On a Cloudflare-proxied hostname that is Cloudflare's edge certificate, which Cloudflare issues within the limits, so your origin certificate is not what visitors see. The relevant proxy check is the opposite case: a hostname set to DNS-only, a second load balancer, or an old node still serving a certificate you replaced elsewhere.

# compare what each backend or edge IP really serves
for ip in 203.0.113.10 203.0.113.11; do
  echo "== $ip"
  openssl s_client -connect $ip:443 -servername example.com </dev/null 2>/dev/null \
    | openssl x509 -noout -serial -startdate -enddate
done

Every node should return the same serial and dates. If one differs, update the certificate on that node (nginx ssl_certificate, HAProxy crt, the load balancer listener).

If you own the site

  1. Measure the lifetime of the deployed certificate.
    openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null \
      | openssl x509 -noout -startdate -enddate > dates.txt
    start=$(grep notBefore dates.txt | cut -d= -f2)
    end=$(grep notAfter dates.txt | cut -d= -f2)
    echo $(( ($(date -d "$end" +%s) - $(date -d "$start" +%s)) / 86400 )) days
    Compare the result with the limit for its notBefore date in the table above (GNU date syntax).
  2. Ask the CA to reissue within the limit. A certificate issued now (October 2026) may last at most 200 days. A CA that delivered more has mis-issued; request a replacement and, if needed, a revocation of the old one.
  3. Automate renewals. With 100-day certificates from 15 March 2027 and 47-day certificates from 15 March 2029, manual yearly renewals stop working. Use ACME (certbot, acme.sh, Caddy, cert-manager) and check that the renewal hook reloads the server.
  4. Keep internal names on an internal CA. If you need multi-year certificates for devices, issue them from a private CA that browsers trust through enterprise policy; the lifetime check does not apply there.
  5. Deploy and reload on every node: nginx -t && systemctl reload nginx.

Certificates issued before 15 March 2026 with up to 398 days remain valid until they expire, so there is no need to replace a compliant certificate early.

If you are a visitor

This is a server-side certificate problem; a visitor cannot fix it.

  • Changing the system clock, clearing the cache or switching DNS does not help, because Chrome compares two dates written inside the certificate.
  • Another network will not help either, unless a different network reaches a different server that has a valid certificate.
  • Do not enter passwords or payment data after clicking through any certificate warning. Tell the site owner the exact code; it tells them precisely what to reissue.

How to confirm the fix

Re-run the lifetime calculation against the live host and confirm the number of days is within the limit for the notBefore date, then reload the page in Chrome in a new tab. For an external view of the dates, issuer and chain, check the hostname with the enterno.io SSL checker.

Related errors

CertificateExpiry, issuer, domains (SAN)
ChainIntermediate and root CA validation
TLS ProtocolTLS version and cipher suite
VulnerabilitiesHeartbleed, POODLE, weak ciphers

Why teams trust us

TLS 1.3
supported
Full
CA chain check
3,158
checks in 30 days
30/14/7
days-to-expiry alerts

How it works

1

Enter domain

2

TLS chain verified

3

Expiry date & vulnerabilities

What Does the SSL Check Cover?

SSL/TLS is the encryption protocol that protects data between the browser and server. Our tool analyzes the certificate, chain of trust, TLS version, and knownvulnerabilities.

Certificate Details

Issuer, validity period, signature algorithm, covered domains (SAN), and validation type (DV/OV/EV).

Chain of Trust

Full chain verification: from leaf certificate through intermediates to root CA.

TLS Analysis

Protocol version (TLS 1.2/1.3), cipher suites, Perfect Forward Secrecy (PFS) support.

Expiry Alerts

Set up a monitor — get Telegram and email alerts 30/14/7 days before expiration.

DV vs OV vs EV Certificates

DV (Domain Validation)
  • Confirms domain ownership only
  • Issued in minutes automatically
  • Free via Let's Encrypt
  • Suitable for most websites
  • Most common certificate type
OV / EV
  • Organization (OV) or Extended Validation (EV)
  • Issued in 1-5 business days
  • Costs $50 to $500/year
  • For finance, e-commerce, government sites
  • Increases user trust

Who uses this

DevOps

SSL certificate monitoring

Security

TLS config audit

SEO

HTTPS as ranking factor

E-commerce

customer trust

Common Mistakes

Expired certificateBrowsers block sites with expired SSL. Set up auto-renewal or monitoring.
Incomplete certificate chainWithout intermediate CA, some browsers and bots cannot verify the certificate.
Mixed content on HTTPS siteHTTP resources on an HTTPS page — the browser lock icon disappears, reducing trust.
Using TLS 1.0/1.1Legacy TLS versions have known vulnerabilities. Use TLS 1.2+ or 1.3.
Domain mismatch in certificateThe certificate must cover all site domains, including www and subdomains.

Best Practices

Set up auto-renewalLet's Encrypt + certbot with cron — certificate renews automatically every 60-90 days.
Enable HSTSStrict-Transport-Security header forces browsers to always use HTTPS.
Use TLS 1.3TLS 1.3 is faster (1-RTT handshake) and safer — legacy ciphers removed.
Monitor expiration datesCreate a monitor on Enterno.io — get notified well before expiration.
Verify chain after renewalAfter certificate renewal, confirm that intermediate certificates are installed.

Get more with a free account

SSL certificate monitoring, check history and alerts 30 days before expiry.

Sign up free

Learn more

Sources

Frequently Asked Questions

What is the maximum certificate validity today?

For publicly trusted certificates issued on or after 15 March 2026 it is 200 days. It drops to 100 days on 15 March 2027 and 47 days on 15 March 2029.

Does this affect my internal or self-signed certificates?

No. Chrome only applies the lifetime check to certificates that chain to a publicly trusted root, so private CA certificates can have longer lifetimes.

Is my 398-day certificate from 2025 still fine?

Yes. The limit depends on the issue date, and a certificate issued before 15 March 2026 with up to 398 days remains valid until it expires.

Can I turn the check off in Chrome?

Treat it as a server problem rather than a browser setting: the reliable fix is a certificate reissued within the limit, which then works in every browser.

Why does Firefox load the site when Chrome refuses it?

Firefox has no dedicated error for certificate lifetime; Mozilla enforces limits through its Root Store Policy. Chrome checks the dates itself, so it rejects an over-long public certificate that other browsers may still accept.

Try the live tool that powered this guide

Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.