jdk信任证书

  在使用httpclient请求时,使用proxy设置后,然后就报错了。

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

 

 

1、获取访问网址的证书.cer文件.

  在浏览器输入网址,点击网址左边的锁符号

  

 

 

2、添加jdk信任证书

将下载好的.cer文件复制到 %JAVA_HOME%/jre/bin/目录下,打开命令窗口输入以下命令(报错就继续往下看):

  

keytool -import -v -trustcacerts -alias 文件名 -file 文件名.cer -storepass changeit -keystore %JAVA_HOME%/jre/lib/security/cace

呵呵,这里就踩坑了,网上一群抄来抄去的也不验证到底行不行,

说明:

  changeit 是密码, java默认。

  keytool.exe是在 %JAVA_HOME%/jre/bin/目录下的,jdk默认自带。

  cacerts是文件(即将要把证书导入到其中的文件),在 %JAVA_HOME%/jre/lib目录

  keytool命令的 -ketstore参数 跟着的密钥库名称要加上双引号。

  是否信任此证书? [否]:"  ,那么请输入"y"。

 

3、查看cacerts中的证书列表

 keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts"  -storepass changeit

 

4、删除cacerts中指定名称的证书

keytool -import -alias 文件名 -file 文件名.cer -keystore "%JAVA_HOME%/jre/lib/security/cacerts"  -storepass changeit-trustcacerts

(当初网上找到2的时候,复制命令死活报错,直到3、4命令,看到了 -keystore  "x/x/x" )

 

posted @ 2019-03-01 11:24  tooy  阅读(5825)  评论(0编辑  收藏  举报