用keytool製做證書並在tomcat配置https服務(二 )

用keytool製做證書並在tomcat配置https服務(一)html

用keytool製做證書並在tomcat配置https服務(三)瀏覽器

用keytool製做證書並在tomcat配置https服務(四)tomcat

雙向認證:併發

咱們上邊生成了服務端證書,併發送給客戶端進行了驗證。spa

雙向認證是雙向的,所以還差客戶端證書。code

1.爲方便導入瀏覽器,生成p12格式的密鑰庫。server

keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -storetype PKCS12 -keystore D:/ssl/client.p12 -storepass 123456

跟以前生成服務端證書差很少xml

而後能夠看一下證書庫裏的密鑰對htm

keytool -list -v -storetype PKCS12 -keystore D:/ssl/client.p12

爲了可以使服務端可以信任客戶端證書,咱們須要把證書導出來,而後發送給服務端,並添加到服務端的密鑰庫裏,進行信任。blog

2.導出客戶端證書。

keytool -export -alias client -keystore D:/ssl/client.p12 -storetype PKCS12 -keypass 123456 -file D:/ssl/client.cer

能夠看一下證書信息是否是和客戶端庫裏相同。下邊的指令若是加上「-rfc」,那麼就會打印出證書串。

keytool -printcert -file D:/ssl/client.cer

3.把客戶端證書添加到服務端的密鑰庫中並添加信任。

keytool -import -alias client -v -file D:/ssl/client.cer -keystore D:/ssl/keystore.jks -storepass 123456

而後用如下指令查看就會看到服務端證書裏邊有了客戶單證書信息。

keytool -list -v -keystore D:/ssl/keystore.jks

4.而後把客戶端的密鑰庫client.p12導入到瀏覽器的證書管理中,放到我的下。【重要】若是你不導入這個文件是訪問不到的。

將tomcat的server.xml中https配置參數clientAuth="false"改爲true,雙向認證。否則仍是單向認證的,沒有意義。

而後啓動tomcat訪問

相關文章
相關標籤/搜索