エラーメッセージ
net::ERR_CERT_DATE_INVALID
警告ページには「NET::ERR_CERT_DATE_INVALID」と表示され、自動化ツールは「net::ERR_CERT_DATE_INVALID」と出力します。デバイスの時計そのものが間違っていると Chrome が判断した場合は、通常の警告の代わりに「時計が進んでいます」または「時計が遅れています」という専用のページを表示します。
Chrome, Edge and other Chromium browsers — the certificate is expired or not yet valid
このエラーの意味
デバイスの時計で見ると、サイトの証明書(またはそのチェーン内の証明書)が有効期間外です。つまり、期限切れか、まだ有効ではありません。Chrome は「この接続ではプライバシーが保護されません」と表示してページをブロックします。特定のサイトだけで表示される場合はそのサイトの証明書が期限切れで、すべてのサイトで表示される場合はコンピューターの日付が間違っています。
発生する理由
サイトの証明書が期限切れ
よくある更新に失敗したか、更新が一度も自動化されていませんでした。パブリック証明書の有効期間は短縮が進んでおり(2026年3月から 200 日、2029年までに 47 日)、手動での更新ではもう対応できません。
デバイスの日付が間違っている
よくあるCMOS 電池切れ、デュアルブートでのタイムゾーンの食い違い、手動で設定した時計が原因で、有効な証明書が期限切れに見えたり、まだ有効ではないように見えたりします。
更新した証明書が返されていない
ときどき更新後も、Web サーバー、ロードバランサー、または CDN が古い証明書を返し続けています。
修正方法
- 1.
サイト運営者:返される証明書の日付を確認する
notAfter を今日の日付と比較してください。確認は外部から、訪問者と同じ経路で行ってください。
bash echo | openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null \ | openssl x509 -noout -startdate -enddate - 2.
サイト運営者:更新して自動化する
証明書を更新し、TLS を終端するサーバーをリロードしたうえで、自動更新ジョブが存在し、実際に実行されていることを確認してください。
bash sudo certbot renew && sudo systemctl reload nginx systemctl list-timers | grep -i certbot # is automatic renewal scheduled? - 3.
ユーザー:デバイスの時計を直す
時刻の自動設定を有効にしてください。警告を回避してはいけません。期限切れの証明書は、もはやサイトの身元を確認する根拠として信頼できないためです。
text Users: if many sites show this error at once, fix the device clock first (Windows: Settings → Time & language → Set time automatically; macOS: Date & Time → Set automatically).