NET::ERR_CERT_DATE_INVALIDエラーの原因と解決方法を徹底解説

Web

ウェブサイトにアクセスしようとしたとき、「この接続ではプライバシーが保護されません」というメッセージと共に「NET::ERR_CERT_DATE_INVALID」というエラーコードが表示され、困ったことはありませんか。
このエラーは、SSL/TLS証明書の日付に問題があることを示しています。
サイトにアクセスできないだけでなく、セキュリティ上のリスクを警告するメッセージが表示されるため、不安を感じる方も多いでしょう。
この記事では、NET::ERR_CERT_DATE_INVALIDエラーの意味、発生原因、そして訪問者とウェブサイト運営者それぞれの立場での解決方法を詳しく解説します。

スポンサーリンク
  1. NET::ERR_CERT_DATE_INVALIDエラーとは
    1. エラーコードの意味
    2. SSL/TLS証明書とは
  2. 主な発生原因
    1. 1. SSL/TLS証明書の有効期限切れ
    2. 2. デバイスの日付・時刻設定の誤り
    3. 3. CMOSバッテリーの消耗
    4. 4. ブラウザのキャッシュやCookieの問題
    5. 5. 中間証明書の設定ミス
    6. 6. セキュリティソフトやファイアウォールの干渉
    7. 7. 公衆Wi-Fiネットワークの使用
    8. 8. 期限切れのルート証明書
    9. 9. ブラウザやOSの古いバージョン
  3. ブラウザ別の表示
    1. Google Chrome
    2. Mozilla Firefox
    3. Microsoft Edge
    4. Safari
  4. 訪問者側での解決方法
    1. 1. デバイスの日付・時刻を確認する
    2. 2. ブラウザのキャッシュとCookieをクリアする
    3. 3. SSLステートをクリアする(Windows)
    4. 4. ブラウザを最新バージョンに更新する
    5. 5. ブラウザ拡張機能を無効化する
    6. 6. セキュリティソフトのHTTPSスキャンを無効化する
    7. 7. ネットワーク接続を確認する
    8. 8. 期限切れのルート証明書を削除する(Windowsのみ)
    9. 9. CMOSバッテリーを交換する(デスクトップPCの場合)
    10. 10. それでも解決しない場合
    11. 「詳細設定」から強制的にアクセスすべきか
  5. ウェブサイト運営者側での対処法
    1. 1. SSL/TLS証明書の有効期限を確認する
    2. 2. SSL/TLS証明書を更新する
    3. 3. 中間証明書を正しくインストールする
    4. 4. サーバーの日付・時刻を確認する
    5. 5. SSL/TLS設定を確認する
    6. 6. 証明書の自動更新を設定する
    7. 7. ウェブサイトの訪問者に通知する
  6. よくある質問(FAQ)
    1. Q1: エラーが出ているサイトに強制的にアクセスしても大丈夫ですか?
    2. Q2: 複数のサイトで同じエラーが出る場合は?
    3. Q3: スマートフォンでもこのエラーは発生しますか?
    4. Q4: SSL/TLS証明書の有効期限はどのくらいですか?
    5. Q5: Let’s Encryptの証明書はなぜ90日しか有効期間がないのですか?
    6. Q6: 証明書を更新したのにエラーが消えません
    7. Q7: 自己署名証明書を使ってもいいですか?
  7. まとめ

NET::ERR_CERT_DATE_INVALIDエラーとは

NET::ERR_CERT_DATE_INVALIDは、ウェブブラウザがウェブサイトのSSL/TLS証明書の有効期限を確認できなかった際に表示されるエラーコードです。
このエラーは、ブラウザが「このサイトとの接続は安全ではない」と判断したことを意味します。

エラーコードの意味

エラーコードの各部分は以下の意味を持ちます。

  • NET: ネットワーク関連のエラーであることを示す
  • ERR: エラーの略
  • CERT: Certificate(証明書)の略
  • DATE: 日付に関する問題
  • INVALID: 無効であることを示す

