概念介紹:
- JSSE(Java Secure Socket Extension)。java web應用利用JSSE實現SSL/TSL安全協議
- keystore、truststore:JSSE使用keystore與truststore文件來提供客戶端和服務器之間的安全數據傳輸
- keytool:jdk自帶的可以用來創建自簽名證書與keystore文件的工具
自簽名步驟:
- 生成一個含有私鑰的keystore文件:
keytool -genkeypair -alias andy_keystore_ip -keyalg RSA -validity 36500 -keystore andy_keystore_ip.jks -ext san=ip:172.22.144.16
1步驟操作後,會生成andy_keystore_ip.jks文件
-
利用keystore文件導出憑證文件
keytool -export -alias andy_keystore_ip -keystore andy_keystore_ip.jks -rfc -file andy_cer_ip.cer
-
將證書文件導入到truststore文件中
keytool -import -alias andy_truststore_ip -file andy_cer_ip.cer -keystore andy_truststore_ip.jks
-
將安全證書andy_cer_ip.cer複製web服務運行的jdk安裝目錄的jre/lib/security目錄中:
-
將安全證書導入到jdk的keystore cacerts文件中,cacerts文件默認密碼changeit
keytool -import -alias andy_keystore_ip -keystore cacerts -file andy_cer_ip.cer
-
重啓web服務即可