Caused by:javax.net.ssl.SSLHandshakeException: 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 服务器https配置 配置https操作说明文档 1、查看服务器环境配置(tomcat和apache合并使用) 2...
    南京杨小兵阅读 12,917评论 0 9
  • 根证书含义 - 孤舟蓑笠翁,独钓寒江雪 - 博客频道 - CSDN.NET 本文想简单谈谈那个所谓的...
    拉肚阅读 7,051评论 0 1
  • 一、搭建Java Web服务器环境CATALINA_HOME = D:\Java\apache-tomcat-6....
    克鲁德李阅读 3,923评论 0 1
  • HTTPS搭建方案 一、 操作步骤 进入jdk的安装目录,切换到bin目录下,然后按顺序执行如下的命令1、 ...
    _奔跑的蜗牛_阅读 11,876评论 1 2
  • Https请求 一、访问HTTPS站点 两种方法来模拟发送HTTP请求,访问HTTP站点。一种方式是通过java....
    Gothrow阅读 6,718评论 0 2