当前位置:   article > 正文

jdk更换ssl证书jssecacerts

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
  • 1
  • 2
  • 3

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
  • 1
  • 2

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
  • 1
  • 2

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
  • 1
  • 2
  • 3

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/372356?site
推荐阅读
相关标签
  

闽ICP备14008679号