1. 程式人生 > >jdk安裝https證書

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]