在使用httpclient請求時,使用proxy設置後,而後就報錯了。java
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
在瀏覽器輸入網址,點擊網址左邊的鎖符號瀏覽器
將下載好的.cer文件複製到 %JAVA_HOME%/jre/bin/目錄下,打開命令窗口輸入如下命令(報錯就繼續往下看):bash
keytool -import -v -trustcacerts -alias 文件名 -file 文件名.cer -storepass changeit -keystore %JAVA_HOME%/jre/lib/security/cace
呵呵,這裏就踩坑了,網上一羣抄來抄去的也不驗證到底行不行,ide
說明:ui
changeit 是密碼, java默認。spa
keytool.exe是在 %JAVA_HOME%/jre/bin/目錄下的,jdk默認自帶。.net
cacerts是文件(即將要把證書導入到其中的文件),在 %JAVA_HOME%/jre/lib目錄3d
keytool命令的 -ketstore參數 跟着的密鑰庫名稱要加上雙引號。blog
是否信任此證書? [否]:" ,那麼請輸入"y"。ssl
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
keytool -import -alias 文件名 -file 文件名.cer -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit-trustcacerts
(當初網上找到2的時候,複製命令死活報錯,直到三、4命令,看到了 -keystore "x/x/x" )