tomcat配置https,開啓雙向認證,第三方ca頒發可信證書

RSA不同服務器需要配置:keystore.jks是私鑰證書庫,cacerts.jks是信任庫。而一般我們生成一個keystore.jks就行,包含服務器密鑰證書、和信任鏈證書,是兩個證書保持一樣。

1.生成對應我們需要的jks文件:

其中s1as使我們要配置的服務器含有私鑰的證書,365是有效期單位天,keyalg申請的整數類型,keysize祕鑰長度,keypass使我們服務器證書密碼,-storepass對應我們生成jks文件的密碼,-dname是我們後面生成證書的主題,這個要和ca給我們辦法吻合。

2.生成證書請求

s1as.csr就是我們想要的證書請求,也可以做成pem形式均可。

3.拿到證書請求,我們去對應ca頒發相應證書,並且獲得ca對應的信任證書,一般二級證書即可滿足需求trustedcertEntry,用來驗證證書的信任關係。

如圖所示,aica就是我們的二級證書,CWCA爲一級證書

先上傳信任鏈證書,注意參數trustcacerts告訴這是一個trustCert,通常上傳二級證書就可以了:

之後上傳證書:

keytool -import -storepass changeit -keypass changeit -alias s1as -file luoni186.p7b -keystore keystore.jks

注意在導入的時候有時會報不是x.509證書錯誤,這個時候通常我們保存成p7b格式,用xca工具轉換一下即可。

之後即可查看當前keystoreNew.jks:

裏面trustedCertEntry即爲我們上傳的信任鏈證書,而privateKeyEntry即爲我們的服務器含有私鑰的證書。

4.若我們想刪除裏面s1as或者自己想重新上傳一張額外的服務器證書。

第一步刪除:

第二步生成密鑰對:

第三步生成證書請求:

第四步上傳證書,查看:

5.修改tomcat配置

找到server.xml,放開8443端口配置,也可以改爲443.若改爲443對應其他端口的 redirectPort也相應的改爲443.

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

clientAuth="true" sslProtocol="TLS"

keystoreFile="conf/keystoreNew.jks"

keystorePass="changeit"

truststoreFile="conf/keystoreNew.jks"

truststorePass="changeit"/>

註釋掉

<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->

相應命令:

直接生成jks文件,也可以用轉換工具將pfx文件轉換爲jks。

keytool -genkey -alias s1as -validity 7300 -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -dname "CN=中文測試,[email protected],OU=研究院,O=航信,L=北京,ST=Beijing,C=CN" -keystore "D:\keystore.jks"

證書請求,指定格式爲pem

keytool -certreq -alias s1as -sigalg SHA1WithRSA -file "D:\req.pem" -keypass changeit -keystore "D:\keystore.jks" -storepass changeit

證書生成密鑰對

keytool -genkey -alias s1as -keystore keystore.jks -storepass changeit -keysize 2048 -keyalg RSA -validity 3650

生成證書請求,格式爲csr

keytool -certreq -alias s1as -file s1as.csr -keystore keystore.jks –storepass changeit

導入,密鑰存在證書

keytool -import -storepass 111111 -keypass 111111 -alias tomcat -file fwdw.p7b -keystore fwdwtomcat.jks

導入可信任證書

keytool -import -trustcacerts -storepass 111111 -alias aica -file aica.cer -keystore fwdwtomcat.jks

導入公鑰證書,私鑰不在jks中

keytool -import -alias s1as -keystore cacerts.jks -storepass changeit -file s1as.cer

查看信息

keytool -list -v -keystore keystore.jks

刪除jks中別名證書

keytool -delete -alias s1as -keystore keystore.jks -storepass changeit

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章