jdk更换ssl证书jssecacerts
Posted 500年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdk更换ssl证书jssecacerts相关的知识,希望对你有一定的参考价值。
jdk更换ssl证书jssecacerts
1、背景
项目通过统一身份认证入口进出,项目为http协议,但cas端为https。
但突然登录报错,不知原因?报错内容如下:
集成cas报错javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
2、分析
1、通过错误可以看到找不到有效的ssl证书,所以很可能证书已经过期;
2、查看cas证书信息,发现证书是刚刚更换的新证书;(操作见:下方补充说明)
3、可以得出结论:因为cas更换证书导致我们请求失败;
4、解决办法:重新导入证书;
3、生成证书
1、下载生产jssecacerts 证书的java工具:InstallCert.jar;
2、直接输入命令,生成 jssecacerts 文件;
# www.csdn.net 为需要生产证书的网站
java -jar InstallCert.jar www.csdn.net
4、导入证书
复制证书文件 jssecacerts 到java的安装路径\\jre\\lib\\security下即可,比如我的安装路径为:
/usr/java/jdk1.8.0_31/jre/lib/security/
5、补充说明
5.1、查看网站SSL证书信息
5.2、docker部署方法
说明:通常docker容器会映射出数据卷作为证书的存储,如下图:
具体操作:
1、我们将 InstallCert.jar 文件上传到宿主机的上图位置;
2、在容器内执行命令,生成 jssecacerts 文件;
# www.csdn.net 为需要生产证书的网站
java -jar InstallCert.jar www.csdn.net
3、重启容器即可;
5.3、k8s docker启动命令
cho 112.211.94.39 www.baidu.com >> /etc/hosts && java -jar /opt/installCert/InstallCert.jar
&& cp /opt/installCert/jssecacerts /usr/lib/jvm/java-1.8-openjdk/jre/lib/security
&& java -Dlog4j.configuration="file:/root/log4j.properties" -jar $JAVA_OPTS $JAR_FILE $JAR_OPTS
以上是关于jdk更换ssl证书jssecacerts的主要内容,如果未能解决你的问题,请参考以下文章
java 如何导入https证书 到 Java\jdk1.5.0\jre\lib\security\jssecacerts文件中
解决jdk证书问题-生成jssecacerts PKIX path building failed
解决jdk证书问题-生成jssecacerts PKIX path building failed
idea---maven依赖报错红线--出现“jssecacerts PKIX path building failed: sun.security.provider.certpath.SunCert