2012-02-24 209 views
0

有第三方Web服務託管通過HTTPS,同時消費Web服務我面臨SSL握手失敗錯誤。SSL握手失敗

出於安全考慮,我們無法訪問第三方網址或服務,只有我們的客戶可以從那裏訪問環境。

我已經做了足夠的命中和審判,但仍然沒有成功。

我們的應用程序運行在Weblogic 9.2上。

第三方提供了證書(.p7b格式)。我已經將這些證書導入到javakeystore(cacerts)中,即使在weblogic密鑰庫(demotrust.jks)中也是如此,但仍然是相同的錯誤。我已經嘗試了在密鑰庫中導入證書的不同組合,我也可以在密鑰庫中看到證書的輸入。

即使我們要求客戶端在該環境中生成的存根(因爲我們無法從我們的環境訪問),使用HTTP存根正在生成但使用HTTPS時,它會導致SSL握手失敗。

我想如果我們解決了這個問題,那麼應用程序也會運行。

應用程序在http上運行良好,但是在https上它會導致SSL握手失敗錯誤。

我已經正確地從(.p7b轉換爲.cer格式然後導入)轉換,甚至使用.p7b將.pem轉換爲.der格式,然後導入到java密鑰存儲區demotrust.jks中,但仍然不起作用。

我錯過了任何步驟,請讓我知道。

+0

你不能問第三方什麼問題?我會認爲你不是他們唯一的客戶。 – 2012-02-24 17:48:21

+1

第三方證書是否由知名認證機構簽署?如果它是自簽名的,Java將不會使用它,除非您還將CA證書添加到密鑰庫。 – 2012-02-24 17:59:01

+0

實際上有3個證書,我猜一個是根CA,另一個是中間CA。我嘗試單獨導入以及一起導入,但沒有成功。 – 2012-02-25 08:48:46

回答

0

通過將證書添加到cacerts文件並將其指向weblogic來解決此問題。 內部證書鏈未正確導入到cacerts文件中。