Tomcat配置自簽名https
從JDK中找到keytool.exe,隨便複製到一個方便的目錄,在命令列中進入這個目錄。
第一步:為伺服器生成證書 tomcat.keystore,名字就是域名,其他的看著寫。
keytool -genkey -v -alias tomcat -keyalg RSA -validity 36500 -keystore tomcat.keystore 第二步:為客戶端生成證書,雙向認證時需要客戶端安裝該證書,等待第四步成功後將該證書新增到“個人”區域。
keytool -genkey -v -alias clientkey -keyalg RSA -validity 36500 -storetype PKCS12 -keystore client.p12 第三步:將p12檔案匯出為一個cer檔案,因為不能直接將PKCS12格式的證書庫匯入服務端證書(tomcat.keystore)。123456為密碼
keytool -export -alias mykey -keystore client.p12 -storetype PKCS12 -storepass 123456 -rfc -file client.cer 第四步:讓伺服器信任客戶端證書。
keytool -import -v -file client.cer -keystore tomcat.keystore 第五步:檢視伺服器的證書庫。(一個是伺服器證書,一個是受信任的客戶端證書),可以省略。
keytool -list -keystore tomcat.keystore 第六步:把伺服器證書匯出為cer檔案,然後將該證書新增到“受信任的根證書頒發機構”區域。
keytool -keystore tomcat.keystore -export -alias tomcat -file server.cer 操作完成,在tomcat的server.xml中配置方法如下: 單向認證時需將clientAuth=“false”,雙向時設定為clientAuth=“true”,https的預設埠為443,所以port=“443”,當然也可以設定為其他的。
注意:
將 server.cer 匯入到瀏覽器“受信任的根證書頒發機構”區域,這樣是為了讓瀏覽器信任伺服器。
將 client.p12 匯入到瀏覽器“個人”區域,這樣是為了讓伺服器信任瀏覽器,訪問時會提示選擇這個證書。
轉載自https://www.cnblogs.com/xinghuangroup/p/6761370.html