JAVA後端請求HTTPS 的URL 遇到的問題
1、當沒有匯入證書的情況下,訪問https的url,後臺一般會報 類似如圖的 PKIX錯誤。那麼就需要將證書匯入jre
2、獲取證書,用谷歌瀏覽器,點選位址列左上角,將訪問地址的證書儲存為cer檔案。
3、 以下命令是直接將證書匯入jdk的jre內。 執行命令時要先cd到 jre的bin目錄下面。
keytool -import -keystore "D:/Program Files/Java/jdk1.6.0_45/jre/lib/security/cacerts" -storepass changeit -keypass changeit -alias sign -file jkqz_der.cer
4、確認證書又沒有匯入,執行命令時要先cd到 jre的bin目錄下面。 以下命令會顯示所有的證書,從裡面找到就是匯入了。
keytool -list -v -keystore ../lib/security/cacerts -storepass changeit
5、如果出現失誤,可以用以下命令進行刪除。
keytool -delete -alias signuser -keystore ../lib/security/cacerts -storepass changeit
6、證書匯入之後,可能會報以下dns錯誤。我遇到的是,在訪問時沒有對ssl進行處理。
解決方法是,在再請求url之前,呼叫以下方法。
7、另外的證書匯入方式
keytool -importcert -noprompt -trustcacerts -alias signuser -file signuser.cer -keystore mykeystore.jks
signuser.cer 放到bin目錄下
輸入密碼 123456
keytool -importkeystore -srckeystore mykeystore.jks -destkeystore ../lib/security/cacerts
參考:
https://www.jianshu.com/p/cd43ce78d34c
https://blog.csdn.net/audioo1/article/details/51746333