您好,登錄后才能下訂單哦!
本篇內容主要講解“JAVA Keytool工具怎么生成Keystore和Truststore文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JAVA Keytool工具怎么生成Keystore和Truststore文件”吧!
Keystore可以存放除了證書、公鑰外其它敏感信息,比如密碼、私鑰……證書可以是關聯的證書或者一個證書鏈。證書鏈有客戶端證書和一個或多個CA證書。
Truststore僅僅包含客戶端信任的證書、公鑰。它無法存放敏感信息。
keytool -genkeypair -alias certificatekey -keyalg RSA -validity 7 -keystore keystore.jks
上述命令執行后,我們需要輸入文件加密密碼、相關個人信息以及秘鑰口令(秘鑰口令可以與文件加密密碼一致)。樣例輸出如下:
輸入密鑰庫口令: 再次輸入新口令: 您的名字與姓氏是什么? [Unknown]: chris 您的組織單位名稱是什么? [Unknown]: free 您的組織名稱是什么? [Unknown]: free 您所在的城市或區域名稱是什么? [Unknown]: city 您所在的省/市/自治區名稱是什么? [Unknown]: city 該單位的雙字母國家/地區代碼是什么? [Unknown]: cn CN=chris, OU=free, O=free, L=city, ST=city, C=cn是否正確? [否]: y 輸入 <certificatekey> 的密鑰口令 (如果和密鑰庫口令相同, 按回車): 再次輸入新口令: Warning: JKS 密鑰庫使用專用格式。建議使用 "keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12" 遷移到行業標準格式 PKCS12。
keytool -list -v -keystore keystore.jks
上述命令執行后,我們需要輸入之前設定的文件加密密碼。校驗成功后,命令會展示出keystore文件的內容,樣例輸出如下:
輸入密鑰庫口令: 密鑰庫類型: jks 密鑰庫提供方: SUN 您的密鑰庫包含 1 個條目 別名: certificatekey 創建日期: 2019-11-21 條目類型: PrivateKeyEntry 證書鏈長度: 1 證書[1]: 所有者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 發布者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 序列號: 2b57a2eb 有效期為 Thu Nov 21 14:17:26 CST 2019 至 Thu Nov 28 14:17:26 CST 2019 證書指紋: MD5: 1F:FE:8E:D1:70:98:13:B8:06:2A:FB:7A:A6:88:D8:C4 SHA1: 87:71:6B:37:16:0D:78:4A:48:53:70:6F:6D:ED:0C:81:5C:6D:D0:09 SHA256: 05:06:9A:CC:69:18:C6:D1:45:FA:4C:59:38:70:69:FC:6B:4B:B2:C8:BF:9B:0A:11:9E:FA:2E:DE:48:C9:38:29 簽名算法名稱: SHA256withRSA 主體公共密鑰算法: 2048 位 RSA 密鑰 版本: 3 擴展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 80 05 7D……
keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfsignedcert.cer
上述命令導出證書到文件selfsignedcert.cer中,命令執行時,需要輸入keystore文件加密密碼。樣例輸出結果如下:
輸入密鑰庫口令: 存儲在文件 <selfsignedcert.cer> 中的證書
keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks
上述命令執行時,要求輸入truststore文件加密密碼。命令執行成功后,證書selfsignedcert.cer被增加到了truststore.jks文件中。樣例輸出如下:
輸入密鑰庫口令: 再次輸入新口令: 所有者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 發布者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 序列號: 2b57a2eb 有效期為 Thu Nov 21 14:17:26 CST 2019 至 Thu Nov 28 14:17:26 CST 2019 證書指紋: MD5: 1F:FE:8E:D1:70:98:13:B8:06:2A:FB:7A:A6:88:D8:C4 SHA1: 87:71:6B:37:16:0D:78:4A:48:53:70:6F:6D:ED:0C:81:5C:6D:D0:09 SHA256: 05:06:9A:CC:69:18:C6:D1:45:FA:4C:59:38:70:69:FC:6B:4B:B2:C8:BF:9B:0A:11:9E:FA:2E:DE:48:C9:38:29 簽名算法名稱: SHA256withRSA 主體公共密鑰算法: 2048 位 RSA 密鑰 版本: 3 擴展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 80 05 7D 67 5E 18 89 4F 95 E8 60 41 B3 C4 6C 8D ...g^..O..`A..l. 0010: 38 90 8E 0B 8... ] ] 是否信任此證書? [否]: y 證書已添加到密鑰庫中
keytool -list -v -keystore truststore.jks
上述命令執行時,要求輸入truststore加密密碼。之后會展示truststore的相關內容,樣例輸出如下:
輸入密鑰庫口令: 密鑰庫類型: jks 密鑰庫提供方: SUN 您的密鑰庫包含 1 個條目 別名: certificatekey 創建日期: 2019-11-21 條目類型: trustedCertEntry 所有者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 發布者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 序列號: 2b57a2eb 有效期為 Thu Nov 21 14:17:26 CST 2019 至 Thu Nov 28 14:17:26 CST 2019 證書指紋: MD5: 1F:FE:8E:D1:70:98:13:B8:06:2A:FB:7A:A6:88:D8:C4 SHA1: 87:71:6B:37:16:0D:78:4A:48:53:70:6F:6D:ED:0C:81:5C:6D:D0:09 SHA256: 05:06:9A:CC:69:18:C6:D1:45:FA:4C:59:38:70:69:FC:6B:4B:B2:C8:BF:9B:0A:11:9E:FA:2E:DE:48:C9:38:29 簽名算法名稱: SHA256withRSA 主體公共密鑰算法: 2048 位 RSA 密鑰 版本: 3 擴展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 80 05 7D 67 5E 18 89 4F 95 E8 60 41 B3 C4 6C 8D ...g^..O..`A..l. 0010: 38 90 8E 0B 8... ] ]
-Djavax.net.ssl.keyStore=keystore.jks -Djavax.net.ssl.keyStorePassword=****** -Djavax.net.ssl.trustStore=truststore.jks -Djavax.net.ssl.trustStorePassword=******
上面的所有參數均為JVM啟動參數,設置keystore和truststore屬性。其中keystore與truststore屬性均為文件的具體路徑。如果沒有顯示指定上述屬性,那么JVM默認使用$JAVA_HOME/lib/security/cacerts文件作為truststore,并讀取其中的授信證書(默認密碼為changeit)。
到此,相信大家對“JAVA Keytool工具怎么生成Keystore和Truststore文件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。