本篇內(nèi)容主要講解“JAVA Keytool工具怎么生成Keystore和Truststore文件”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“JAVA Keytool工具怎么生成Keystore和Truststore文件”吧!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了雙流免費(fèi)建站歡迎大家使用!
Keystore可以存放除了證書(shū)、公鑰外其它敏感信息,比如密碼、私鑰……證書(shū)可以是關(guān)聯(lián)的證書(shū)或者一個(gè)證書(shū)鏈。證書(shū)鏈有客戶(hù)端證書(shū)和一個(gè)或多個(gè)CA證書(shū)。
Truststore僅僅包含客戶(hù)端信任的證書(shū)、公鑰。它無(wú)法存放敏感信息。
keytool -genkeypair -alias certificatekey -keyalg RSA -validity 7 -keystore keystore.jks
上述命令執(zhí)行后,我們需要輸入文件加密密碼、相關(guān)個(gè)人信息以及秘鑰口令(秘鑰口令可以與文件加密密碼一致)。樣例輸出如下:
輸入密鑰庫(kù)口令: 再次輸入新口令: 您的名字與姓氏是什么? [Unknown]: chris 您的組織單位名稱(chēng)是什么? [Unknown]: free 您的組織名稱(chēng)是什么? [Unknown]: free 您所在的城市或區(qū)域名稱(chēng)是什么? [Unknown]: city 您所在的省/市/自治區(qū)名稱(chēng)是什么? [Unknown]: city 該單位的雙字母國(guó)家/地區(qū)代碼是什么? [Unknown]: cn CN=chris, OU=free, O=free, L=city, ST=city, C=cn是否正確? [否]: y 輸入 <certificatekey> 的密鑰口令 (如果和密鑰庫(kù)口令相同, 按回車(chē)): 再次輸入新口令: Warning: JKS 密鑰庫(kù)使用專(zhuān)用格式。建議使用 "keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12" 遷移到行業(yè)標(biāo)準(zhǔn)格式 PKCS12。
keytool -list -v -keystore keystore.jks
上述命令執(zhí)行后,我們需要輸入之前設(shè)定的文件加密密碼。校驗(yàn)成功后,命令會(huì)展示出keystore文件的內(nèi)容,樣例輸出如下:
輸入密鑰庫(kù)口令: 密鑰庫(kù)類(lèi)型: jks 密鑰庫(kù)提供方: SUN 您的密鑰庫(kù)包含 1 個(gè)條目 別名: certificatekey 創(chuàng)建日期: 2019-11-21 條目類(lèi)型: PrivateKeyEntry 證書(shū)鏈長(zhǎng)度: 1 證書(shū)[1]: 所有者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 發(fā)布者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 序列號(hào): 2b57a2eb 有效期為 Thu Nov 21 14:17:26 CST 2019 至 Thu Nov 28 14:17:26 CST 2019 證書(shū)指紋: 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 簽名算法名稱(chēng): SHA256withRSA 主體公共密鑰算法: 2048 位 RSA 密鑰 版本: 3 擴(kuò)展: #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
上述命令導(dǎo)出證書(shū)到文件selfsignedcert.cer中,命令執(zhí)行時(shí),需要輸入keystore文件加密密碼。樣例輸出結(jié)果如下:
輸入密鑰庫(kù)口令: 存儲(chǔ)在文件 <selfsignedcert.cer> 中的證書(shū)
keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks
上述命令執(zhí)行時(shí),要求輸入truststore文件加密密碼。命令執(zhí)行成功后,證書(shū)selfsignedcert.cer被增加到了truststore.jks文件中。樣例輸出如下:
輸入密鑰庫(kù)口令: 再次輸入新口令: 所有者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 發(fā)布者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 序列號(hào): 2b57a2eb 有效期為 Thu Nov 21 14:17:26 CST 2019 至 Thu Nov 28 14:17:26 CST 2019 證書(shū)指紋: 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 簽名算法名稱(chēng): SHA256withRSA 主體公共密鑰算法: 2048 位 RSA 密鑰 版本: 3 擴(kuò)展: #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... ] ] 是否信任此證書(shū)? [否]: y 證書(shū)已添加到密鑰庫(kù)中
keytool -list -v -keystore truststore.jks
上述命令執(zhí)行時(shí),要求輸入truststore加密密碼。之后會(huì)展示truststore的相關(guān)內(nèi)容,樣例輸出如下:
輸入密鑰庫(kù)口令: 密鑰庫(kù)類(lèi)型: jks 密鑰庫(kù)提供方: SUN 您的密鑰庫(kù)包含 1 個(gè)條目 別名: certificatekey 創(chuàng)建日期: 2019-11-21 條目類(lèi)型: trustedCertEntry 所有者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 發(fā)布者: CN=chris, OU=free, O=free, L=city, ST=city, C=cn 序列號(hào): 2b57a2eb 有效期為 Thu Nov 21 14:17:26 CST 2019 至 Thu Nov 28 14:17:26 CST 2019 證書(shū)指紋: 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 簽名算法名稱(chēng): SHA256withRSA 主體公共密鑰算法: 2048 位 RSA 密鑰 版本: 3 擴(kuò)展: #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=******
上面的所有參數(shù)均為JVM啟動(dòng)參數(shù),設(shè)置keystore和truststore屬性。其中keystore與truststore屬性均為文件的具體路徑。如果沒(méi)有顯示指定上述屬性,那么JVM默認(rèn)使用$JAVA_HOME/lib/security/cacerts文件作為truststore,并讀取其中的授信證書(shū)(默認(rèn)密碼為changeit)。
到此,相信大家對(duì)“JAVA Keytool工具怎么生成Keystore和Truststore文件”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
當(dāng)前標(biāo)題:JAVAKeytool工具怎么生成Keystore和Truststore文件
網(wǎng)頁(yè)URL:http://jinyejixie.com/article0/pshdio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站收錄、Google、網(wǎng)站制作、關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)