證書的相關操做主要是在CMD窗口使用keytool工具java
Keytool 是一個Java數據證書的管理工具 ,Keytool將密鑰(key)和證書(certificates)存在一個稱爲keystore的文件中在keystore裏,包含兩種數據:密鑰實體(Key entity)-密鑰(secret key)或者是私鑰和配對公鑰(採用非對稱加密)可信任的證書實體(trusted certificate entries)-只包含公鑰.
JDK中keytool經常使用參數說明(不一樣版本有差別,詳細可參見【附錄】中的官方文檔連接):算法
內容概覽:工具
keytool的幾個經常使用的命令。測試
1.建立證書加密
2.查看證書庫spa
3.導出證書文件操作系統
4.導入證書的信息code
5.查看證書信息文檔
6.刪除密鑰庫中的條目域名
7.修改證書條目的口令
1.建立證書
keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"
說明:
密鑰庫密碼爲testtest
證書條目密碼爲testtest1,若別名爲test2則密碼爲testtest2
這樣爲個不亂
功能:
建立一個別名爲test1的證書條目,該條目存放在名爲test.keystore的密鑰庫中,若test.keystore密鑰庫不存在則建立。
參數說明:
-genkeypair:生成一對非對稱密鑰;
-alias:指定密鑰對的別名,該別名是公開的;
-keyalg:指定加密算法,本例中的採用通用的RAS加密算法;
-keystore:密鑰庫的路徑及名稱,不指定的話,默認在操做系統的用戶目錄下生成一個".keystore"的文件
注意:
1.「名字與姓氏」應該是域名,若輸成了姓名,和真正運行的時候域名不符,會出問題;
2.再次輸入密碼,第一次輸入的是密鑰庫(keystore)的密碼,第二次輸入的是證書條目的密碼
3.這裏所說的證書庫和密鑰庫是等同的(我的觀點)
爲了測試須要,這裏再建立兩個別名爲test2和test3的證書條目在test.keystore密鑰庫中,代碼以下:
keytool -genkeypair -alias "test2" -keyalg "RSA" -keystore "test.keystore" keytool -genkeypair -alias "test3" -keyalg "RSA" -keystore "test.keystore"2.查看證書庫:
keytool -list -keystore cacerts -storepass changeit
3.導出到證書文件
keytool -export -alias test1 -file test.crt -keystore cacerts
功能:
將名爲test.keystore的證書庫中別名爲test1的證書條目導出到證書文件test.crt中
4.導入證書的信息:
keytool -import -keystore C:\bea\jdk142_08\jre\lib\security\cacerts -storepass changeit -keypass changeit -alias bocommca -file root.cer
keytool -import -keystore cacerts -storepass changeit -keypass changeit -alias bocommca -file root.cer上面一句是指定證書的路徑,下一句是要先到目錄下面
5.查看證書信息
keytool -printcert -file "test.crt"
功能:
查看證書文件test.crt的信息
6.刪除密鑰庫中的條目keytool -list -keystore test.keystore刪除密鑰庫test.keystore中別名爲test2的證書條目
keytool -delete -keystore test.keystore -alias test2刪除後查看密鑰庫test.keystore中的證書條目
7.修改證書條目的口令
交互的方式
keytool -keypasswd -alias test1 -keystore test.keystore
功能:
將密鑰庫test.keystore中別名爲test1的證書條目的密碼修改成testtesttest1
非交互方式
keytool -keypasswd -alias test1 -keypass testtesttest1 -new testtest1 -storepass testtest -keystore test.keystore
功能:
將密鑰庫test.keystore中別名爲test1的證書條目的密碼修改成testtest1