Keytool 是一個Java數據證書的管理工具 ,Keytool將密鑰(key)和證書(certificates)存在一個稱爲keystore的文件中在keystore裏,包含兩種數據:密鑰實體(Key entity)-密鑰(secret key)或者是私鑰和配對公鑰(採用非對稱加密)可信任的證書實體(trusted certificate entries)-只包含公鑰. JDK中keytool經常使用參數說明(不一樣版本有差別,詳細可參見【附錄】中的官方文檔連接):html
•-genkey 在用戶主目錄中建立一個默認文件」.keystore」,還會產生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書(在沒有指定生成位置的狀況下,keystore會存在用戶系統默認目錄) •-alias 產生別名 每一個keystore都關聯這一個獨一無二的alias,這個alias一般不區分大小寫 •-keystore 指定密鑰庫的名稱(產生的各種信息將不在.keystore文件中) •-keyalg 指定密鑰的算法 (如 RSA DSA,默認值爲:DSA) •-validity 指定建立的證書有效期多少天(默認 90) •-keysize 指定密鑰長度 (默認 1024) •-storepass 指定密鑰庫的密碼(獲取keystore信息所需的密碼) •-keypass 指定別名條目的密碼(私鑰的密碼) •-dname 指定證書發行者信息 其中: 「CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區域名 稱,ST=州或省份名稱,C=單位的兩字母國家代碼」 •-list 顯示密鑰庫中的證書信息 keytool -list -v -keystore 指定keystore -storepass 密碼 •-v 顯示密鑰庫中的證書詳細信息 •-export 將別名指定的證書導出到文件 keytool -export -alias 須要導出的別名 -keystore 指定keystore -file 指定導出的證書位置及證書名稱 -storepass 密碼 •-file 參數指定導出到文件的文件名 •-delete 刪除密鑰庫中某條目 keytool -delete -alias 指定需刪除的別 -keystore 指定keystore – storepass 密碼 •-printcert 查看導出的證書信息 keytool -printcert -file g:\sso\michael.crt •-keypasswd 修改密鑰庫中指定條目口令 keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore sage •-storepasswd 修改keystore口令 keytool -storepasswd -keystore g:\sso\michael.keystore(需修改口令的keystore) -storepass pwdold(原始密碼) -new pwdnew(新密碼) •-import 將已簽名數字證書導入密鑰庫 keytool -import -alias 指定導入條目的別名 -keystore 指定keystore -file 需導入的證書 目錄說明: 1.生成證書 2.查看證書 3.證書導出 4.附錄資料 1、生成證書 按win鍵+R,彈出運行窗口,輸入 cmd 回車,打開命令行窗戶,輸入以下命令: 查看源代碼打印幫助 1 keytool -genkey -alias michaelkey -keyalg RSA -keysize 1024 -keypass michaelpwd -validity 365 -keystore g:\sso\michael.keystore -storepass michaelpwd2 截圖以下:java
2、查看證書 缺省狀況下,-list 命令打印證書的 MD5 指紋。而若是指定了 -v 選項,將以可讀格式打印證書,若是指定了 -rfc 選項,將以可打印的編碼格式輸出證書。算法
-v 命令以下: 查看源代碼打印幫助 1 keytool -list -v -keystore g:\sso\michael.keystore -storepass michaelpwd2 回車看到的信息以下:windows
-rfc 命令以下: 查看源代碼打印幫助 1 keytool -list -rfc -keystore g:\sso\michael.keystore -storepass michaelpwd2 回車看到的信息以下:oracle
3、證書的導出和查看: 導出證書命令: 查看源代碼打印幫助 1 keytool -export -alias michaelkey -keystore g:\sso\michael.keystore -file g:\sso\michael.crt -storepass michaelpwd2 回車以下:工具
查看導出的證書信息: 查看源代碼打印幫助 1 keytool -printcert -file g:\sso\michael.crt 回車看到信息以下:編碼
四:附錄 官方有關keytool命令的介紹文檔: •jdk1.4.2 :http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html •jdk1.6 :http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html •jdk1.7 :http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html加密