1、生成密鑰庫和證書
可參考如下密鑰生成腳本,根據實際狀況作必要的修改,其中須要注意的是:服務端的密鑰庫參數「CN」必須與服務端的IP地址相同,不然會報錯,客戶端的任意。apache
一、生成服務器證書庫keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore E:\ssl\server.keystore -dname "CN=127.0.0.1,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456
二、生成客戶端證書庫
keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore E:\ssl\client.p12 -dname "CN=client,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456
三、從客戶端證書庫中導出客戶端證書
keytool -export -v -alias client -keystore E:\ssl\client.p12 -storetype PKCS12 -storepass 123456 -rfc -file E:\ssl\client.cer
四、從服務器證書庫中導出服務器證書
keytool -export -v -alias server -keystore E:\ssl\server.keystore -storepass 123456 -rfc -file E:\ssl\server.cer
五、生成客戶端信任證書庫(由服務端證書生成的證書庫)
keytool -import -v -alias server -file E:\ssl\server.cer -keystore E:\ssl\client.truststore -storepass 123456
六、將客戶端證書導入到服務器證書庫(使得服務器信任客戶端證書)
keytool -import -v -alias client -file E:\ssl\client.cer -keystore E:\ssl\server.keystore -storepass 123456
七、查看證書庫中的所有證書
keytool -list -keystore E:\ssl\server.keystore -storepass 123456服務器
2、Tomat配置
使用文本編輯器編輯${catalina.base}/conf/server.xml
找到Connector port="8443"的標籤,取消註釋,並修改爲以下:編輯器
備註:
keystoreFile:指定服務器密鑰庫,能夠配置成絕對路徑,如「D:/key/server.keystore」,本例中是在Tomcat目錄中建立了一個名稱爲key的文件夾,僅供參考。
keystorePass:密鑰庫生成時的密碼
truststoreFile:受信任密鑰庫,和密鑰庫相同便可server
truststorePass:受信任密鑰庫密碼xml