つまり、「証明書の日付が無効である」というネットワークエラーを意味しています。

SSL/TLS証明書とは

SSL/TLS証明書は、ウェブサイトとユーザーのブラウザ間の通信を暗号化するためのデジタル証明書です。
これにより、パスワード、クレジットカード情報、個人情報などの機密データが第三者に盗まれることを防ぎます。

SSL/TLS証明書には有効期限が設定されており、期限内であれば信頼できる接続として扱われます。
しかし、有効期限が切れていたり、まだ有効期間に入っていなかったりすると、ブラウザはこのエラーを表示します。

主な発生原因

NET::ERR_CERT_DATE_INVALIDエラーが発生する原因は、大きく分けてサイト側の問題とユーザー側の問題の2つに分類されます。

1. SSL/TLS証明書の有効期限切れ

最も一般的な原因は、ウェブサイトのSSL/TLS証明書の有効期限が切れていることです。
SSL/TLS証明書は通常1年〜2年程度の有効期間を持ち、期限が切れる前に更新する必要があります。

ウェブサイト運営者が証明書の更新を忘れたり、自動更新が何らかの理由で失敗したりすると、有効期限が切れた証明書のままサイトが公開され続けることになります。

2. デバイスの日付・時刻設定の誤り

ユーザーのパソコンやスマートフォンの日付・時刻設定が正しくない場合もこのエラーが発生します。
SSL/TLS証明書の有効性は、デバイスの時計を基準に判定されるためです。

例えば、デバイスの日付が実際よりも過去に設定されている場合、まだ有効期間に入っていない証明書を「未来の証明書」として拒否することがあります。
逆に、未来の日付に設定されていると、まだ有効な証明書を「期限切れ」と判断してしまいます。

3. CMOSバッテリーの消耗

パソコンのBIOSやUEFIの日付・時刻がリセットされている場合、CMOSバッテリー(マザーボード上の小型電池)が消耗している可能性があります。
CMOSバッテリーは、パソコンの電源を切っている間もBIOS設定を保持するための電池です。

この電池が消耗すると、パソコンを起動するたびに日付・時刻がリセットされ、証明書エラーが頻繁に発生します。

4. ブラウザのキャッシュやCookieの問題

ブラウザに保存されている古いSSL証明書情報がキャッシュに残っている場合、証明書が更新されていても古い情報を参照し続けることがあります。

5. 中間証明書の設定ミス

SSL/TLS証明書には、サーバー証明書、中間証明書、ルート証明書という階層構造があります。
中間証明書が正しくインストールされていないと、ブラウザは証明書チェーンを検証できず、エラーが発生することがあります。

6. セキュリティソフトやファイアウォールの干渉

アンチウイルスソフトやファイアウォールが、SSL/TLS証明書をスキャンする際に問題を引き起こすことがあります。
特に、HTTPS接続をスキャンする機能が有効になっている場合、正規の証明書を誤って無効と判断する可能性があります。

7. 公衆Wi-Fiネットワークの使用

安全でない公衆Wi-Fiネットワークを使用している場合、ネットワーク側でSSL/TLS証明書が改ざんされたり、中間者攻撃(Man-in-the-Middle Attack)を受けたりする可能性があります。

8. 期限切れのルート証明書

2021年9月には、Let’s Encryptが使用していた「DST Root CA X3」というルート証明書の期限切れが問題となりました。
古いOSやブラウザを使用している場合、ルート証明書の更新が行われておらず、エラーが発生することがあります。

9. ブラウザやOSの古いバージョン

古いバージョンのブラウザやOSは、最新のSSL/TLSプロトコルや証明書形式に対応していない場合があります。

ブラウザ別の表示

NET::ERR_CERT_DATE_INVALIDエラーは、使用しているブラウザによって表示が異なります。

Google Chrome

Chromeでは、以下のように表示されます。

この接続ではプライバシーが保護されません
攻撃者が [サイト名] 上のあなたの情報(パスワード、メッセージ、クレジットカード情報など)を不正に取得しようとしている可能性があります。

