標籤:
JAVA中keystore如何來使用
public static void main(String args[]) throws Exception {KeyStore ks = KeyStore.getInstance("JKS");char[] pwd = "112233".toCharArray();FileInputStream fis = new FileInputStream("e:/chiwei.keystore");ks.load(fis, pwd);}
具體JAVA調用,參照官方API
DK中keytool常用命令:
-genkey 在使用者主目錄中建立一個預設檔案".keystore",還會產生一個mykey的別名,mykey中包含使用者的公開金鑰、私密金鑰和認證
(在沒有指定產生位置的情況下,keystore會存在使用者系統預設目錄,如:對於window xp系統,會產生在系統的C:\Documents and Settings\UserName\檔案名稱為“.keystore”)
-alias 產生別名
-keystore 指定密鑰庫的名稱(產生的各類資訊將不在.keystore檔案中)
-keyalg 指定密鑰的演算法 (如 RSA DSA(如果不指定預設採用DSA))
-validity 指定建立的認證有效期間多少天
-keysize 指定密鑰長度
-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 yushan.crt
-keypasswd 修改密鑰庫中指定條目口令 keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore sage
-storepasswd 修改keystore口令 keytool -storepasswd -keystore e:\yushan.keystore(需修改口令的keystore) -storepass 123456(原始密碼) -new yushan(新密碼)
-import 將已簽名數位憑證匯入密鑰庫 keytool -import -alias 指定匯入條目的別名 -keystore 指定keystore -file 需匯入的認證
-storetype 密鑰庫的類型。常用的有JKS(預設),JCEKS(推薦),PKCS12,BKS,UBER。每個密鑰庫只可以是其中一種類型。
下面是各選項的預設值。
-alias "mykey"
-keyalg "DSA"
-keysize 1024
-validity 90
-keystore 使用者宿主目錄中名為 .keystore 的檔案
-file 讀時為標準輸入,寫時為標準輸出
首先通過keytool工具來產生密鑰
查看keystore
通過上面產生的keystore來匯出認證
查看認證資訊
下面我們來再次準備一個認證匯入到上面產生的keystore中
這樣就將tree這個認證添加到了chiwei的keystore中了
【JAVA】JDK KeyStore 如何使用