Java SSL证书的安装

https正在成为主流,http估计在不久的未来会被完全放弃……浏览器

一个Java程序须要访问一个https的网站的时候,可能须要涉及证书的安装,卸载等操做。tomcat

1、证书的下载ide

打开浏览器输入https://的网站,若是没有相关证书,能够根据提示从浏览器中下载下来,通常保存为*.cer文件。测试

2、证书的安装网站

1. 将步骤一的*.cer文件拷贝到"%JAVA_HOME%\jre\lib\security\cacerts"路径下
2. keytool -import -keystore cacerts -storepass changeit -keypass changeit -alias my-cas -file *.cer证书的绝对位置 

3、证书的查看ui

keytool -list -v -alias my-cas -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -keypass changeit

4、证书的删除spa

keytool -delete -v -alias my-cas -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -keypass changeit

5、一个错误code

发布并运行一个WEB项目,登陆SSL系统时获得这个错误信息:blog

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

6、解决过程及结论ip

1. 全部搜索到的结论都是【没有正确的安装证书】。

2. 但是我用步骤三显示并证实了已经正确的安装了证书。

3. 灵光一现,会不会是JDK不兼容?已经确认证书由JDK1.7生成,我当前的环境是JDK1.8。

4. 安装了一个JDK1.7,而后发现Eclipse Neon(4.6.2)不支持JDK1.7。

5. 下载了Eclipse Mars(4.5.2),项目运行成功了!

6. 彷佛获得结论?JDK版本不一致致使的问题?

7. 继续测试,将JDK还原成1.8版本。

8. 经过Eclipse Mars运行WEB项目,仍是成功的!

9. JDK1.8表示这个锅我不背……

10. 从新使用Eclipse Neon运行,仍是相同的错误信息。

11. Eclipse Neon的问题???

12. 最后一击,用Neon从新发布项目,经过Eclipse Server运行,报错依旧。同一个项目,直接手动启动tomcat,成功运行!

13. 结论:

1 这次测试环境证书安装是正确的。
2 JDK1.7和JDK1.8关于SSL证书这块是兼容的。
3 Eclipse Neon(4.6.2)在SSL证书这块是有BUG的。

若是万一遇到和我用一样版本开发的朋友遇到一样的问题,不要一味的纠结本身的证书,换个IDE试一下吧。

相关文章
相关标签/搜索