Keytool常用命令

Keytool 是一個Java 數據證書的管理工具 ,Keytool 將密鑰(key)和證書(certificates)存在一個稱爲keystore的文件中。 在keystore裏,包含兩種數據: (1)密鑰實體(Key entity):密鑰(secret key)又或者是私鑰和配對公鑰(採用非對稱加密) (2)可信任的證書實體(trusted certificate entries):只包含公鑰 JDK中keytool常用命令: -genkey 在用戶主目錄中創建一個默認文件".keystore",還會產生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書(在沒有指定生成位置的情況下,keystore會存在用戶系統默認目錄,如:對於window xp系統,會生成在系統的C:\Documents and Settings\UserName\文件名爲“.keystore”)

 -alias 產生別名,每個keystore都關聯這一個獨一無二的alias,這個alias通常不區分大小寫

 -keystore 指定密鑰庫的名稱(產生的各類信息將不在.keystore文件中) -keyalg 指定密鑰的算法 (如 RSA DSA(如果不指定默認採用DSA)) 

-validity 指定創建的證書有效期多少天 

-keysize 指定密鑰長度 

-storepass 指定密鑰庫的密碼(獲取keystore信息所需的密碼) 

-keypass 指定別名條目的密碼(私鑰的密碼) 

-dname 指定證書擁有者信息 例如: "CN=通用名稱,OU=組織單位名稱,O=組織名稱,L=城市或區域名稱,ST=州或省份名稱,C=單位的兩字母國家代碼" 

-list 顯示密鑰庫中的證書信息 

-v 顯示密鑰庫中的證書詳細信息 

-export 將別名指定的證書導出到文件 

keytool -export -alias 需要導出的別名 -keystore 指定keystore -file 指定導出的證書位置及證書名稱 -storepass 密碼 

-file 參數指定導出到文件的文件名 

-delete 刪除密鑰庫中某條目

 keytool -delete -alias 指定需刪除的別名 -keystore 指定keystore -storepass 密碼

 -printcert 查看導出的證書信息 keytool -printcert -file chinassl.crt 

-keypasswd 修改密鑰庫中指定條目口令 

keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore 

-import 將已簽名數字證書導入密鑰庫 

keytool -import -alias 指定導入條目的別名 -keystore 指定keystore -file 需導入的證書 

下面是各選項的缺省值。 

-alias "mykey"

-keyalg "DSA" 

-keysize 2048 

-validity 90 

-keystore 用戶宿主目錄中名爲 .keystore 的文件 

-file 讀時爲標準輸入,寫時爲標準輸出 

1、keystore的生成: 

(1)分階段生成: keytool -genkey -alias chinassl(別名) -keypass chinassl(別名密碼) -keyalg RSA(算法) -keysize 2048(密鑰長度) -validity 365(有效期,天單位) -keystore e:\chinassl.keystore(指定生成證書的位置和證書名稱) -storepass 123456(獲取keystore信息的密碼);回車輸入相關信息即可;

 (2)一次性生成: keytool -genkey -alias chinassl -keypass chinassl -keyalg RSA -keysize 2048 -validity 365 -keystore e:\chinassl.keystore -storepass 123456

 -dname "CN=(通用名稱), OU=(組織單位名稱), O=(組織名稱), L=(城市或區域名稱), ST=(州或省份名稱), C=(單位的兩字母國家代碼)";(中英文即可) 

2、keystore信息的查看: keytool -list -v -keystore e:\gu.keystore -storepass 123456 顯示如下圖:  keytool常用命令總結

缺省情況下,-list 命令打印證書的 MD5 指紋。而如果指定了 -v 選項,將以可讀格式打印證書,如果指定了 -rfc 選項,將以可打印的編碼格式輸出證書。 如圖:

keytool常用命令總結 

3、證書的導出:   keytool -export -alias gu.com -keystore e:\gu.keystore -file e:\gu.crt(指定導出的證書位置及證書名稱) -storepass 123456 

4、查看導出的證書信息     keytool -printcert -file e:\gu.crt 如圖:  keytool常用命令總結

 5、證書的導入: 準備一個導入的證書:   keytool -genkey -alias wh -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -keystore e:\wh.keystore -storepass 123456 -dname "CN=wh, OU=xx, O=xx, L=xx, ST=xx, C=xx"   keytool -export -alias wh -keystore e:\wh.keystore -file e:\wh.crt -storepass 123456 

現在將wh.crt 加入到gu.keystore中:     keytool -import -alias wh(指定導入證書的別名,如果不指定默認爲mykey,別名唯一,否則導入出錯) -file e:\wh.crt -keystore e:\gu.keystore -storepass 123456 如圖:

keytool常用命令總結     

keytool -list -v -keystore e:\gu.keystore -storepass 123456 如圖:   keytool常用命令總結

6、證書條目的刪除: keytool -delete -alias wh(指定需刪除的別名) -keystore wh.keystore -storepass 123456 

7、證書條目口令的修改: keytool -keypasswd -alias gu.com(需要修改密碼的別名) -keypass 123456(原始密碼) -new 654321(別名的新密碼) -keystore e:\gu.keystore -storepass 123456

 8、keystore口令的修改: keytool -storepasswd -keystore e:\gu.keystore(需修改口令的keystore) -storepass 123456(原始密碼) -new 654321(新密碼) 

9、修改keystore中別名爲gu.com的信息 keytool -selfcert -alias gu.com -keypass 654321 -keystore e:\gu.keystore -storepass 654321 -dname "cn=guwh,ou=guwh,o=guwh,c=us"


原文鏈接地址: https://www.chinassl.net/faq/n506.html
發佈了17 篇原創文章 · 獲贊 15 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章