NET::ERR_CERT_DATE_INVALID

エラーページには「詳細設定」ボタンがあり、クリックすると証明書の詳細情報を確認できます。
また、「[サイト名]にアクセスする(安全ではありません)」という選択肢も表示されますが、クリックすることは推奨されません。

Mozilla Firefox

Firefoxでは、黄色い枠で囲まれた警告が表示されます。

警告:潜在的なセキュリティリスクあり
Firefox は [サイト名] への接続が安全でない可能性があると判断しました。

エラーコード: SEC_ERROR_EXPIRED_CERTIFICATE

「詳細を表示」をクリックすると、証明書の有効期限などの詳細情報が表示されます。

Microsoft Edge

Edgeでは、Chromeとほぼ同様の表示になります。

接続がプライベートではありません
悪意のあるユーザーによって、パスワード、メッセージ、クレジットカードなどの情報が盗まれる可能性があります。

NET::ERR_CERT_DATE_INVALID

Edgeの場合、証明書が何日前に期限切れになったかを表示することがあります。

Safari

Safariでは、以下のように表示されます。

Safariはウェブサイトの身元を確認できません

詳細を表示すると、証明書が期限切れであることや、日付が正しくないことが説明されます。

訪問者側での解決方法

ウェブサイトの訪問者として、このエラーに遭遇した場合の対処法を紹介します。

1. デバイスの日付・時刻を確認する

最も基本的かつ効果的な対処法は、使用しているデバイスの日付・時刻設定を確認することです。

Windows 11/10の場合

  1. タスクバー右下の時刻表示を右クリック
  2. 「日付と時刻の調整」を選択
  3. 「時刻を自動的に設定する」をオンにする
  4. 「タイムゾーンを自動的に設定する」をオンにする
  5. 正しく設定されていることを確認

日付・時刻が大きくずれている場合は、手動で正しい値に設定した後、自動設定に切り替えます。

macOSの場合

  1. Appleメニュー > システム設定(またはシステム環境設定)
  2. 「一般」>「日付と時刻」を選択
  3. 「日付と時刻を自動的に設定」をオンにする
  4. 必要に応じてタイムゾーンも確認

Android/iOSの場合

  1. 設定 > システム > 日付と時刻(機種により異なる)
  2. 「日付と時刻の自動設定」をオンにする
  3. 「タイムゾーンの自動設定」をオンにする

設定後、ブラウザを再起動してウェブサイトに再度アクセスします。

2. ブラウザのキャッシュとCookieをクリアする

古いSSL証明書情報がキャッシュに残っている場合があるため、クリアします。

Google Chromeの場合

  1. ブラウザ右上の「︙」(三点リーダー)をクリック
  2. 「履歴」>「閲覧履歴データの削除」を選択
  3. 期間を「全期間」に設定
  4. 「Cookieと他のサイトデータ」と「キャッシュされた画像とファイル」にチェック
  5. 「データを削除」をクリック

ショートカット:Ctrl + Shift + Delete(Windows) / Command + Shift + Delete(Mac)

Mozilla Firefoxの場合

  1. ブラウザ右上の「≡」(ハンバーガーメニュー)をクリック
  2. 「設定」>「プライバシーとセキュリティ」を選択
  3. 「Cookieとサイトデータ」セクションの「データを消去」をクリック
  4. 「Cookie とサイトデータ」と「ウェブコンテンツのキャッシュ」にチェック
  5. 「消去」をクリック

ショートカット:Ctrl + Shift + Delete(Windows) / Command + Shift + Delete(Mac)

3. SSLステートをクリアする(Windows)

Windows特有の機能として、SSL証明書の状態をクリアすることができます。

  1. コントロールパネルを開く
  2. 「ネットワークとインターネット」>「インターネット オプション」を選択
  3. 「コンテンツ」タブをクリック
  4. 「SSL の状態をクリア」ボタンをクリック
  5. 「OK」をクリックしてブラウザを再起動

4. ブラウザを最新バージョンに更新する

