2016-10-10 48 views
0

我已經使用java.net.URL類在Java中編寫了一些代碼,用於從URL中讀取內容。 Using java net url connection如何在不禁用SSL驗證的情況下調用https URL?


該URL是一個安全的URL(https)。
現在,我已經在這個答案Dissable SSL Verification中使用了這個建議。

但我想正確地做到這一點(即不能解除ssl驗證)。我如何實現這一目標?我需要採取哪些措施來實現這一目標?
這可能已經回答了,請指出我的方向是正確的。

+0

您需要從您嘗試訪問您的計算機的主機安裝SSL證書。使用瀏覽器也是一樣,如果主機上的SSL不可驗證,那麼您需要添加一個異常。根據你使用的操作系統,你可以很容易地做到這一點。 – px06

+0

如果服務器沒有CA簽名證書,請向他們抱怨。如果你是'他們',修復它。有辦法處理自簽名證書,但即使在短期內,更let論長期來看,它們更昂貴且不太安全。 – EJP

回答

0

如果服務器使用有效(由CA簽名)證書,則代碼不應該有任何問題。 如果服務器沒有使用有效的證書,你可以把證書導入您的客戶端JVM中的cacerts文件:

keytool 
    -import 
    -alias <provide_an_alias> 
    -file <certificate_file> 
    -keystore <your_path_to_jre>/lib/security/cacerts 

其中<certificate file>是將證書從Web服務器獲取。 但是,只有在連接到測試環境時才應該這樣做。

相關問題