2016-07-11 15 views
1

httpsのIBM Libertyサーバー(IBM Container上)を自己署名入りの証明書(server.xmlで説明)で実行しています。IBM LibertyとCloudant間のSSLハンドシェイクの失敗

私はIBMのクラウドデータベースにDBのニーズで接続しています。リバティーサーバーをhttpsに切り替えるまでは、すべてうまくいきました。私は自由のトラストストアにopenssl s_client -connect cloudant.com:443 -showcerts > cloudant.certによって生成されたcloudant証明書をインポートするには、ここhttps://www.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.installconfig.doc/install_config/t_install_datastore_config_certificates.htmlを文書化し、その後、次のexcepton

[ERROR ] CWPKI0022E: SSL HANDSHAKE FAILURE: A signer with SubjectDN CN=*.cloudant.com, O="Cloudant, Inc.", L=Boston, ST=Massachusetts, C=US was sent from the target host. The signer might need to be added to local trust store /opt/ibm/wlp/output/defaultServer/resources/security/key.jks, located in SSL configuration alias defaultSSLConfig. The extended error message from the SSL handshake exception is: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
java.security.cert.CertPathValidatorException: The certificate issued by CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US is not trusted; internal cause is: 
java.security.cert.CertPathValidatorException: Certificate chaining error 

を取得していますが、それは問題を解決しませんでした。

あなたのお手伝いがありがとうございます。

答えて

1

お試しください:openssl s_client -connect xxxxx-bluemix.cloudant.com:443ここで、xxxxx-bluemix.cloudant.comはご使用のBluemix Cloudantサービスインスタンスを表します。

CloudantサービスインスタンスからBluemixでCloudantダッシュボードを起動することで、サービスインスタンスドメインを取得できます。右上の[API]タブをクリックします。

+0

私はこのミスをかなり遅く認識しましたが、それが問題の解決に役立ちました。 'cloudant.com'、' bluemix.cloudant.com'、 'xxxxx-bluemix.cloudant.com'の証明書はすべて異なっていて、' xxxxx-bluemix.cloudant.com'を使う必要がありました。また、私が持っていたもう一つの問題は、デフォルトのトラストストア '/opt/ibm/wlp/output/defaultServer/resources/security/key.jks'の存在が、' securityUtilityを使って自己署名証明書を生成するまで存在しませんでした私のDockerfileの自由のcreateSSLCertificate'ユーティリティ。これは、bluemix-cloudant証明書をインポートする前に行う必要がありました。 –

関連する問題