一、keytool的指令
Java 中的 keytool.exe (位于JDK\Bin 目錄下)可以用來建立數字證書,所有的數字證書是以一條一條(采用别名差別)的形式存入證書庫的中,證書庫中的一條證書包含該條證書的私鑰,公鑰和對應的數字證書的資訊。證書庫中的一條證書可以導出數字證書檔案,數字證書檔案隻包括主體資訊和對應的公鑰,Keytool是一個Java資料證書的管理工具。
二. 建立證書
1.建立證書中的參數說明
2. 建立一個别名為mykeypair的證書,該證書存放在名為test.keystore的密鑰庫中,若test.keystore密鑰庫不存在則建立:
keytool -genkeypair -alias mykeypair -keyalg "RSA" -keystore test.keystore
1.密鑰庫的密碼至少必須6個字元,可以是純數字或者字母或者數字和字母的組合等等
2.名字與姓氏 應該是輸入域名或者是IP位址,此處填寫的是localhost,而不是我們的個人姓名,其他的可以不填
三.檢視密鑰庫裡面的證書
檢視test.keystore這個密鑰庫裡面的所有證書:
keytool -list -keystore test.keystore
四.導出證書檔案将名為test.keystore的證書庫中别名為keypair的證書條目導出到證書檔案test.crt中:
keytool -export -alias keypair -file test.crt -keystore test.keystore
五.導入證書
将證書檔案test.crt導入到名為test_cacerts的證書庫中:
keytool -import -keystore test_cacerts -file test.crt
六.檢視證書
檢視證書檔案test.crt的資訊:
keytool -printcert -file test.crt
七.删除密鑰庫中的條目删除密鑰庫test.keystore中别名為keypair的證書條目:
keytool -delete -keystore test.keystore -alias keypair
八、修改證書條目的密碼将密鑰庫test.keystore中别名為test1的證書條目的密碼修改為12345689
keytool -keypasswd -alias test1 -keystore test.keystore
總結:
實際生成證書的主要為:
1.在jdk目錄下,打開keytool 然後輸入指令:keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "D:\tomcat.keystore"
将生産一對非對稱密鑰和自我簽名的證書D:\tomcat.keystore
2.然後再輸入指令:
keytool -export -alias tomcat -file tomcat.crt –keystore "D:\tomcat.keystore"
會導出證書檔案tomcat.crt,這個為證書檔案也就是需要安裝到受信任的根證書目錄
3.修改tomcat路徑conf目錄下的server.xml檔案,去掉注釋并修改以下内容:
<Connectorport="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150"scheme="https" secure="true"
clientAuth="false"sslProtocol="TLS"
keystoreFile="D:\tomcat\tomcat.keystore"keystorePass="123456"
/>
開啟SSL協定
4.然後再去通路tomcat伺服器,https://localhost:8443/,會提示安裝證書:
安裝證書并将其導入到受信任根證書機構中,再次通路就不會報錯了: