先週会社で使用している数十台のサーバーでSSL証明書を「Let's encrypt」に切り替えたのですが、
その時に発生したトラブルをまとめてみます。
前提:
「Let's encrypt」のインストール後、各種ブラウザ(ie, firefox, chrome, safari)では
httpsのWebページが正常に閲覧できる状態です。
トラブル連絡:
SSL証明書を「Let's encrypt」 に変更後、ブラウザ以外からは
サーバーに繋がらないという連絡が相次ぎました。
発生パターン
・Javaのバージョンが古い。
JavaがLet's encryptに対応したのは、2016年7月19日にリリースされたVersion 8 Update 101からです。
・SVNのバージョンが古い
・その他、組み込みライブラリのバージョンが古いと思われる。
まとめると各種プログラム内で使用している信頼済み証明書にLet's encryptが入っていないと
通信ができないということが分かりました。
ネットワークを流れるパケットをwiresharkで見てみると、以下のエラーが検出されました。
SSLv3 Record Layer: Alert (Level: Fatal, Description: Handshake Failure)
当初は証明書の追加インストールなどで対応できるものは対応しようとしたのですが、
証明書の追加ができないプログラムは数多くあります。
プログラムバージョンなども容易に変えるわけにはいきません。
eclipse のプラグインも個別に証明書を追加することは難しいです。
結局の所、弊社ではいくつかのサーバーのみ「Let's encrypt」を止めて、
有料SSL証明書を購入する方向になりました。
Template Designed By
ぐらいんだぁ
ぐらいんだぁ