著者:田中麻維
大手電機メーカー系のSierに入社後、インフラエンジニアとしてLinuxサーバーの構築や保守・運用、ソフトウェアの開発業務を経験。アイティベル入社後は、IT領域の執筆などを行う。
Webサイトに接続する際に「SSLで接続できません」というエラーを見たことがあるでしょうか。
SSL接続時のエラーには、さまざまな原因があります。本記事では、「SSLで接続できません」が表示される原因や解決策について解説します。
1. SSLで接続できませんとは
スマートフォンやPCからWebサイトにアクセスする際、以下のようなエラーが出ることがあります。
「SSLで接続できません」というエラーには、さまざまな原因があります。また、このエラーを解決するためにはデバイスの設定を変更するか、サイトを提供するサイト側で対応が必要です。
まずは、エラーが表示された際にどのようなことが起きているかについて解説していきます。
SSL接続エラーの概要
「SSLで接続できません」というエラーは、自身が利用しているデバイスから接続したいWebサイトへのSSL接続時の暗号化通信が確立できない場合に表示されるエラーです。
多くの場合、SSL暗号化通信を確立するための証明書の不備が原因です。
SSLとはなにか
SSL接続エラーの対処手順や対処法について詳しく解説する前に、そもそもSSLとは何かについて簡単に説明します。
SSLとは、Secure Sockets Layerの略で、デバイスで利用するブラウザと、接続したいWebサイトとの通信を暗号化するための仕組みのことです。上図のように、証明書を利用して、ブラウザ(デバイス)とWebサーバー間の通信を暗号化します。
SSL通信を使用しているWebサイトは、URLが「https」から始まります。
SSL通信についての詳しい情報は、関連記事を参照ください。
なぜSSL暗号化通信が必要なのか
では、なぜSSLによる暗号化通信が必要なのでしょうか。
たとえば通販サイトで買い物をするときには、会員登録や商品購入のために、個人情報やクレジットカード情報を入力します。このときに通常のHTTPの通信を利用すると、通信内容が平文でやり取りされているため、外部から盗み見されてしまうかもしれません。
そのため、SSL暗号化通信を利用して情報を保護します。
SSL接続エラー発生時の注意点
「SSLで接続できません」のエラーが発生していても、当該Webサイトに接続できることがあります。この場合、HTTPでの通信となるため、通信内容は暗号化されていません。情報を盗み見されるリスクがあるため、調査目的であっても、そのまま接続することは避けましょう。
どうしてもそのサイトを見たい場合は、個人情報の入力といったサイト閲覧以外の操作はしないように注意してください。
2.SSL接続できない場合の原因と解決策
SSL接続でサイトにアクセスできない主な原因は、ブラウザまたはデバイスにあります。
それぞれの原因と解決方法を詳しく解説していきます。
原因①:利用するデバイスのブラウザのバージョンが古い
ブラウザのバージョンが古い場合、「https」の接続に対応していないことがあります。
解決策
まずは、使用しているブラウザのバージョンを確認しましょう。バージョンが古ければ最新のバージョンにアップデートします。アップデート後は、ブラウザの再起動を実施し、エラーが発生したWebサイトの再読み込みを実施します。
ブラウザのバージョン確認方法(Google Chromeの場合)
- ブラウザ右上の「…」をクリックする
- 「ヘルプ」→「Google Chromeについて」をクリックし、バージョンを確認する
ブラウザのバージョン確認方法(Microsoft Edgeの場合)
- ブラウザ右上の「…」をクリックする
- 「設定」→「Microsoft Edgeについて」をクリックし、バージョンを確認する
原因②:キャッシュやCookieに古い情報が残っている
キャッシュやCookieに古い情報が残っているために、SSL認証が失敗している可能性があります。
解決策
ブラウザのキャッシュとCookieを削除することで解決する可能性があります。
キャッシュとCookieの削除方法(Google Chromeの場合)
- ブラウザ右上の「…」をクリックする
- 「閲覧履歴データの削除」をクリックする
- 「Cookieと他のサイトデータ」と「キャッシュされた画像とファイル」を選択し、「データを消去」をクリックする
キャッシュとCookieの削除方法(Microsoft Edgeの場合)
- ブラウザ右上の「…」をクリックする
- 「設定」→「プライバシー、検索、サービス」をクリックする
- 「閲覧データの消去」→「クリアする内容を選択する」をクリックする
- 「キャッシュされた画像とファイル」を選択し、「今すぐクリア」をクリックする
参考:Microsoft Edge で Cookie を管理する
原因③:ブラウザの拡張機能が有効になっている
ブラウザの拡張機能が、SSL接続を邪魔していることがあります。
解決策
ブラウザの拡張機能を削除すると解決する場合があります。ブラウザのシークレットモードで当該Webサイトに接続してみてエラーがなければ、拡張機能がエラー原因である可能性が高いでしょう。
拡張機能の削除方法(Google Chromeの場合)
- ブラウザ右上の「…」をクリックする
- 「その他ツール」→「拡張機能」をクリックする
- 無効にする拡張機能を選択し、「削除」をクリックする
拡張機能の削除方法(Microsoft Edgeの場合)
- ブラウザ右上の「拡張機能」から、無効にしたい拡張機能を選択し、「その他のアクション」をクリックする
- 「Microsoft Edge から削除」→「削除」をクリックする
参考:Microsoft Edge の拡張機能を追加したり、オフにしたり、削除したりする
原因④:デバイスで利用するセキュリティソフトウェアによる干渉
ウイルスやマルウェア対策のためにデバイスで使用しているセキュリティソフトウェアが、「https」の接続をブロックしてしまっている場合があります。
解決策
ウイルスやマルウェアのスキャンを実行した後に、ソフトウェアを一時的に無効化し、問題なく接続できるか確認します。
注意点として、無効化する前に必ずスキャンを実施しましょう。セキュリティソフトウェアを無効化している間には、ウイルスやマルウェアからの攻撃を受けてしまう可能性があるためです。
原因⑤:SSLサーバー証明書の期限切れ
「接続がプライベートではありません」「NET:ERR_CERT_AUTHORITY_INVALID」などのエラーが表示される場合は、SSLサーバー証明書の期限が切れている可能性があります。
解決策
サーバー証明書の有効期限を確認し、有効期限が切れている場合は、新しいサーバー証明書を適用します。
まず、コンピュータに保存されているすべての証明書を削除しましょう。その後、SSL接続エラーが発生したサイトを再度更新すると、ブラウザで証明書の再認証が行われ、エラーが解決することがあります。
SSLサーバー証明書の有効期限の確認方法
- サイトのURLが記載されているアドレスバーにある鍵マークをクリックする
- 「この接続は保護されています」をクリックする
- 表示された画面下部に「この証明書は有効です」と表示されていることを確認する
SSLサーバー証明書の削除方法(Windows11の場合)
- 「スタート」を開き、検索窓に「certmgr.msc」と入力し、エンターキーをクリックする
- 「個人」を選択し、「証明書」をクリックする
- 削除したいクライアント証明書を右クリックし、「削除」をクリックする
SSLサーバー証明書の削除方法(macOSの場合)
- 「キーチェーンアクセス」を開く
- 「ログイン」から証明書を開き、削除したいSSL証明書を選択する
- 上部のメニューバーの編集から削除を選ぶ
- 削除をクリックする
原因⑥:デバイスの日付や時刻設定の誤り
特定のクライアントだけでエラーが表示される場合は、そのデバイスの日付や時刻が実際のものとズレているために、SSL認証の問題が発生している可能性があります。
解決策
OSの時刻と日付の設定を確認し、正しいものに修正しましょう。修正後にPCを再起動してから、Webサイトに再接続してください。
ブラウザを再起動するだけでも、最新の時刻や日付がブラウザに反映されます。しかし、時刻の設定変更は、さまざまなアプリケーションへの影響があるため、時刻や日付の変更後はPCの再起動が推奨されます。
日付と時刻の設定方法(Windows11の場合)
- 「スタート」→「設定」→「時刻と言語」→「日付と時刻」をクリックする
- 「時刻を自動的に設定する」と「タイムゾーンを自動的に設定する」の両方を有効にする
※手動で設定する場合は、「時刻を自動的に設定する」で「オフ」を選択し、日時と時刻を入力後、「変更」をクリックします。
日付と時刻の設定方法(macOSの場合)
- 「システム設定」→「一般」→「日付と時刻」をクリックする
- 「日付と時刻を自動的に設定」にチェックを入れる
※手動で設定する場合は、「日付と時刻を自動的に設定」で「オフ」を選択し、日時と時刻を入力後、「設定」をクリックします。
3.SSLサーバー証明書の発行元が原因の場合
SSL接続できない原因が、デバイス側ではなく、SSLサーバー証明書の発行元にある場合もあります。
以下のようなエラーコードが表示される場合は、SSLサーバー証明書の発行元に問い合わせをし、サーバー側の証明書の再インストールを依頼しましょう。
エラーコード | 原因 | 解決策 |
NET::ERR_CERT_COMMON_NAME_INVALID | 証明書の名前が接続先ドメインと一致しない | 証明書を再発行し、サーバーの名前やIPアドレスが正しいことを確認 |
SSL Handshake Failed | 利用するデバイスとWebサーバーの間でSSL接続の確立が失敗した | さまざまな要因があることから切り分けの実施が必要 |
ERR_SSL_OBSOLETE_VERSION | Webサイトが古く、安全でないバージョンのSSL/TLSを利用している | Webサーバー側のバージョンを更新する |
ERR_SLL_PROTOCOL_ERROR | SSLプロトコル自体に問題がある。主に証明書の署名アルゴリズム不一致 | さまざまな要因があることから切り分けの実施が必要 |
Webサイト提供側で意識すること
利用者がWebサイトにアクセスした際にSSLエラーが表示されてしまうと、サービス提供側の信頼にかかわります。そのため、Webサイト提供側は、適切な設定と運用を意識する必要があります。
具体的には、定期的に以下を実施しましょう。
- サーバーやアプリケーションの更新
- SSLサーバー証明書の有効期限の確認
安定して運用ができるよう、運用ルールを定めて管理することをお勧めします。
4.まとめ
Webサイトに接続する際に「SSLで接続できません」と表示される原因と具体的な解消法を説明しました。
「https」で始まるサイトにアクセスできない原因は、ブラウザのバージョンや、セキュリティソフトウェアによる干渉、SSLサーバー証明書の有効期限切れなど複数あります。エラーを解消するためには、原因に合わせた対処が必要です。
Webサイト提供側は安定したサイト運営のために、サーバーやアプリケーションの更新
や、SSLサーバー証明書の有効期限の確認を定期的に実施することが大切です。