I know this error is infuriating—you're trying to get to your bank or email, and your browser throws up a scary red screen. But here's the thing: it's almost never a hacker. It's usually your computer's clock being wrong or a site owner forgetting to renew their SSL certificate. Let's fix it.
The Quick Fix: Sync Your System Clock
Your browser checks the SSL certificate's validity dates against your system's current date. If your clock is off by even a few minutes, the browser thinks the certificate is expired or not yet valid. This happens all the time after a CMOS battery dies on a desktop, or after a laptop's been in sleep mode for weeks. First, check the time in your taskbar or menu bar. If it's wrong, that's your culprit.
Here's how to sync it properly:
- Windows 10/11: Right-click the clock → Adjust date/time → toggle Set time automatically on. Also toggle Set time zone automatically on.
- macOS Ventura and up: Apple Menu → System Settings → General → Date & Time → toggle Set time and date automatically on. If it's grayed out, click the lock and enter your admin password.
- Linux (Ubuntu/Debian): Open
Settings→Date & Time→ toggleAutomatic Date & Timeto on. Or run this in a terminal:
sudo timedatectl set-ntp true
sudo systemctl restart systemd-timesyncd
After that, refresh the page. If the error disappears, you're done. But if it didn't, move on.
Why This Works
SSL certificates are issued for a specific window—say, from January 1, 2025 to April 1, 2025. Your browser checks that window against your system's clock. If your clock says it's May, the browser thinks the certificate is expired. By syncing your clock to the internet's atomic time, you're aligning your browser's judgment with reality.
When the Clock Isn't the Problem: Real Certificate Issues
If your clock is synced and the error persists, the site's certificate is genuinely expired or misconfigured. This happens more than you'd think—especially on small business sites or old blogs that nobody's maintaining. You'll see the same NET::ERR_CERT_DATE_INVALID error, or sometimes NET::ERR_CERT_AUTHORITY_INVALID if the issuer is unknown.
Here's what to do:
- Try a different browser. Sometimes one browser's cache of the certificate is stale. Open the same URL in Firefox or Safari. If it loads there, clear your original browser's SSL cache.
- Clear the SSL cache. In Chrome, go to
Settings→Privacy and security→Clear browsing data→ check Cached images and files and Cookies and other site data → click Clear data. Then restart Chrome. - Check the certificate details. Click the padlock icon (or the Not secure warning) in the address bar, then Certificate or Connection is secure → Certificate is valid. Look at the dates. If the current date is outside that range, the site's cert is expired.
If the certificate is expired, there's nothing you can do as a visitor—except contact the site owner. But sometimes you can access the site by clicking Advanced and then Proceed to [site] (unsafe). Only do this if you're absolutely sure the site is legitimate and you're not entering any passwords or credit card info. I've done it for a local restaurant's menu, but never for a bank.
Less Common Variations of This Error
Sometimes the error is different but smells the same. Here are three you'll run into:
- NET::ERR_CERT_AUTHORITY_INVALID — The cert was issued by an authority your browser doesn't trust. This often happens with corporate proxies or on old devices that haven't updated their root certificates. On Windows, update your OS. On Android, update your Google Play System in Settings.
- NET::ERR_CERT_COMMON_NAME_INVALID — The site's certificate doesn't match the domain name. You'll see this on misconfigured servers. If it's your own site, you need to fix the server config.
- ERR_SSL_VERSION_OR_CIPHER_MISMATCH — The server is using an outdated SSL protocol that your browser no longer supports. This is common on old IIS servers or embedded devices. There's no client-side fix—the site needs to upgrade its SSL/TLS settings.
Prevention: Keep This From Happening Again
You can't control what sites do, but you can control your own environment. Here's how to keep this error from ruining your day:
- Enable automatic time sync on every device. On Windows, it's on by default, but if you've ever manually changed it, it stays manual. Double-check it.
- Replace your CMOS battery if you're on a desktop and the time resets on every reboot. It's a cheap CR2032 battery—costs about $3.
- Keep your browser and OS updated. Browsers drop support for old ciphers and root certificates over time. Regular updates keep you aligned with the modern web.
- If you own a website, set up automatic renewal for your SSL certificates—services like Let's Encrypt do this out of the box. And set up monitoring (e.g., UptimeRobot) to alert you when your cert is within 30 days of expiry.
That's it. Nine times out of ten, it's the clock. Fix that, and you're back to browsing.