各ブラウザで異なるSSL証明書の呼び方
ブラウザによってSSLサーバー証明書(以下、SSL証明書)の呼称が異なるため、混乱することがあるかもしれません。まずはブラウザごとのエラーメッセージにおけるSSL証明書の表記についてご紹介します。
以下のようにChromeやEdge、Internet Explorerでは「セキュリティ証明書」と記載されますが、FirefoxやSafariでは「証明書」と記載されます。
ブラウザ名 | エラーメッセージ |
---|---|
Google Chrome Microsoft Edge |
セキュリティ証明書の期限が〇〇日前に切れています。 |
Internet Explorer | Webサイトのセキュリティ証明書はまだ有効になっていないか、有効期限がきれています。 |
Mozilla Firefox | example.jpの証明書はYYYY/MM/DDに期限が切れました。 |
Safari | Webサイトが有効期限の切れた証明書(このWebサイトは○○日前に期限がきれています)を持っている場合、警告が表示されます。これは~(省略) |
これらはいずれも「SSL証明書」のことを指しています。さらには「エンドエンティティ証明書」や「サーバー証明書」などとも呼ばれるため混乱しがちですが、一般的に「証明書」というと、サーバーにインストールする「SSL証明書」のことを指している場合が多いです。
「証明書」と呼ばれるものは、SSL証明書の他に「ルート証明書」「中間CA証明書」「S/MIME証明書」「クライアント証明書」などがあり、名称に役割を付けて呼ばれる場合が多く見られます。
SSL証明書に関するエラー・警告メッセージの意味とは?
なぜウェブブラウザでSSL証明書のエラーや警告は、大げさで物々しい画面で表示されるのでしょうか?
実はSSL証明書が正しく設定されていない場合、通信が暗号化されておらずに盗聴できる状態や、改ざんやなりすましができる状態でウェブサイトが公開されてしまう可能性があります。つまり、危険が潜んでいる(安全だという確証がない)ウェブサイトにアクセスすることを事前に遮断するため、ブラウザは大げさで物々しいエラーや警告を出してユーザーを守っているのです。
このように、SSL証明書には『SSLって何?意味や仕組みをわかりやすく解説!』でもご紹介した通り、サーバーとブラウザ間の通信を暗号化するとともに、ウェブサイトの改ざんやなりすましを防止する役割があります。今回はブラウザエラー編ということで、主にブラウザ側で表示されるSSL証明書のエラーについてご紹介していきます。
問い合わせ件数No.1のブラウザエラー
さくらのレンタルサーバで最もお問い合わせの多いSSLの設定エラーが上記の画面です。ERR_CERT_COMMON_NAME_INVALID と表示されていますが、「INVALID」とは「無効な」といった意味で、この場合はSSL証明書のコモンネーム(ドメイン)が無効になっている、ということを意味しています。
購入したSSL証明書をさくらのレンタルサーバで利用するには、コントロールパネルから設定を行い、最後にSNI SSLを有効化する必要があります。この”有効化”をしていないことがエラーの原因なのですが、この操作をしないとサーバー側は利用者の初期ドメインである example.sakura.ne.jp (正確には *.sakura.ne.jp のワイルドカード)の証明書をブラウザへ渡すため、ブラウザには example.jp へアクセスしたはずなのに example.sakura.ne.jp という異なるドメインの証明書が返ってきてしまいます。それをブラウザ側が「これはもしかしたら、なりすましかもしれない!」と判断してエラー画面を表示しているのです。
上記エラー画面の詳細設定を押すと、以下のメッセージが表示されます(押しても害はありません)。アクセスしているドメインとSSL証明書のドメインが異なることが記載されています。
このサーバーがexample.jpであることを確認できませんでした。このサーバーのセキュリティ証明書は*.sakura.ne.jpから発行されています。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。
この COMMON NAME INVALIDエラーは、さくらのレンタルサーバ以外でも非常に多く見られるエラーです。もしウェブサイトのユーザーとしてあなたがこのエラーを見た場合、サーバー管理者に対応してもらう以外にこのエラーを回避する方法はありません。また、このエラーに関しては自己署名の証明書を利用している場合や、中間CA証明書が設定されていない場合にも表示されることがあります。原因はいくつか考えられるので、ひとつずつ確認していきましょう。
ERR_CERT_COMMON_NAME_INVALID への対応方法
- レンタルサーバーのSSL設定を確認する
- 中間証明書が設定されているか、SSLチェッカーで確認する
- 自己署名証明書を使用しない
- ※SSLチェッカーを利用すると問題解決が早まる場合が多いです。
SSL証明書の有効期限切れによるエラー
SSL証明書の有効期限が切れているとそのサイトは危険とみなされてアクセスが遮断されてしまいます。ERR_CERT_DATE_INVALID と表示されていますが、これはSSL証明書の日付(有効期限)が無効になっていることを意味しています。詳細設定を押すと、以下のメッセージが表示されます。
このサーバーがexample.jpであることを確認できませんでした。セキュリティ証明書の有効期限が 120 日前に切れています。原因として、設定が不適切であるか悪意のあるユーザーが接続を妨害していることが考えられます。パソコンの時計は現在 2019年4月3日水曜日に設定されています。この時刻が正しくない場合は、システムの時計を修正した後このページを更新してください。
有効期限が切れて失効したSSL証明書を使っているサイトにアクセスできないのは正常です。この場合も、サーバー管理者がSSL証明書を更新する以外にエラーを回避する方法はありません。
ERR_CERT_DATE_INVALIDへの対応方法
- SSL証明書を更新して再設定する
- 新しいSSL証明書を購入して設定する
古いデジサート(旧シマンテック)証明書を使用しているエラー
ERR_CERT_SYMANTEC_LEGACY は、2018年10月にデジサート(旧シマンテック)発行のSSL証明書を大量失効した際にChromeブラウザに追加されたエラーです。詳しい経緯などは『2018年10月公開のChrome70よりデジサート証明書の失効と赤文字の警告表示が開始』をご覧ください。このエラーはSSL証明書の有効期限がまだ残っていても、古いデジサート(旧シマンテック)証明書を使っている場合は危険なサイトとみなし、アクセスが遮断されてしまいます。詳細設定には以下のメッセージが表示されています。
このサーバーがexample.jpであることを確認できませんでした。このサーバーのセキュリティ証明書は、ご使用のパソコンのオペレーティング システムによって信頼されているものではありません。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。
このエラー自体は、旧シマンテックが発行していた古いSSL証明書を利用しているサイトに表示されるのですが、詳細設定ではそのような内容に触れていないため、余計にややこしくなっています。このエラーを回避するには、サーバー管理者がSSL証明書の再発行を行うか、新しいSSL証明書を購入して設定する必要があります。
ERR_CERT_SYMANTEC_LEGACYへの対応方法
- SSL証明書を更新して再設定する
- 新しいSSL証明書を購入して設定する
OSCPに関連するエラー
OCSP(Online Certificate Status Protocol)はSSL証明書の失効状態を管理する規格です。一部のブラウザではこのOCSPにより厳格にSSL証明書の失効状態を確認してからサーバーへのアクセスを開始するため、言い換えればOCSPレスポンダと呼ばれるサーバーへのアクセスができないとサイトが閲覧できない場合があります。「The OCSP server has no status for the certificate.」といったエラーが表示される場合はOCSPレスポンダへのアクセスが阻害されている場合があります。
先程のエラーとは異なり、サーバー管理者には非がありません。実はエンドユーザー(ブラウザで見ているあなた)側のネットワークや、OCSPレスポンダのサーバーを運営する認証局側に問題がある可能性が高いです。この場合、認証局の対応や、エンドユーザー側のファイアウォール設定で解消する可能性が高くなります。
また、OCSPはウェブサイトの読み込み速度を落とす要因になることから、様々なキャッシュ方法が設けられています。例えば、OCSP情報をそのウェブサイトのサーバーがキャッシュする仕組みがあり、OCSPステープリングと呼ばれています。他にもFirefoxブラウザでは、ブラウザ内にOCSPの検証結果を6時間程度キャッシュする仕組みがあったりします。しかし、これらのキャッシュ機能がある故に、一度問題が起きるとキャッシュが切れるまでアクセスできない、という状況をもたらすことがあり、複数のキャッシュも相まって原因特定に時間が掛かってしまうこともあります。
このOCSPを厳格にチェックしないブラウザもあります。OCSP~というエラーが表示された場合、Chromeブラウザで再度アクセスしてみるとサイトが閲覧できることがあります。ただし、ChromeブラウザでもEV証明書は厳格にチェックされているので、その場合は閲覧できない可能性があります。
OCSP関連のエラーが表示された場合
- 別のブラウザでアクセスしてみる
- 自分のネットワークが外部サイトの閲覧制限をしていないか確認する
- 認証局のOCSPレスポンダで障害が起きていないか確認する
- 6時間程度待ってみる
SSLプロトコルが古いor合わない場合のエラー
サイト側でTLS1.0/1.1を利用していると、2020年からブラウザ側でエラーが表示されるようになります。アドレスバーでの表示から段階的にアクセスがブロックされる警告へと移行する予定です。TLS1.0/1.1の警告表示については『ついにTLS 1.0/1.1の無効化が決定!影響や確認・対応方法とは?』で詳しく紹介しています。
サーバー管理者の方は、必ず実施しなければならない対応となるため、ぜひご確認ください。
まとめ
今回はSSL証明書のサイト表示にまつわるエラーや警告表示についてご紹介しました。ブラウザで表示されるエラーは、どれもサーバー管理者が対応しなければ解消しないものがほとんどですが、中には利用者側のネットワーク設定に問題がある可能性もあります。多くの認証局でこれらのエラーに関するFAQを用意しています。ブラウザなどでエラーが出た場合、認証局のサポートページを見てみましょう。
- サイバートラスト
SSL 通信時のセキュリティ警告やエラーについて - GMOグローバルサイン
エラーについて | SSLサーバ証明書サポート情報
SSLに関するエラー発生時にはSSLチェッカーが非常に有用です。
- Digicert
Check Website Security - サイバートラスト
サーバ証明書の設定確認 - グローバルサイン
SSL Server Test (Powered by Qualys SSL Labs)
SSLチェッカーでサーバー側を確認して問題が無さそうであれば、自分のネットワーク側の問題になる可能性が出てきます。手っ取り早く確認するには、Wi-Fi接続していないスマートフォンから同じサイトにアクセスしてみるのも良いでしょう。スマートフォンはWi-Fi接続しない場合、携帯電話会社のネットワークからアクセスするため、別環境での確認に最適です。
SSL設定の確認やトラブルシューティング時は、普段使っているブラウザとは別のブラウザで確認することが非常に大切です。普段からSSL設定確認用にキャッシュなどを保存しない設定にしたブラウザを用意しておくと良いでしょう。
また、SSL証明書のエラーの多くは、エラー画面に対処方法が記載されていないことがほとんどです。認証局や販売サイトなど、様々な事業者のサポートページを検索して確認することも重要です。いきなり作業してしまうと思わぬミスで慌ててしまうこともあります。じっくり時間をかけて、可能なら無料SSL機能を使って練習するなど事前準備をしっかりして臨みましょう。