天天看點

解決PKIX path building failed的問題

java在請求某些不受信任的https網站時會報:pkix path building failed

解決方法一:使用keytool手動導入證書,為jre環境導入信任證書

方法二:使用代碼下載下傳證書儲存

方法三:伺服器不信任我們自己建立的證書,是以在代碼中忽略證書信任問題。

最後注意:檢查eclipse/myeclipse的jdk或jre,是否為你導入證書的jre。

注意:myeclipse是自帶jdk的,jdk中自帶jre,而我們通過指令導入的jre是系統環境變量下path的jre。

兩者很可能不是同一個,要改myeclipse的配置。(具體操作很簡單,windows-->preferences-->搜尋jre)

方法二代碼實作

功能:把目标host證書儲存到jre/lib/security/jssecacerts檔案,親測有效

  

方法三代碼實作

  隻要在建立connection之前調用兩個方法:

  由于有網友這麼說:這樣做是放棄了證書的認證,那你們用https還有什麼意義呢?就好像搭建了一個https的server,最後在認證失敗的時候放棄認證,直接選擇信任,那麼這個https的server就淪落為一個http的server了,而且性能要比http差

  在下就沒有測試,請自行測試。