古いブラウザは最新のSSL/TLSプロトコルに対応していない可能性があります。

Google Chromeの更新

  1. ブラウザ右上の「︙」をクリック
  2. 「ヘルプ」>「Google Chromeについて」を選択
  3. 自動的に更新が確認され、必要に応じてダウンロード・インストールされる
  4. 「再起動」をクリック

Mozilla Firefoxの更新

  1. ブラウザ右上の「≡」をクリック
  2. 「ヘルプ」>「Firefoxについて」を選択
  3. 自動的に更新が確認され、必要に応じてダウンロード・インストールされる
  4. 「Firefoxを再起動して更新を完了」をクリック

5. ブラウザ拡張機能を無効化する

サードパーティの拡張機能がSSL証明書の検証を妨げている可能性があります。

Google Chromeの場合

  1. アドレスバーにchrome://extensions/と入力してEnter
  2. すべての拡張機能を一時的に無効化
  3. ウェブサイトに再度アクセス
  4. エラーが解消された場合、拡張機能を1つずつ有効化して原因を特定

または、シークレットモード(Ctrl + Shift + N)でアクセスし、拡張機能が原因かどうかを確認できます。

6. セキュリティソフトのHTTPSスキャンを無効化する

一部のアンチウイルスソフトには、HTTPS通信をスキャンする機能があります。
この機能が原因でエラーが発生している場合、一時的に無効化します。

ただし、セキュリティレベルが下がるため、問題解決後は再度有効化することをお勧めします。

7. ネットワーク接続を確認する

公衆Wi-Fiなど、安全でないネットワークを使用している場合は、以下を試します。

  • 公衆Wi-Fiの使用を中止し、モバイルデータ通信に切り替える
  • VPNを使用している場合は一時的に無効化する
  • 別のネットワークで同じサイトにアクセスできるか確認する

他のネットワークで問題なくアクセスできる場合、現在のネットワークに問題がある可能性が高いです。

8. 期限切れのルート証明書を削除する(Windowsのみ)

特定のルート証明書(DST Root CA X3など)が期限切れになっている場合、手動で削除します。

  1. Win + Rキーを押す
  2. certmgr.mscと入力してEnter
  3. 「信頼されたルート証明機関」>「証明書」を展開
  4. 期限切れの証明書(DST Root CA X3など)を右クリックして削除
  5. 「中間証明機関」>「証明書」でも同様に削除
  6. パソコンを再起動

注意:誤った証明書を削除すると、他のサイトにもアクセスできなくなる可能性があります。
削除前に証明書の詳細を確認してください。

9. CMOSバッテリーを交換する(デスクトップPCの場合)

BIOSの日付が頻繁にリセットされる場合、CMOSバッテリーの交換が必要です。

  1. パソコンの電源を完全に切り、電源ケーブルを抜く
  2. ケースを開ける
  3. マザーボード上のボタン電池(通常CR2032)を取り外す
  4. 新しい電池と交換
  5. ケースを閉じて電源を入れる
  6. BIOSで日付・時刻を設定

ノートPCの場合は、メーカーサポートに相談することをお勧めします。

10. それでも解決しない場合

上記の方法をすべて試してもエラーが解消されない場合、問題はウェブサイト側にある可能性が高いです。

  • 別のブラウザでアクセスを試す
  • 別のデバイス(スマートフォンなど)でアクセスを試す
  • ウェブサイト運営者に連絡する

複数のデバイスやブラウザで同じエラーが発生する場合、ほぼ確実にサイト側の問題です。

「詳細設定」から強制的にアクセスすべきか

多くのブラウザでは、「詳細設定」や「Advanced」をクリックすると、「危険を承知でアクセスする」という選択肢が表示されます。

この選択肢を使うべきではありません。

SSL/TLS証明書のエラーが出ているサイトに強制的にアクセスすると、以下のリスクがあります。

  • 通信が暗号化されず、第三者に情報を盗まれる可能性
  • 中間者攻撃により、偽のサイトに誘導される可能性
  • マルウェアに感染する可能性

