本博文參考:https://blog.csdn.net/p793049488/article/details/53422195java
一、生成服務器證書:chrome
CMD進入JDK安裝目錄:cd c:/"Program Files"/java/jdk1.6.0_43/bin。輸入命令:apache
keytool -genkey -v -alias tomcat -keyalg RSA -keystore F:/ssl/tomcat.keystore -validity 365瀏覽器
(參數說明:genkey生成方式,對稱或者非對稱。alias定義別名。F:/ssl/tomcat.keystore指定生成服務器證書庫路徑。validity證書有效期,365爲一年)tomcat
注:以上的keystore密碼建議設置成一致,避免混亂。這裏設置測試密碼爲123456。輸入密碼後,提示輸入名字與姓氏,這裏輸入瀏覽器訪問域名。這裏本地測試,故輸入localhost。其餘項直接回車跳過便可。安全
二、生成客戶端證書:服務器
keytool -genkey -v -alias clientkey -keyalg RSA -storetype PKCS12 -keystore F:/ssl/clientkey.p12測試
三、這裏服務端跟客戶端生成完證書,雙向須要認證。首先,讓服務器信任客戶端證書:spa
因爲不能直接將PKCS12格式的證書庫導入,因此必須先把客戶端證書導出爲一個單獨的CER文件。.net
keytool -export -alias clientkey -keystore F:/ssl/clientkey.p12 -storetype PKCS12 -storepass 123456 -rfc -file F:/ssl/clientkey.cer
注:alias的別名clientkey必須與客戶端證書別名一致。storepass爲上述設置的密碼。
四、將客戶端證書導入服務器證書庫。(服務器信任客戶端證書)
keytool -import -v -file f:/ssl/clientkey.cer -keystore f:/ssl/tomcat.keystore
五、客戶端信任服務器證書:
keytool -keystore f:/ssl/tomcat.keystore -export -alias tomcat -file f:/ssl/tomcat.cer
導入後,本地安裝證書。雙擊tomcat.cer根據提示安裝。
注意,必定要添加到「受信任的根證書頒發機構」。
六、配置tomcat種server.xml種8443端口。觀察tomcat中端口配置:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="F:/ssl/tomcat.keystore" keystorePass="123456" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_ CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_C BC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RS A_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA" />
參數說明:keystoreFile證書路徑。keystorePass設置證書密碼。ciphers設置這個參數,避免chrome瀏覽器因爲安全機制過濾,提示「