Caused by:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException: https接口证书异常
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: 访问接口证书异常问题解决原因:在linux访问第三方webservice https接口时会抛javax.net.ssl.SSLHandshakeException异常,这是因为jdk不信任此接口地址,需将webse.
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: https接口证书异常问题解决
原因:在部署在linux系统的项目访问第三方webservice https接口时会抛javax.net.ssl.SSLHandshakeException异常,这是因为jdk不信任此接口地址,需将webservice接口对应的证书加载进jdk,
步骤如下:
一、先要在浏览器打开需要证书的网站,然后把证书下载下来,保存的证书名称随意命名,只要保证唯一性
二、然后把证书复制到%JAVA_HOME%/jre/bin/路径下,即保证证书与keytool.exe文件同目录(其实不同也行,但是执行命令时需要指定路径)**
三、解释说明:
1、taobao 是可以自己修改的名称, taobao.cer 是导出的证书,同样,这里的证书名字也是随便取的,但前提是保证将C:\Program Files\Java\jdk1.6.0_24\jre\lib\security目录的cacerts文件内之前没有导入同名证书,就是要保证你将要导入的证书名称唯一性。
2、changeit 是密码, java默认的。
3、keytool是jdk中bin目录的一个exe文件,是jdk默认自带的,在我电脑的目录是:C:\Program Files\Java\jdk1.6.0_24\jre\bin\keytool.exe
4、%JAVA_HOME%/jre/lib/security/cacerts 这个路径中%JAVA_HOME%/jre/lib/security/是路径,cacerts是文件(即将要把证书导入到其中的文件)。当然要确保你已经配置过java_home环境变量,我的java_home环境变量为:C:\Program Files\Java\jdk1.6.0_24
5、其他保持不变,使用导入命令 keytool -import。
6、如果提示:“是否信任此证书? [否]:” ,那么请输入"y"。
常用命令:
1.查看cacerts中的证书列表:
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
2.删除cacerts中指定名称的证书:
keytool -delete -alias taobao -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
3.导入指定证书到cacerts:
keytool -import -alias taobao -file taobao.cer -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit-trustcacerts
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)