jdk安装https证书
安装证书前,请确保https证书还在有效期内,不然再折腾也是没有用的,jdk安装证书可以使用 cer
格式,如果想要使用其他格式,最好自己查阅一下文档。
在正式安装之前,请确保你的 jdk 环境已经配置好,并且你的 java
的环境变量可以正常获取。本文是在 centos
下,jdk 1.8
下安装的证书。这里的证书既可以是自签名证书,也可以是其他CA签发的,但是不被 jdk 信任的证书。
安装证书
安装前请确保证书没有过期!
安装前请确保证书没有过期!
安装前请确保证书没有过期!
以 baidu
证书为例,先 cd
到 $JAVA_HOME/jre/lib/security
,然后使用 keytool
导入证书,回提示输入密码,如果你没有修改密码,直接键入 changeit
,然后回车即可。这里可以为证书设置别名,以后维护方便,alias
后面是别名,直接用证书的所签的域名吧~
cd $JAVA_HOME/jre/lib/security
keytool -import -alias baidu -keystore cacerts -file /home/STAR.baidu.com.cer
如果嫌麻烦,可以直接一句命令:
keytool -import -alias baidu -keystore $JAVA_HOME/jre/lib/security/cacerts -file /home/STAR.baidu.com.cer
查看证书
查看添加的证书,需要输入密码
cd $JAVA_HOME/jre/lib/security
echo 'changeit' | keytool -list -rfc -keystore cacerts
删除证书
什么时候需要删除证书呢?例如证书过期要删除,或者是这个证书不能在被信任了,也是要删除的。
还是以 baidu
的证书为例,先 cd
到 $JAVA_HOME/jre/lib/security
,然后使用 keytool
删除证书,删除证书使用别名进行删除。
cd $JAVA_HOME/jre/lib/security
keytool -delete -alias baidu -keystore cacerts
使用
一般在 TOMCAT
的 catalina.sh
添加 JAVA_OPTS=" -Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit"
,或者是在 java
项目中以代码的方式引入。
参考:
https://zhidao.baidu.com/question/176755580303857244.html
Unable to Connect to SSL Services due to PKIX Path Building Failed