jdk安装https证书

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 

使用

一般在 TOMCATcatalina.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

PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path to requested target.

java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty on Linux, or why is the default truststore empty [duplicate]

你可能感兴趣的:(Java,Web,服务器运维)