在使用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" )