2009-07-29 106 views
1

問題:找不到可信證書

我從javax.net.ssl.SSLHandshakeException得到一個錯誤拋出(見附圖)

alt text

是否有可能爲Java有腐敗或缺少CA證書?如果是這樣,我該如何修復或解決這個問題/錯誤?

事情我已經嘗試:

  1. 我已刪除從PC JRE的所有版本,並安裝了最新版本的JRE(1.6.14)。
  2. 從證書的用戶部分清除並刪除所有不必要的可信任證書。
  3. 嘗試運行密鑰工具來獲得的指紋CA的

當試圖運行我得到以下密鑰工具:

密鑰工具錯誤:java.security.cert.CertificateParsingException:JAVA。 io.IOException:主鍵,java.security.spec.InvalidKeySpecException:未知鍵規範。

+0

你能提供一些你正試圖連接到什麼網址的細節嗎? – 2009-07-29 19:38:59

+0

由於隱私控制,我無法發佈我嘗試連接的網址。我試過在另一臺機器上連接成功。所以我知道這是一個環境問題,而不是代碼問題或服務器端問題。 – 2009-07-29 20:35:37

回答

1

從理論上講,Java可能存在一個腐敗的CA證書,但是IMO極不可能。您想要的CA證書更可能不在JRE的cacerts商店中。您可以使用'keytool'檢查商店的內容(至少在Linux上);例如

keytool -list -keystore /usr/java/jdk1.6.0_14/jre/lib/security/cacerts 

掃描該列表以查看是否可以看到您的URL需要的CAcert指紋。

參考:JDK 6.0 JDK Development Tools/Security Tools頁/節。