Let’s Encrypt証明書での接続エラー

XSERVER、Zenlogic、などでLet’s Encryptの証明書が手軽に無料で使えるようになっています。
今後も利用はどんどん広がっていくと思いますが、Javaの世界ではそうでもないようです。

 

Let’s Encrypt & Java8 update77での接続

手元にJava8 update77の環境があるのでLet’s Encryptの証明書を設定してあるXSERVERのHTTPサーバーに接続してみます。
コードは以下の通り検証するだけのものです。
何の実用性もなくてすいません。

実行した結果、以下のExceptionが吐かれました。

このエラーを見ると、Javaのクライアント側に証明書を作って入れたくなりますが、ちょっと我慢してみましょう。

 

googleのホスト & Java8 update77での接続

続いて、googleに接続してみます。
Googleの証明書の発行者は・・・Googleですね。
先ほどの接続先をhttps://www.google.co.jp/に変更しただけです。

実行結果は以下のとおり、正常に接続できました。

 

Let’s Encrypt & Java8 update102での接続

続いて、最新のJDK、Java8 update102で試してみましょう(2016年7月29日現在)。
Let’s Encryptの証明書が設定してあるホストへの接続結果です。

正常に接続できました。
ホスト名は書き換えているわけですけれど。

 

対処方法について

Let’s Encryptの証明書はJava 8 Update101からサポートされているようです。
https://www.java.com/ja/download/faq/release_changes.xml
identrustがルートCAに追加されているのがそれですね。

https://letsencrypt.org/certificates/

しかし、Java 8 Update101がリリースされたのは2016年7月19日のことで、既存システムのJREを置き換える作業がそれほど進むとは思えません。
今後しばらくはJavaからの接続が必要なシステムは、接続元に証明書を追加するか、従来の証明書を購入する必要があるでしょう。

特にレンタルサーバーなどではchain.pemの入手も困難だと思いますので、証明書を購入するのが確実だと思います。

 
最近ではWordPressでサイト構築した際にSSL化するケースも多いかと思いますが、SmartNewsなどにフィードを提供している方、ご注意下さい。

 

楽天市場

Amazon.co.jpアソシエイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)