2017-06-09 20 views
0

私はLiberty 16.0.0.4を使用しています。私はFacebookアカウントの画像から画像を取得したいので、Facebookの証明書をLibertyサーバーに追加するにはSSL HANDSHAKE FAILURE:SubjectDN CN = *。facebook.comの署名者

keytool -importcert -keystore /pathToServer/Servers/'03- Liberty 16.0.0.4'/wlp/usr/servers/MyProjectServer/resources/key.jks -file facebook.crt -alias facebooksigner 

証明書がliberty key.jksファイルに正常に追加されました。このファイルに証明書がリストされているときに表示されます。

しかし、画像を使用しようとすると私の問題URL url =新しいURL(pictureUrl);

それが発火

[ERROR] CWPKI0022E:SSLハンドシェークの失敗:SubjectDNとCNと署名者= * facebook.com、O = "フェイスブック社"、L =メンロパーク、ST =カリフォルニア、C = USがターゲットホストから送信されました。

注:私はこれが起こるだから、なぜuが推測できるのserver.xml

<keyStore id="defaultKeyStore" password="{xor}EzY9Oi0rJg=="/>を追加しましたか?ありがとう:)

答えて

0

SSLが機能するためには、クライアントはサーバーが提示するチェーンを最上位(ルート)レベルから完全に信頼する必要があります。

あなたはあなたのトラストストアにFacebookの証明書を入れたと言いますが、完全なチェーンは信頼できますか?少なくとも、Facebook証明書に署名したルートCAは、信頼ストアに存在する必要があります。

+0

どうしてもfacebookの証明書をインストールして、フルチェーンが信頼できることを確認していますか? –

0

16.0.0.4(以前)では、Java SE APIはserver.xmlで定義されたキーストアまたはトラストストアを使用しません。彼らはJREの「cacerts」や、信頼とキーストアを制御するよく知られているSEシステムのプロパティで定義した代替手段を使用します。

17.0.0.1(以降)では、transportSecurity-1.0がロードされている場合、java SE呼び出し側はserver.xmlで定義されたキーストアを使用できます。

関連する問題