「ERR_SSL_VERSION_OR_CIPHER_MISMATCH」エラーの解決方法
ChromeやEdgeでERR_SSL_VERSION_OR_CIPHER_MISMATCHエラーが発生すると、特に古いサイトや設定ミスのあるサイトにアクセスしようとした場合に、イライラします。これは主にバックエンドの問題(つまり、ウェブサイトのサーバーが新しい安全なSSL/TLS設定をサポートしていない)ですが、ユーザー側でもいくつか対策を講じられるかもしれません。キャッシュされた情報が影響している場合もあれば、ブラウザがセキュリティ設定に問題があると判断して接続を拒否している場合もあります。この記事では、このエラーを回避または一時的に修正するための、検証済みのややハック的な方法をいくつか紹介し、その原因についても考察します。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH の修正方法
サーバー側の問題を解決する(サイトを管理している場合)
URLバーの南京錠アイコンをクリックしてSSL証明書の情報を確認したことがありますか? 「接続は安全です」>「証明書は有効です」を選択してください。TLSバージョンと証明書の詳細を確認してください。
- 詳細タブでSSL/TLSのバージョンを確認してください。理想的にはTLS 1.2以上です。それ未満のバージョンでは、不一致が発生する可能性があります。
- サーバーがSSL 3.0やTLS 1.0などの非推奨プロトコルをサポートしていないことを確認してください。SSL Labs SSL Testなどのツールは、URLを入力するだけで簡単に確認できます。
- 証明書のホスト名がサイトと一致していることを再度確認してください。ホスト名の不一致はブラウザの不具合の原因となることがよくあります。
CloudflareなどのCDNサービスをご利用の場合は、 Universal SSLの無効化と有効化、モード(Flexible、Full、Strict)の切り替えなど、設定の変更が必要になる場合があります。こうした設定ミスが根本的な原因となっている場合もあります。
残念ながら、サーバーを実行しない限り、この修正は平均的なユーザー向けではありませんが、知識は力です、そうですよね?
SSL 警告をバイパスする(注意あり)
これは一種のチートですが、どうしてもサイトにアクセスする必要がある場合(例えば、ローカルルーターや古いSSL設定を持つ社内デバイスなど)、Chromeではthisisunsafe警告ページを表示したまま入力できます。ポップアップや確認は必要ありません。ブラウザはセキュリティ警告を無視してページを読み込み、通常のブラウジングには推奨されません。主に、サイト上のツールや古いセキュリティ設定を持つデバイスに素早くアクセスしたい場合に適しています。
別のハックとして、別のブラウザを試すという方法もあります。あるブラウザが単に設定にこだわりすぎていて、別のブラウザが古いSSL設定を忘れている場合もあります。ChromeやFirefoxの古いバージョンを使うと(長期的にはお勧めできませんが、緊急の場合は問題ありません)、セキュリティ上の障壁を突破できる場合があります。ただし、これはセキュリティリスクであることを忘れないでください。ブラウザは時間の経過とともにセキュリティを強化する傾向があるからです。
TLS バージョンのダウングレード (長期的には推奨されません)
ここからが厄介なところです。ブラウザの起動フラグや設定を調整することで、TLS 1.0や1.1といった古いバージョンのTLSをサポートするように指示できます。しかし、これは接続の安全性を低下させるので、一時的に有効にして、できるだけ早く元に戻した方が良いでしょう。
Chrome の場合、大まかな手順は次のとおりです。
- Chrome を完全に閉じます。
- Chromeのショートカットをコピーします(右クリックして「コピー」を選択)
- コピーを右クリックして、[プロパティ]を選択します。
- Targetの末尾に以下を追加します:
--ssl-version-min=tls1 --ssl-version-max=tls1.2これはChromeにTLS 1.0からTLS 1.2までをサポートするように指示します。必要に応じて
tls1.1またはに置き換えてくださいtls1。 - 「OK」を押して、そのショートカットでChromeを起動してください。エラーを回避できるかもしれません。
Firefox の場合は、 about:configでこれを調整できます。
- Firefox を開き、
about:configアドレスバーに入力して、警告を受け入れます。 - 検索する
security.tls.version。 - security.tls.version.minとsecurity.tls.version.maxを 0 (SSL 3.0) や 1 (TLS 1.0) などの値に調整します。ただし、セキュリティホールが発生する可能性があるので、調整が完了したら元に戻してください。
本当に困っている場合や、古いデバイスや社内サーバーにアクセスする必要がある場合のみ、この方法を試してください。日常的に使用することはお勧めしません。
ブラウザのキャッシュをクリアする(古い情報が残っている場合もあります)
キャッシュされたSSL証明書やサイトデータが、サーバーに問題がなくてもこのエラーを引き起こす可能性があります。シークレットモードまたはプライベートモードでサイトを読み込んでみてください。もしそこでも問題なく動作すれば、問題はキャッシュにありました。
Chromeでは、 を押してCtrl + Shift + Del、期間で「全期間」を選択し、データを消去を押します。Firefoxでも同じ操作を行いCtrl + Shift + Del、すべて(Cookie、キャッシュ、オフラインデータ)を選択して消去します。これで、あの奇妙な不一致は解消されるかもしれません。
ウイルス対策/ファイアウォールを無効にする(一時的に)
サードパーティ製のウイルス対策ソフトやファイアウォールツールは、SSL証明書を傍受することがあります。特に暗号化されたトラフィックをスキャンまたは検査しようとする場合、その可能性が高くなります。これらのセキュリティレイヤーを一時的に無効にして、もう一度お試しください。問題が解決した場合は、それが原因です。もちろん、必ず有効に戻してください。それでも問題が解決しない場合は、Windows Defenderに切り替える方がスムーズで安全な選択肢となるかもしれません。
正直言って、このエラー自体は頭を悩ませる問題ですが、上記の設定を変更することで、アクセスが必要な際にある程度の柔軟性が得られます。ただし、これらは主に回避策であることに留意してください。サーバーを自分で管理していない限り、真の修正はウェブサイトの所有者または管理者に依頼する必要があります。