NET::ERR_CERT_DATE_INVALID: Jak pochopit a vyřešit chybu platnosti certifikátu krok za krokem

Chyba NET::ERR_CERT_DATE_INVALID patří mezi nejčastější problémy při prohlížení zabezpečených webových stránek. Uživatelé ji často vidí náhle a mohou být zmateni, proč se stránka najednou nechce načíst. V tomto článku si podrobně vysvětlíme, co tato zpráva znamená, jaké jsou nejčastější příčiny, a hlavně jak postupovat při řešení – jak na straně klienta, tak na straně serveru. Budeme pracovat s různými verzemi zápisu chyby, včetně NET::ERR_CERT_DATE_INVALID a dalších variant, abychom vám poskytli praktický a použitelný návod pro každé prostředí.
Co znamená NET::ERR_CERT_DATE_INVALID a proč se tato chyba zobrazuje
Chyba NET::ERR_CERT_DATE_INVALID signalizuje, že certifikát používaný navázaným spojení TLS/SSL neodpovídá aktuálnímu datu a času, nebo jeho platnost je jinak zpochybněna. Certifikát má určitou platnost: „Not Before“ (datum počátku platnosti) a „Not After“ (datum ukončení platnosti). Pokud se během navazování spojení zjistí, že systémový čas klienta, serveru, nebo samotný certifikát neodpovídá těmto hodnotám, prohlížeč zablokuje spojení a zobrazí uvedenou chybu. Varianta NET::ERR_CERT_DATE_INVALID se v různých prohlížečích a operačních systémech objevuje pod různými variantami zápisu, které však vyjadřují stejný problém.
Hlavní příčiny chyby NET::ERR_CERT_DATE_INVALID
Nesprávný systémový čas na klientovi
Jeden z nejběžnějších důvodů je nepřesný čas na vašem počítači, tabletu či telefonu. Když je hodnota o několik minut či hodin mimo skutečný čas, platnost certifikátu může být vyhodnocena jako neplatná. To se týká také změn časových pásem a kdy byl zařízení naposledy synchronizován s internetovým časem.
Vypršelý certifikát nebo dříve vypršela platnost
Pokud certifikát certifikační autority (CA) již není platný podle Not After a nebyl prodloužen, prohlížeč zobrazí NET::ERR_CERT_DATE_INVALID. Někdy může jít o dočasný problém při obnově certifikátu, který se ještě nepropagoval do všech částí infrastruktury.
Chyba na straně serveru: nesprávné načítání certifikačního řetězce
Server může dodávat neúplný nebo špatně uspořádaný certifikát (chybějící mezičlánek), což způsobí, že klient nemůže ověřit platnost celého řetězce certifikátů. I když samotný certifikát není vypršený, chybějící nebo špatně načtený řetězec způsobí chybu, která se může projevit jako NET::ERR_CERT_DATE_INVALID.
Nesprávný čas na serveru
Podobně jako u klienta může být problém, pokud server má špatný systémový čas. TLS handshake a časová razítka hrají roli i při vyhodnocování platnosti certifikátu. Pokud není server nastaven na správný čas, může docházet k dočasnému vyhodnocení platnosti proti jeho vlastnímu času.
Doména, SNI a platnost certifikátu souvisejících domén
Prohlížeč může zablokovat spojení, když certifikát neodpovídá doméně, na kterou se uživatel pokouší připojit, nebo pokud dojde ke zlomu v zabezpečení způsobenému chybným nastavením SNI (Server Name Indication). I v tomto případě se může objevit varovná zpráva o neplatnosti certifikátu, která v některých situacích bývá zaměněna s NET::ERR_CERT_DATE_INVALID.
Jak se projevuje chyba NET::ERR_CERT_DATE_INVALID v praxi
Podle prohlížeče a zařízení může být zobrazení odlišné, ale typické znaky zahrnují:
- Varovný dialog s informací, že spojení není soukromé a certifikát je neplatný.
- Žluté nebo červené pruhy v adresním panelu s upozorněním na bezpečnost.
- Návrat na předchozí stránku s textem, že certifikát není důvěryhodný pro danou doménu.
- V některých případech se zobrazí jasné sdělení jako NET::ERR_CERT_DATE_INVALID v textu chyby.
Diagnostika: jak zjistit příčinu chyby NET::ERR_CERT_DATE_INVALID
Krok 1: Ověřte čas na klientovi
Nejprve zkontrolujte, zda má vaše zařízení správný čas a datum a zda je zapnutá synchronizace s internetovým časem (NTP). Na různých platformách to vypadá následovně:
- Windows: Ovládací panely > Datum a čas > Nastavit čas automaticky (NTP).
- macOS: Předvolby systému > Datum a čas > Automaticky nastavit datum a čas.
- Linux (terminál): timedatectl status a následně sudo timedatectl set-ntp true.
Po provedení synchronizace načtěte stránku znovu a zkontrolujte, zda se zobrazení chyby změnilo.
Krok 2: Zkontrolujte datum a čas serveru
Pokud máte administrativní přístup ke serveru, zkontrolujte také jeho datum a čas. Na serveru by měl být vybraný spolehlivý časový zdroj. Příkazové ukázky:
# Linux
timedatectl status
# pro aktualizaci NTP
sudo timedatectl set-ntp true
# Windows (PowerShell)
Get-Date
w32tm /query /status
Chyba na serveru, pokud není čas správně synchronizován, může vést k problémům s platností certifikátu a k chybě NET::ERR_CERT_DATE_INVALID.
Krok 3: Zkontrolujte platnost a detaily certifikátu
Ověřte Not Before a Not After datumu certifikátu a ujistěte se, že odpovídají očekávané platnosti. Příkaz pro OpenSSL:
openssl x509 -in -text -noout
Hledejte například Not Before: 2024-01-01T00:00:00Z a Not After: 2025-01-01T23:59:59Z. Porovnání ukazuje, zda certifikát je platný pro aktuální čas.
Krok 4: Prohlédněte si řetězec certifikátů
Někdy problém není s samotným certifikátem, ale s řetězcem CA. Zkontrolujte, zda server poskytuje kompletní a správný chain certifikátů. Příkaz s klientským spojeními:
openssl s_client -connect example.com:443 -servername example.com -showcerts
Hledejte, zda je v chainu chybějící mezičlánek (intermediate) a zda koncový certifikát odpovídá doméně.
Jak postupovat na straně klienta při NET::ERR_CERT_DATE_INVALID
Krok 1: Synchronizace času a data
Největší a nejčastější změna, která problém vyřeší, je nastavení správného času a data. Po dokončení synchronizace je vhodné znovu načíst stránku a sledovat, zda se chybová zpráva objevuje dále.
Krok 2: Vymazání SSL cache a DNS cache
V některých případech může být problém uložen v cache prohlížeče. Postup pro nejpoužívanější prohlížeče:
- Google Chrome/Chromium: Nastavení > Soukromí a zabezpečení > Zobrazit rozšířené nastavení > Zrušit SSL state (v sekci Ochrana soukromí). Poté restartujte prohlížeč.
- Mozilla Firefox: Otevřít o stránku about:preferences#privacy a vymazat data mezipaměti a cookies, případně refresh cache
- Microsoft Edge: Nastavení > Ochrana soukromí, vyhledávání a služby > Vymazat data procházení
Krok 3: Zkouška na jiném zařízení a síti
Pro potvrzení, zda problém není lokální, zkuste otevřít stejnou stránku v jiném zařízení nebo na jiné síti (např. mobilní data). Pokud se na jiném zařízení problém neobjeví, pravděpodobně jde o lokální konfiguraci.
Krok 4: Ověření domény a zabezpečení na straně klienta
Ujistěte se, že adresa URL odpovídá certifikátu. Pokud používáte zrcadla, CDN nebo více domén, zkontrolujte správnost DNS a skutečné cílové domény. Někdy je problém způsobený jedním z distribučních prvků, který poskytuje jiný certifikát, a to může vést k chybě NET::ERR_CERT_DATE_INVALID.
Jak postupovat na straně serveru při NET::ERR_CERT_DATE_INVALID
Oprava certifikátu a řetězce
1) Zkontrolujte, zda certifikát nebyl vypršený a zda datum Not Before/Not After odpovídá realitě. 2) Zkontrolujte, zda server posílá kompletní řetězec TLS, včetně všech mezičlánků (intermediate certs). 3) Pokud je řetězec chybný, vygenerujte nový certifikát a znovu jej nasadte.
Osvědčení a obnovení pro Let’s Encrypt
Pro servery, které používají Let’s Encrypt, je důležité nastavit automatickou obnovu certifikátu. Certbot a podobné nástroje umožňují automatickou obnovu a nasazení. Příklady běžných kroků:
# Let’s Encrypt s Certbot (příklad na Nginx)
sudo certbot renew --dry-run
sudo systemctl reload nginx
Tím zajistíte, že certifikáty budou aktuální a že řetězec bude správně distribuovaný po celé infrastruktuře.
Kontrola kalendáře na serveru
Správný čas na serveru je nezbytný pro správné vyhodnocení platnosti certifikátu. Zranachy mohou vést k dočasným chybám, i když samotný certifikát je platný. Ujistěte se, že server sbírá čas z důvěryhodného časového zdroje a že časové zóny jsou korektní.
Konfigurace TLS a šíření certifikátu
Nezapomeňte také na správné nastavení TLS verzí a cipher suites. Některé starší konfigurace mohou mít potíže s novějšími certifikáty a chainem. Po změně je vhodné testovat spojení pomocí nástrojů jako openssl s_client a online nástrojů pro test TLS.
Prevence: jak minimalizovat výskyt NET::ERR_CERT_DATE_INVALID v budoucnosti
Čas je klíčový
Neustálé udržování přesného času na všech stanicích, serverech a síťových zařízeních je jedním z nejdůležitějších preventivních opatření. Automatická synchronizace s NTP by měla být standardem v každé infrastruktuře.
Automatizovaná správa certifikátů
Použití nástrojů pro správu certifikátů a jejich automatickou obnovu je zásadní. Certifikáty by měly být naplánované k obnově dobře před vypršením platnosti a systém by měl být schopen automaticky nasadit nové certifikáty bez výpadků služby.
Správná konstrukce certifikátů a řetězců
Pravidelná kontrola řetězce certifikátů a zajištění, že intermediáty jsou správně nasazeny na serveru, snižuje riziko NET::ERR_CERT_DATE_INVALID způsobeného chybným chainem. Důležité je také sledovat změny v CA a postupy aktualizace certifikátů.
Otestování v různých prostředích
Testování na různých prohlížečích a zařízeních pomáhá zachytit specifické problémy, které se mohou objevit jen na určité kombinaci OS/prohlížeč/konfigurace serveru. Mějte připravené testovací prostředí a pravidelně provádějte testy po změnách konfigurace.
Často kladené dotazy (FAQ) k NET::ERR_CERT_DATE_INVALID
Proč se objeví NET::ERR_CERT_DATE_INVALID, i když certifikát není vypršený?
Protože notace Not Before/Not After nemusí být v souladu s aktuálním časem klienta i serveru. Může jít o dočasnou chybu v synchronizaci, chybný řetězec, nebo o problém s doménou či SNI. Proto je třeba zkontrolovat nejen datum certifikátu, ale i čas na klientovi i serveru a integritu řetězce CA.
Je možné, že problém je pouze v jednom prohlížeči?
Ano, některé prohlížeče mají odlišné cache, odlišný mechanismus vyhodnocení certifikátu a mohou se lišit ve vyhledávání a zobrazování chyb. Zkuste jiný prohlížeč a zkontrolujte, zda problém přetrvává.
Co znamená „Not Before“ a „Not After“ v certifikátu?
„Not Before“ je čas, kdy certifikát začíná platit, a „Not After“ končí platnost certifikátu. Pokud je systémový čas mimo toto rozmezí, prohlížeč zobrazuje chybu. Správné nastavení času a obnovy certifikátu jsou tedy klíčové kroky.
Co dělat, pokud jsem správcem serveru a certifikát je v pořádku?
Zkontrolujte, zda server posílá kompletní chain, zda není problém s DNS nebo s konfigurací TLS. Pokud je vše správně, je vhodné provést čistý restart služby a případně vynutit nový handshake pro klienty.
Praktické shrnutí a klíčové tipy
- Chyba NET::ERR_CERT_DATE_INVALID obvykle znamená problém s časem – na klientovi nebo serveru – či s platností certifikátu.
- Nejprve ověřte systémový čas na klientovi a serveru; synchronizace NTP je základ.
- Zkontrolujte platnost certifikátu a complete chain; nesprávný řetězec často vyvolá podezření na datech.
- Vyzkoušejte načtení stránky na různých zařízeních a sítích a proveďte čistou caching operaci prohlížeče.
- Pravidelná správa certifikátů a automatizace obnovy sníží riziko NET::ERR_CERT_DATE_INVALID v budoucnu.
Praktické ukázky a tipy pro technicky zdatné uživatele
Ukázka diagnostického postupu s OpenSSL
Chcete-li si ověřit platnost certifikátu na straně klienta i serveru, můžete použít následující postup:
openssl s_client -connect example.com:443 -servername example.com -showcerts
# výsledkem je výpis certifikátů a jejich Not Before/Not After
Pokud notace odpovídá datu, ale prohlížeč stále hlásí chybu, zkontrolujte chain a načítání intermediárních certifikátů na serveru.
Ukázka příkazu pro kontrolu datumu certifikátu
openssl x509 -in /path/to/cert.pem -dates -noout
Tento výpis obsahuje Not Before a Not After a pomůže potvrdit, zda certifikát odpovídá očekávanému časovému rámci.
Závěr: NET::ERR_CERT_DATE_INVALID není nevyléčitelná chyba
Chyba NET::ERR_CERT_DATE_INVALID může na první pohled působit strašidelně, ale s správnou sadou kroků je možné ji rychle identifikovat a opravit. Klíčové je zaměřit se na synchronizaci času, platnost certifikátu a správnost řetězce certifikátů. Pokud se vám podaří zajistit, že certifikáty jsou platné, a že servery poskytují kompletní chain a správný čas, snížíte pravděpodobnost výskytu této chyby na minimum. V dnešní době je automatická správa certifikátů a pravidelná kontrola infrastruktury standardem pro udržení bezproblémového a bezpečného online provozu. A pokud se NET::ERR_CERT_DATE_INVALID objeví i po všech těchto krocích, vždy je dobré kontaktovat poskytovatele certifikátu nebo hostingovou firmu, která zajistí důkladnou diagnostiku a nasazení opravných konfigurací.