2016-10-04 21 views
1

私のサーバーの1つがセキュアポートに接続しようとすると、SSL例外が発生します。私は追加する必要があり、他の設定があるjavax.net.ssl.SSLHandshakeException:セキュアポートに接続中のjava.security.cert.CertificateException

<keyStore id="defaultKeyStore" location="/root/ssl/bmx-zuu.net.jks" password="passw0rd" /> 

追加したserver.xmlの

-Djavax.net.ssl.trustStore=/home/rpp/TrustStore 
-Djavax.net.ssl.trustStorePassword=passw0rd 
-Djavax.net.ssl.trustStoreType=jks 

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIXCertPathBuilderImpl could not build a valid CertPath. java.security.cert.CertificateException: PKIXCertPathBuilderImpl could not build a valid CertPath. PKIXCertPathBuilderImpl could not build a valid CertPath 

私はjvm.optionsでトラストストアを設定していますか?

+0

自己署名入りの証明書ですか? – Azim

+0

@Azimはいそれは自己署名入りの証明書です – user1692342

答えて

2

以下のようにLibertyでSSL設定を定義してみてください。キーストアは上記の定義どおりに定義されていますが、server.xmlにTrustStoreを追加します。 TrustStore.jksには、サーバーとの信頼関係を確立するための署名者証明書があると仮定しています。

<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef=“myTrustStore"/> 
     <<keyStore id="defaultKeyStore" location="/root/ssl/bmx-zuu.net.jks" password="passw0rd" /> 
     <keyStore id=“myTrustStore" location="${server.config.dir}/TrustStore.jks" password="mypassword" type="JKS"/> 
+0

うわーこれはうまくいった! Libertyはjvmオプションから読みませんか? – user1692342

+1

Libertyは、SSLContext.setDefault()を使用して、デフォルトのSSLContextをプロセスのデフォルトのSSLContextに設定します。したがって、あなたのjvm.optionsファイルに設定されていたものが一掃されます。ここでは、http://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/rwlp_liberty_ssl_defaults.htmlを参照しています。 – Alaine

0

は、出力での

openssl s_client -connect <hostname>:<portnumber> -showcerts 

ルックを使って試してみて、証明書のサブジェクトと発行者が何であるかを判断します。

証明書の発行者がTrustStoreファイルにあることを確認します。

これが中間CAから発行された場合、サーバーはパスのルート(ルートCA未満)まで発行チェーンを提示する必要があります。トラストストアにルートCA証明書が含まれている必要があります。

+0

これはTomcatで動作するので、トラストストアの問題ではないようです。私はリバティーでこの問題に直面しています – user1692342

+0

リバティはTLSで何かを呼び出そうとしていますか?その自由に適合するようなトラストストアを設定すると、そこにあるものによって発行された証明書だけを信頼できるようになります。 –

+0

どうすればそれを確認できますか?トラストストアを設定する他の方法はありますか? – user1692342

関連する問題