どうしてもアクセスが必要な場合は、個人情報やパスワードを入力しないようにし、情報の閲覧のみに留めてください。

ウェブサイト運営者側での対処法

ウェブサイトの運営者として、訪問者からこのエラーの報告を受けた場合の対処法を紹介します。

1. SSL/TLS証明書の有効期限を確認する

まず、現在インストールされているSSL/TLS証明書の有効期限を確認します。

ブラウザでの確認方法

  1. ChromeまたはEdgeでサイトにアクセス
  2. アドレスバーの鍵アイコン(または「保護されていません」)をクリック
  3. 「証明書」または「証明書は有効です」をクリック
  4. 証明書の詳細ウィンドウで「有効期間」を確認

コマンドラインでの確認方法

LinuxまたはmacOSでは、以下のコマンドで確認できます。

openssl s_client -connect example.com:443 -servername example.com | openssl x509 -noout -dates

出力例:

notBefore=Jan 15 00:00:00 2025 GMT
notAfter=Feb 14 23:59:59 2026 GMT

2. SSL/TLS証明書を更新する

証明書が期限切れまたは期限切れ間近の場合、更新が必要です。

Let’s Encrypt(無料証明書)の場合

Let’s Encryptを使用している場合、Certbotなどのツールで自動更新できます。

# 証明書の更新
sudo certbot renew

# 更新後、ウェブサーバーを再起動
sudo systemctl restart nginx
# または
sudo systemctl restart apache2

自動更新が正しく動作しているか確認:

# cronやsystemd timerで自動更新が設定されているか確認
sudo certbot renew --dry-run

商用証明書の場合

  1. 証明書発行機関(CA)のウェブサイトにログイン
  2. 証明書の更新手続きを行う
  3. CSR(証明書署名要求)を生成
  4. 新しい証明書をダウンロード
  5. サーバーにインストール
  6. ウェブサーバーを再起動

3. 中間証明書を正しくインストールする

SSL/TLS証明書には、サーバー証明書だけでなく中間証明書も必要です。

Nginxの場合

中間証明書とサーバー証明書を連結したファイルを作成します。

# 証明書の連結(サーバー証明書 -> 中間証明書の順)
cat your-domain.crt intermediate.crt > fullchain.crt

Nginx設定ファイル:

ssl_certificate /path/to/fullchain.crt;
ssl_certificate_key /path/to/your-domain.key;

Apacheの場合

Apache設定ファイル:

SSLCertificateFile /path/to/your-domain.crt
SSLCertificateKeyFile /path/to/your-domain.key
SSLCertificateChainFile /path/to/intermediate.crt

4. サーバーの日付・時刻を確認する

サーバー自体の日付・時刻が正しく設定されているか確認します。

# 現在の日時を確認
date

# NTPサービスの状態を確認
sudo systemctl status ntp
# または
sudo systemctl status chronyd

時刻がずれている場合:

# NTPで時刻を同期
sudo ntpdate -u pool.ntp.org

# または
sudo timedatectl set-ntp true

5. SSL/TLS設定を確認する

ウェブサーバーのSSL/TLS設定が正しいか確認します。

オンラインツールでの確認

SSL Labs SSL Server Testを使用して、SSL/TLS設定を診断できます。

  1. サイトにアクセス
  2. ドメイン名を入力
  3. 「Submit」をクリック
  4. 診断結果を確認

このツールは、証明書の有効性、暗号化方式、脆弱性などを詳細に分析してくれます。

6. 証明書の自動更新を設定する

証明書の期限切れを防ぐため、自動更新を設定します。

Let’s Encryptの自動更新(systemdタイマー)

# タイマーの確認
sudo systemctl list-timers | grep certbot

# タイマーが無効の場合、有効化
sudo systemctl enable certbot.timer
sudo systemctl start certbot.timer

商用証明書の場合

証明書発行機関が提供する自動更新サービスを利用するか、期限切れ前にメール通知を設定します。

