天天看點

在tomcat上配置雙向的ssl

原文連結:https://blog.csdn.net/weixin_41581158/article/details/80916467

背景

項目開發完成後一般會進行高危漏洞檢測,檢測時出現

步驟

整體步驟

第一步:為伺服器生成證書
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\apache-tomcat-8.5.35\keystores\tomcat.keystore -validity 36500
第二步:為用戶端生成證書
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\apache-tomcat-8.5.35\keystores\mykey.p12
第三步:讓伺服器信任用戶端證書
keytool -export -alias mykey -keystore D:\apache-tomcat-8.5.35\keystores\mykey.p12 -storetype PKCS12 -storepass aaa111 -rfc -file D:\apache-tomcat-8.5.35\keystores\mykey.cer 
keytool -import -v -file D:\apache-tomcat-8.5.35\keystores\mykey.cer -keystore D:\apache-tomcat-8.5.35\keystores\tomcat.keystore
第四步:驗證用戶端證書是否已經加入到伺服器端的受信任證書中了
keytool -list -keystore D:\apache-tomcat-8.5.35\keystores\tomcat.keystore
第五步:讓用戶端信任伺服器證書
keytool -keystore D:\apache-tomcat-8.5.35\keystores\tomcat.keystore -export -alias mykey -file D:\apache-tomcat-8.5.35\keystores\tomcat.cer
第六步:配置Tomcat伺服器
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="D:\\apache-tomcat-8.5.35\\keystores\\tomcat.keystore" keystorePass="aaa111"
truststoreFile="D:\\apache-tomcat-8.5.35\\keystores\\tomcat.keystore" truststorePass="aaa111" />
           

第一步:為伺服器生成證書

keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\apache-tomcat-8.5.35\keystores\tomcat.keystore -validity 36500

參數說明:

tomcat:證書的名稱。

D:\apache-tomcat-8.5.35\keystores\tomcat.keystore:含義是将證書檔案的儲存路徑;

validity 36500:含義是證書有效期,36500表示100年,預設值是90天;

在tomcat上配置雙向的ssl

此時已經生成了這個檔案

在tomcat上配置雙向的ssl

第二步:為用戶端生成證書

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\apache-tomcat-8.5.35\keystores\mykey.p12

在tomcat上配置雙向的ssl

此時已經生成了用戶端證書

在tomcat上配置雙向的ssl

輕按兩下證書,将證書導入浏覽器中

在tomcat上配置雙向的ssl

第三步:讓伺服器信任用戶端證書

3.1 由于.p12檔案無法導入到keystore檔案中,需要轉換成.cre檔案

keytool -export -alias mykey -keystore D:\apache-tomcat-8.5.35\keystores\mykey.p12 -storetype PKCS12 -storepass aaa111 -rfc -file D:\apache-tomcat-8.5.35\keystores\mykey.cer

3.2 把用戶端憑證導入到服務端憑證中

keytool -import -v -file D:\apache-tomcat-8.5.35\keystores\mykey.cer -keystore D:\apache-tomcat-8.5.35\keystores

第四步:驗證用戶端證書是否已經加入到伺服器端的受信任證書中了

keytool -list -keystore D:\apache-tomcat-8.5.35\keystores\tomcat.keystore

在tomcat上配置雙向的ssl

第五步:讓用戶端信任伺服器證書

keytool -keystore D:\apache-tomcat-8.5.35\keystores\tomcat.keystore -export -alias mykey -file D:\apache-tomcat-8.5.35\keystores\tomcat.cer

在tomcat上配置雙向的ssl

此時會生成一個新檔案,輕按兩下操作

在tomcat上配置雙向的ssl

把證書安裝後會自動導入到浏覽器中

第六步:配置Tomcat伺服器

找到tomcat配置檔案:D:\apache-tomcat-8.5.35\conf\server.xml

找到port=“8443” 的配置節點,把以下内容加入重新開機tomcat通路

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
			   SSLEnabled="true" 
			   maxThreads="150" 
			   scheme="https"
			   secure="true" 
<!--此處可設定是否進行雙向驗證,如果隻是在伺服器端驗證就設定false -->
			   clientAuth="false"  
			   sslProtocol="TLS"
			   keystoreFile="D:\\apache-tomcat-8.5.35\\keystores\\tomcat.keystore" 
			   keystorePass="aaa111"
			   truststoreFile="D:\\apache-tomcat-8.5.35\\keystores\\tomcat.keystore" 
			   truststorePass="aaa111" />