ウェブサイトにSSL証明書を導入していても、時に「NET::ERR_CERT_AUTHORITY_INVALID」エラーに遭遇することがあります。一見厄介なエラーですが、原因は非常にシンプルです。
一言で言えば、このエラーはブラウザがSSL証明書の有効性を認識していないことを意味します。安全を保つため、エラーメッセージを表示することで何か不審なことが起きている可能性があることを知らせています。
今回は「NET::ERR_CERT_AUTHORITY_INVALID」エラーが意味すること、ブラウザでの見え方、またエラーの原因と解決方法をすべて網羅します。
「NET::ERR_CERT_AUTHORITY_INVALID」エラーの原因
このエラーは、ブラウザがサイトのSSL証明書の有効性を確認できない場合にポップアップで表示されます。したがって、SSL証明書をインストールしていない、安全でない非推奨のHTTPを使用しているサイトでは、このエラーに遭遇することはありません。
一般に、このエラーの主な原因は3つあります。
- 自己署名証明書を使用している─自己署名証明書は比較的手頃だが、ブラウザがその有効性を確認できずにこのエラーを表示する可能性がある(ブラウザの警告はユーザーを遠ざけることになるため、自己署名証明書は使用しないのが得策)。
- 証明書の有効期限切れ─セキュリティ上の理由から、SSL証明書には有効期限がある。有効期限は証明書によって異なるが、ある時点で証明書を更新するか、更新プロセスを自動化する必要がある(一部認証局やホスティングサービスでは簡単に実行できる)。
- 証明書が信頼できない認証局から発行されている─自己署名証明書と同じように、証明書の発行元となる機関をブラウザが確認できない場合はこのエラーが表示される。
SSL証明書がインストールされたサイトに訪問者がアクセスすると、その都度ブラウザが証明書を検証し、解読します。この過程でエラーが発生すると警告が表示されます。
多くのブラウザでは、ユーザーを保護する目的で積極的にサイトへのアクセスをブロックしており、「この接続ではプライバシーが保護されません」というエラーメッセージを表示します。自分のサイトでこの警告が表示されるのは、深刻な問題です。
また、コンピュータやネットワークの設定により、「NET::ERR_CERT_AUTHORITY_INVALID」エラーが発生する場合もあります。
「NET::ERR_CERT_AUTHORITY_INVALID」エラーのバリエーション
エラーの見え方はブラウザによって異なります。また、オペレーティングシステムやSSL証明書の設定も見え方に影響します。
以下、ブラウザ別に「NET::ERR_CERT_AUTHORITY_INVALID」エラーの見え方をご紹介します。
- この接続ではプライバシーが保護されません
- 警告: 潜在的なセキュリティリスクがあり
- 接続がプライベートではありません
- 接続はプライベートではありません
Google Chrome
Chromeでは、このエラーが発生するとすぐに接続でプライバシーが保護されないことを表示します。ブラウザが証明書の有効性を認識できないため、データが暗号化されないためです。
接続を継続するには、ユーザーの自己責任となります。具体的には、以下のようなエラーメッセージが表示されます。
攻撃者が、domain.com上のあなたの情報(パスワード、メッセージ、クレジット カード情報など)を不正に取得しようとしている可能性があります
Chromeにおけるこのエラーの一般的なバリエーションには、以下のようなものがあります。
- NET::ERR_CERT_AUTHORITY_INVALID
- NET::ERR_CERT_COMMON_NAME_INVALID(証明書がドメインと一致しない場合に発生)
- net::err_cert_weak_signature_algorithm
- net::err_certificate_transparency_required
- net::err_cert_date_invalid
いずれのエラーもChromeがSSL証明書に関連するエラーの原因を特定し、ユーザーにアクセスしないよう警告を表示します。
Mozilla Firefox
Firefoxもまた、潜在的なセキュリティリスクを検知すると、ブラウザに即座に表示します。また、潜在的な原因に関する説明文も表示されるため、Chromeよりも親切です。
Firefoxはセキュリティ上の潜在的な脅威を検知したため、domain.comへの接続を中止しました。このサイトに訪問すると、攻撃者がパスワードやメールアドレス、クレジットカードの詳細な情報を盗み取ろうとする恐れがあります
このエラーのバリエーションには、特定のコードは含まれませんが、多くの場合以下のいずれかが表示されます。
- sec_error_unknown_issuer
- ssl_error_rx_malformed_handshake
- mozilla_pkix_error_key_pinning_failure
- sec_error_reused_issuer_and_serial
上記のようなエラーコードが表示されたら、必ずコピーしてどこかに保管しておきましょう。これがエラーの原因を知る手掛かりとなります。コードをブラウザで検索するだけで解決策がすぐに見つかることも多々あります。
Microsoft Edge
Microsoft Edgeのエラーメッセージは、Chromeとほぼ同じ見え方です。
このエラーには、以下のようなバリエーションがあります。
- dlg_flags_sec_certdate_invalid
- dlg_flags_invalid_ca
- dlg_flags_sec_cert_cn_invalid
- net::err_cert_common_name_invalid
- ERROR CODE: O
また、Chromeと同じように、エラーメッセージから「NET::ERR_CERT_AUTHORITY_INVALID」エラーの根本的な原因を知ることができます。
Safari
Safariの場合は、「この接続はプライベートではありません」エラーがサイトのSSL証明書と暗号化に問題があることを知らせます。
このWebサイトは、あなたの個人情報または金融情報を盗むために”domain.com”になりすましている可能性があります。前のページに戻ってください
上の例は、SSL証明書の有効期限切れが原因でエラーが発生しています。先に触れた通り、有効期限切れの証明書は、「NET::ERR_CERT_AUTHORITY_INVALID」エラーを引き起こす一般的な原因の一つです。
「NET::ERR_CERT_AUTHORITY_INVALID」エラーの解決方法(9種類)
ブラウザでどのように表示されるかを押さえたところで、「NET::ERR_CERT_AUTHORITY_INVALID」エラーの解決策を早速見ていきましょう。主な原因は上で見た通りですが、場合によってはローカルの設定が原因になっている可能性があることにも触れました。
このため、トラブルシューティングの方法は複数考えられます。まずは3つの主な原因─SSL証明書の有効期限、自己署名証明書、信頼できない発行元を想定した解決策からご紹介していきます。
1. SSLサーバーテストを実行する
エラーが表示される直前にSSL証明書をインストールした場合は、設定時に何か問題が発生した可能性があります。特にホスティングサービスを介してではなく、自分で証明書をインストールした場合にはよく起こります。
証明書が正しくインストールされているかを確認する手っ取り早い方法は、Qualys SSL Labsなどが提供するSSLチェッカーを使用することです。このツールは無料で利用できます。
エラーが表示されているドメインを貼り付けて、「Submit」をクリックするだけでOKです。
結果が出るまで数分ほどかかることがあります。満点のA+のスコアが得られるのが理想的です。
満点でない場合は、証明書一覧まで下にスクロールし、証明書の信頼性を確認します。否定的な結果が示されているものについては、信頼できる認証局からSSL証明書を取得し、インストールしてください。
2. 有効な機関からSSL証明書を取得する
最近は特に、自己署名証明書を使用する理由がありません。強いて言えば、安価である点が挙げられますが、Let’s Encryptなどでは、一般的なブラウザで認識される有効な証明書を無料で入手できます。
Kinstaのお客様は、Cloudflare統合により、Cloudflareのワイルドカード対応SSL証明書を無料でお使いいただけます。また、自動でインストールされるため設定も不要です。
企業によっては、組織の検証など、無料の認証局では利用できない機能が必要な場合もあります。Kinstaでは、サードパーティから購入した証明書も簡単にインストール可能です。
3. SSL証明書を更新する
SSL証明書は、セキュリティのため定期的に更新が必要になるのが一般的です。この更新プロセスは、ドメインの身元を検証するものであり、更新を行わなければ有効期限が切れてしまいます。Kinstaをご利用の場合は更新は不要ですが、独自SSL証明書には有効期限があります。
SSL証明書の選び方については動画での解説もご用意しています。
ご利用のホスティングサービスで自動更新が行われない場合は、有効期限を過ぎたら手動で証明書を更新しなければなりません。ホスティングサービスによっては、コントロールパネルからSSL証明書の更新機能にアクセスできない可能性もあります。
サーバーにアクセスできる場合は、Certbotツールを使ってコマンドラインからSSL証明書をインストールおよび更新することができます。
SSL証明書を更新したらサイトを再読み込みして、エラーが消えているかどうかを確認してみてください。
4. ページを再読み込みしてみる(またはシークレットモードを使用する)
まだエラーが表示されている場合、実はページを再読み込みするだけでエラーが消える可能性があります。
何度再読み込みしてもエラーが表示される場合は、シークレットウィンドウでサイトにアクセスしてみてください。
シークレットウィンドウでサイトが問題なく読み込まれる場合は、ブラウザが古いキャッシュを読み込もうとしてエラーが生じている可能性が高いです。次の解決策を実践してみてください。
5. ブラウザキャッシュとCookieをクリアする
ブラウザをシークレットウィンドウに切り替えたことで、「NET::ERR_CERT_AUTHORITY_INVALID」エラーが消えた場合は、ブラウザのキャッシュに問題があります。
キャッシュとCookieのクリアは簡単です。各ブラウザでの具体的な手順は以下をご覧ください。
- Google Chromeのキャッシュクリア方法
- Mozilla Firefoxのキャッシュクリア方法
- Safariのキャッシュクリア方法
- Microsoft Edgeのキャッシュをクリアする方法
- Operaのブラウザキャッシュをクリアする方法
キャッシュをすべてクリアする前に、サイトを強制更新してみる手もありますが、うまく機能しない場合もあるため、基本的にはキャッシュのクリアをおすすめします。
6. PCとの時計を合わせる
「NET::ERR_CERT_AUTHORITY_INVALID」エラーの原因として、コンピュータの日付または時刻の設定が誤っていることもよくあります。デバイスの時計が正しくない場合、ウェブサイトの証明書を検証するブラウザの機能が妨げられることがあります。
これが原因の場合、解決策は至ってシンプルです。手順はオペレーティングシステム(OS)によって異なります。
Windows
システムトレイでコンピュータの時刻を右クリックし、「日付と時刻の調整」を選択します。
表示されるウィンドウで「時刻を同期する」の「今すぐ同期」をクリックします。
インターネットに接続している場合、日付と時刻が正しいことが確認されます。また、今後同じ問題が生じないよう、「時刻を自動的に設定する」をオンにしておくことをお勧めします。これにより、コンピュータの日時が常に正しくなります。
Mac
macOSの場合は、以下の手順に従ってください。
- Appleアイコンをクリックし、「システム設定」を選択
- 「一般」>「日付と時刻」をクリック
- 「日付と時刻を自動的に設定」のトグルスイッチをオンにする
また、「時間帯」には正しいタイムゾーンが設定されていることも確認してください。設定を終えたら再度サイトにアクセスし、エラーが消えているかどうかを確認しましょう。
7. 別のネットワークを使用してみる
カフェや空港などで公共のネットワークを利用している場合も、「NET::ERR_CERT_AUTHORITY_INVALID」エラーが表示されることがあります。これは、公共のネットワークはトラフィックを安全にルーティングしていない場合が多いためです。
コンピュータで公衆回線を使用している場合は、モバイルデータを使ってスマホからアクセスしてみてください。これで元のネットワークがエラーの原因になっているかどうかを確認します。
モバイルデータを使用してエラーが表示されない場合は、ネットワークを切り替える必要があります。公衆回線を定期的に使用している場合、仮想プライベートネットワーク(VPN)を使って、プライバシーを保護する方法があります。
優れたVPNサービスは、安全でないアクセスポイントの使用時に、データを保護するのに有用です。有料サービスですが、頻繁に公共のインターネットを使用する場合には投資する価値が十分にあります。
8. VPNやウイルス対策ソフトを無効にする
すでにVPNを利用していて、「NET::ERR_CERT_AUTHORITY_INVALID」エラーに遭遇した場合は、サービス自体がこのエラーを引き起こしている可能性もあります。
ウイルス対策ソフトを使用している場合も同様です。上記のトラブルシューティングを行ってもエラーが消えない場合は、VPNとウイルス対策ソフトを一時的に無効にしてみてください。その後、再度サイトにアクセスし、ブラウザのキャッシュから読み込まれないないことを確認するために強制更新を行います。
エラーが消えたら、両方のサービスを1つずつ有効化し、エラーが再度表示されるかを確かめます。これで、どちらのサービスが原因になっているかがわかります。原因となっているサービスを特定したら、ソフトウェアの更新を行うか、カスタマーサポートに問い合わせてみてください。
9. コンピュータのSSL状態を削除する(Windows)
コンピュータは、サイトにアクセスするたびに検証を行う手間を省くため、アクセスしたサイトのSSL証明書のキャッシュコピーを一時的に保存しています。
この「SSL状態」は、言うなれば証明書のキャッシュです。キャッシュと同じように、コンピュータのSSL状態を削除するというのも解決策になり得ます。
Windowsでは、コントロールパネルから「インターネット オプション」>「コンテンツ」タブを開きます。
「SSL 状態のクリア」をクリックしてウィンドウを閉じ、サイトを再読み込みしてみてください。
まとめ
「NET::ERR_CERT_AUTHORITY_INVALID」エラーの原因を特定できない場合は、解決に時間がかかることがあります。サイトでこのエラーが表示された状態が続くと、トラフィックと評判の両方に悪影響を及ぼします。
幸い、このエラーの解決策は比較的シンプルです。まずは、SSL証明書が最新かつ有効であることを確認し、ページを再読み込みしたり、ブラウザのキャッシュをクリアしたりなど、基本的なトラブルシューティングを行ってみてください。
その後、SSL状態をクリアしたり、SSLチェックを実行したりなど、より詳細な解決策を移りましょう。