BLOG
2023 年 03 月 17 日
「サーバー証明書が失効?」サーバー証明書がブラウザーでエラーになる原因と対処法(第 1 回)
~ブラウザーが表示する警告メッセージの意味とは?~
ブラウザーでエラーメッセージが出て、Web サイトにアクセスできなかったという経験はないでしょうか。これは、ブラウザーが Web サイトを表示する際に、ページが見つからない、サーバー側でエラーが発生しているなど、何らかの問題が発生した場合に、エラーメッセージを表示して Web サイトへのアクセスを制限している状態です。ブラウザーでエラーメッセージが表示されるケースはさまざまありますが、本稿ではサーバー証明書にまつわるエラーを取りあげていきます。多くの場合、Web サイトの管理者がエラーメッセージを確認して適切な対応を行うことで修正が可能です。
今回から 4 回にわたって、サーバー証明書に起因するブラウザーのエラーについて、代表的なものを紹介していきます。
第 1 回「サーバー証明書が失効している」
第 2 回「サーバー証明書の有効期限が切れている」
第 3 回「ルート証明書が登録されていない」
第 4 回「サーバー証明書が正しく設定されていない」
第 1 回「サーバー証明書が失効している」
サーバー証明書に起因するブラウザーエラーの第 1 回は、サーバー証明書が失効している場合に表示されるエラーメッセージです。ブラウザーによって表示内容は異なりますが、「接続がプライベートではありません」「NET::ERR_CERT_REVOKED」などと表示されます。エラーメッセージ「NET::ERR_CERT_REVOKED」の「CERT」は「証明書」を表しており、「REVOKED」は「失効」を意味しています。
サーバー証明書には有効期間があり、期間中に証明書の信頼性が損なわれた場合、証明書を無効にする措置がとられます。これが、サーバー証明書の失効です。失効の理由はさまざまですが、秘密鍵の漏洩や、証明書の記載の内容が事実と異なることになった(例:社名変更や住所変更)場合などがあります。サーバー証明書の失効は、証明書の所有者が失効要求をして認証局が行うこともあれば、認証局の判断によって失効させることもあります。
各ブラウザーのエラー表示
サーバー証明書が失効している場合、ブラウザーは以下のようなエラーや警告を表示します。
▼ Microsoft Edge の場合のエラー表示
▼ Mozilla Firefox の場合のエラー表示
▼ Safari(iPhone)の場合のエラー表示
エラーの原因
このエラーは、サーバー証明書が失効している場合に発生します。ブラウザーは、CRL ※1 や OCSP ※2 を参照して、サーバー証明書が失効していないかを確認しています。
エラーの意味
このエラーは、サーバー証明書が失効していることを示しています。サーバー証明書が失効していると、ブラウザーは SSL/TLS 接続が安全でないと判断し、エラーメッセージを表示します。
対処方法
新しいサーバー証明書を適用する必要があります。サーバー証明書を発行し直し、サーバー証明書の入れ替えを行ってください。サーバー証明書の失効理由が秘密鍵の危殆化であった場合は、新しいサーバー証明書を発行する際に新しい秘密鍵を使用してください。なお、一度失効した証明書は、元の有効な状態に戻すことはできません。
また、新しいサーバー証明書が適用された後、クライアントから Web サイトにアクセスする際に、ブラウザーに古い証明書情報が残っている可能性がありますので、適宜ブラウザーのキャッシュクリアを行ってください。
まとめ
- 失効したサーバー証明書が使用されている場合、「接続がプライベートではありません」「NET::ERR_CERT_REVOKED」などのエラーメッセージが表示されます。
- サーバー証明書が失効しているため、新しいサーバー証明書を発行し直し、サーバー証明書を入れ替える必要があります。