2009-09-29 61 views
1

我試圖麻煩拍攝雙向SSL握手機制。我得到一個錯誤步驟麻煩拍攝SSL

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

這表明我的密鑰庫或信任我的一個文件不具有相應的條目。我知道解決這個問題的方法是去服務器的信任庫執行keytool列表檢查簽名權限並來到客戶端的密鑰/信任庫並驗證它。

有人可以清楚地列出這些步驟(與適當的命令)嗎?谷歌搜索並沒有帶領我到任何地方。我只需要列出一個步驟「我如何確認客戶端X可以使用Cert Z以雙向SSL與服務器Y進行通話」?

回答

4

只要證書驗證程序無法在證書和根證書之間建立鏈接,就會引發SunCertPathBuilderException異常。

,以確認該證書驗證的最簡單方法是使用圖形化的工具,如

上述工具推薦,因爲異常通常是拋出在沒有根證書的情況下。

如果要檢查正在交換的證書,最好在驗證失敗的JVM節點上打開ssl debug flag

另一種選擇是使用網絡流量捕獲實用程序(如EtherealMicrosoft Netmon)獲取包含證書交換的流量轉儲。

PS:您是否首先使用正確的密鑰存儲?我記得在很多月前做同樣的錯誤...

+0

嗨Vineet, 我有權訪問證書。我想知道我比較哪些條目?證書中只有很多信息。如何閱讀證書有很好的鏈接嗎? – 2009-09-29 14:18:09

+0

您是否首先使用正確的密鑰存儲? 我如何判斷?我知道我必須比較bin/keytool輸出中的內容,但它是什麼? – 2009-09-29 14:20:30

+0

JVM的密鑰庫通常在啓動時設置,儘管您可以稍後使用System.setProperty()調用來更改此密鑰庫。因此,如果您的JRE的密鑰庫與您用來存儲證書的密鑰庫不同,您將看到此例外,特別是當JRE的密鑰庫沒有中間或可信CA證書時。 – 2009-09-29 14:43:59