7. ウェブサイトの訪問者に通知する

証明書を更新した後も、訪問者のブラウザキャッシュに古い証明書情報が残っている可能性があります。

  • ウェブサイトにお知らせを掲載
  • SNSやメールで周知
  • キャッシュクリアの方法を案内

よくある質問(FAQ)

Q1: エラーが出ているサイトに強制的にアクセスしても大丈夫ですか?

A: 推奨しません。
SSL/TLS証明書のエラーが出ているサイトは、通信が暗号化されていない可能性があります。
個人情報やパスワードを入力すると、第三者に盗まれるリスクがあります。

どうしてもアクセスが必要な場合は、情報の閲覧のみに留め、ログインや個人情報の入力は避けてください。

Q2: 複数のサイトで同じエラーが出る場合は?

A: デバイスの日付・時刻設定、またはCMOSバッテリーに問題がある可能性が高いです。
まず日付・時刻設定を確認し、それでも解決しない場合はCMOSバッテリーの交換を検討してください。

また、期限切れのルート証明書がインストールされている可能性もあります。

Q3: スマートフォンでもこのエラーは発生しますか?

A: はい、発生します。
スマートフォンの場合も、日付・時刻設定の誤りが主な原因です。
設定 > システム > 日付と時刻で、自動設定をオンにしてください。

Q4: SSL/TLS証明書の有効期限はどのくらいですか?

A: 現在、SSL/TLS証明書の最大有効期間は398日(約13ヶ月)です。
2020年9月1日以降に発行された証明書は、この期間を超えることはできません。

以前は2〜3年の有効期間が一般的でしたが、セキュリティ強化のため短縮されました。

Q5: Let’s Encryptの証明書はなぜ90日しか有効期間がないのですか?

A: セキュリティ強化と自動更新の促進のためです。
有効期間を短くすることで、証明書が侵害された場合の影響を最小限に抑えることができます。
また、自動更新を前提とすることで、手動更新による期限切れのリスクを減らしています。

Q6: 証明書を更新したのにエラーが消えません

A: 以下の可能性があります。

  1. ブラウザのキャッシュに古い証明書情報が残っている
    → キャッシュとCookieをクリア
  2. ウェブサーバーの再起動を忘れている
    → サーバーを再起動
  3. 中間証明書が正しくインストールされていない
    → 証明書チェーンを確認
  4. DNS伝播に時間がかかっている
    → 数時間〜24時間待つ

Q7: 自己署名証明書を使ってもいいですか?

A: 本番環境では推奨しません。
自己署名証明書は、信頼された認証局(CA)によって署名されていないため、ブラウザは常に警告を表示します。

自己署名証明書は、開発環境やテスト環境での使用に限定してください。
本番環境では、Let’s Encryptなどの無料の証明書を使用することをお勧めします。

まとめ

NET::ERR_CERT_DATE_INVALIDエラーは、SSL/TLS証明書の日付に問題があることを示す警告です。
主な原因は、証明書の有効期限切れとデバイスの日付・時刻設定の誤りの2つです。

訪問者としての対処法:

  • デバイスの日付・時刻を確認し、自動設定をオンにする
  • ブラウザのキャッシュとCookieをクリアする
  • ブラウザを最新バージョンに更新する
  • 複数サイトでエラーが出る場合は、CMOSバッテリーの交換を検討

ウェブサイト運営者としての対処法:

  • SSL/TLS証明書の有効期限を定期的に確認する
  • 証明書の自動更新を設定する
  • 中間証明書を正しくインストールする
  • SSL Labs等のツールで設定を診断する

このエラーは、適切に対処すれば解決できる問題です。
ただし、セキュリティ警告を無視してサイトにアクセスすることは避け、安全な方法で問題を解決してください。

SSL/TLS証明書は、インターネット上での安全な通信を実現するための重要な技術です。
証明書のエラーが発生した場合は、速やかに原因を特定し、適切な対処を行うことで、安全なウェブ体験を維持できます。

コメント

タイトルとURLをコピーしました