新しい SSL 証明書を GlassFish 3.1.2.2 で動作させるのに苦労しています。現在の SSL 証明書が間もなく期限切れになるため、GlobalSign で更新を注文しました。
現在の SSL 証明書を使用すると、次の応答が得られます (これは、テスト目的で SoapUI を介して行われます)。
HTTP/1.1 200 OK
X-Powered-By: Servlet/3.0 JSP/2.2 (Oracle GlassFish Server 3.1.2.2 Java/Oracle Corporation/1.7)
Server: Oracle GlassFish Server 3.1.2.2
Pragma: No-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 01:00:00 CET
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Mon, 11 Jan 2016 13:38:32 GMT
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>..(xmlresponse)..</xml>
ただし、新しい SSL 証明書がアクティブになっていると、次のメッセージが表示されます。
ソープUI:
Error getting response; javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake.
ブラウザ:
This page can’t be displayed
Turn on TLS 1.0, TLS 1.1, and TLS 1.2 in Advanced settings and try connecting to again. If this error persists, contact your site administrator.
Glassfish の設定で変更したのは次の 1 つだけです。
構成 > server-config > HTTP サービス > HTTP リスナー > http-listener-2 > SSL タブ
- 古いエイリアス (mydomain) から新しいエイリアス (mydomain.net) への Certificate NickName フィールド。キーストア内の秘密鍵のエイリアスと一致します。
- 古いキーストア (server.keystore) から新しいキーストア (ssl_mydomain_net.jks) へのキー ストア フィールド値 (ファイル名)
新しいキーストアと古いキーストアの両方がC:\glassfish3\glassfish\domains\mydomain\config
フォルダー内にあります。
古い SSL 設定:
新しい SSL 設定:
すでに GlobalSign サポートと連絡を取り、キーストアが正しく生成されていることを確認しました。
実行するkeytool -list -keystore ssl_mydomain_net.jks
と、正しいはずの次の出力が得られます。
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 3 entries
root, Jan 8, 2016, trustedCertEntry,
Certificate fingerprint (SHA1): <...>
intermediate, Jan 8, 2016, trustedCertEntry,
Certificate fingerprint (SHA1): <...>
<mydomain>.net, Jan 8, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): <...>
私が結論付けた限りでは、Glassfish と関係があります。私はここに選択肢がないので、誰かが何か知っていますか...
2016 年 1 月 13 日更新
Glassfish 3.1.2.2 から Payara 4.1 (基本的には Glassfish 4.1) にアップグレードしました。新しい新しいドメインを作成したところ、デフォルトで次の jks ファイルがmydomain/configフォルダーにあることに気付きました。
- cacerts.jks
- キーストア.jks
独自の jks (ssl_mydomain_net.jks) をこのフォルダーに追加し、新しい SSL イメージで上記のように http-listener-2 の設定を調整しました。これにより、この投稿の冒頭で述べたのと同じ結果が得られました。
私は何が欠けていますか?デフォルトの jks ファイルを調整する必要はありますか? 独自に作成したキーストアではなく、keystore.jks から csr を作成する必要がありますか?