为HttpsURLConnection添加信任证书
今天通过微信发送消息的程序一直能正常使用,但是突然间微信不发送消息了,通过调试发现代码每次执行到
HttpURLConnectionconnection = (HttpURLConnection)
httpurl.openConnection();
connection.connect();时就报错通过,错误提示如下:
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException: PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException: unable to findvalid certification path to requested target
以上错误大概意思证书信任有问题。经查资料按以下步骤可解决问题。
如何把安全证书导入到java中的cacerts证书库
在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢?
其实很简单,方法如下:
每一步:将证书 1_root_bundle.crt 文件复制到
C:\目录下
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库
方法如下
假设你的jdk安装在C:\jdk1.5这个目录,
开始 >> 运行 >> 输入cmd 进入dos命令行 >>
再用cd进入到C:\jdk1.8 \jre\lib\security这个目录下
敲入如下命令回车执行
keytool -import -alias cacerts -keystore cacerts -file c:\ 1_root_bundle.crt
此时命令行会提示你输入cacerts证书库的密码,
你敲入changeit就行了,这是java中cacerts证书库的默认密码,
输入密码后,回车后提示是否信息这个证书,输入Y,然后敲入回车就OK。