保存我的如下命令到 genkey.sh
echo '生成服務(wù)器證書(shū)'
keytool -genkey -v -alias tomcat -keyalg RSA -keystore server.keystore -validity 36500
echo '生成客戶端證書(shū)'
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore client.p12 -validity 36500
echo '生成客戶端p12證書(shū)信任文件'
keytool -export -alias mykey -keystore client.p12 -storetype PKCS12 -storepass 123456 -rfc -file client.cer
echo '導(dǎo)入到服務(wù)端keystore中'
keytool -import -v -file client.cer -keystore server.keystore
運(yùn)行
sh genkey.sh
接下來(lái)會(huì)提示 輸入密鑰庫(kù)口令: 我自己寫(xiě)為123456
其他的一律回車(chē).默認(rèn)即可
當(dāng)提示如下時(shí), 輸入Y
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正確?
[否]:
運(yùn)行完畢. 目錄下會(huì)生成如下文件
server.keystore 服務(wù)器證書(shū)
client.p12 客戶端證書(shū)
client.cer 沒(méi)多大用的文件
將 server.keystore 復(fù)制到tomcat 的conf文件夾下
修改 server.xml文件 重啟tomcat
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false"
keystoreFile="conf/tomcat.keystore" keystorePass='123456' sslProtocol="TLS" />
clientAuth 是否開(kāi)啟客戶端證書(shū)驗(yàn)證(雙向認(rèn)證) true 開(kāi)啟, false關(guān)閉
如果clientAuth 為 true. 那么客戶端必須要有 client.p12文件才能訪問(wèn)tomcat服務(wù)器