中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JAVA Keytool工具怎么生成Keystore和Truststore文件

發布時間:2021-06-24 12:06:43 來源:億速云 閱讀:850 作者:chen 欄目:編程語言

本篇內容主要講解“JAVA Keytool工具怎么生成Keystore和Truststore文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JAVA Keytool工具怎么生成Keystore和Truststore文件”吧!

Keystore可以存放除了證書、公鑰外其它敏感信息,比如密碼、私鑰……證書可以是關聯的證書或者一個證書鏈。證書鏈有客戶端證書和一個或多個CA證書。

Truststore僅僅包含客戶端信任的證書、公鑰。它無法存放敏感信息。

一、生成含有一個私鑰的keystore文件

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。

二、查看生成的keystore文件

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> 中的證書

四、導入證書到truststore文件中

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
證書已添加到密鑰庫中

五、查看生成的truststore文件

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...
]
]

六、Java指定keystore和truststore

-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文件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

旅游| 通辽市| 孙吴县| 自贡市| 绩溪县| 江津市| 九龙县| 莆田市| 拉萨市| 安泽县| 林芝县| 常州市| 筠连县| 古浪县| 定远县| 双桥区| 呼图壁县| 湘潭市| 清丰县| 措美县| 绥德县| 时尚| 高邑县| 霍州市| 定边县| 织金县| 毕节市| 安义县| 泗洪县| 明星| 罗田县| 淮阳县| 松原市| 嘉黎县| 垦利县| 关岭| 信宜市| 崇文区| 开封县| 东乌| 正阳县|