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

http://www.cnblogs.com/aiaitie/p/9525562.html

https://blog.csdn.net/tobacco5648/article/details/50781160

猜你喜欢

转载自my.oschina.net/u/1863561/blog/2875653