溫馨提示×

溫馨提示×

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

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

常用的Java Keytool Keystore命令

發(fā)布時間:2020-06-28 07:27:08 來源:網(wǎng)絡(luò) 閱讀:1205 作者:HHT15927087748 欄目:安全技術(shù)

Java keytool是密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對及相關(guān)證書,用于(通過數(shù)字簽名)自我認(rèn)證(用戶向別的用戶/服務(wù)認(rèn)證自己)或數(shù)據(jù)完整性以及認(rèn)證服務(wù)。它還允許用戶儲存他們的通信對等者的公鑰(以證書形式)。
一. Keytool創(chuàng)建和導(dǎo)入命令
創(chuàng)建keystore和密鑰對
Generate a Java keystore and key pair

keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048

為存在的keystore生成證書請求文件CSR
Generate a certificate signing request (CSR) for an existing Java keystore

keytool -certreq -alias mydomain -keystore keystore.jks -file mydomain.csr

導(dǎo)入根證書或中級證書到keystore
Import a root or intermediate CA certificate to an existing Java keystore

keytool -import -trustcacerts -alias root -file mydomain.crt -keystore keystore.jks

導(dǎo)入SSL服務(wù)器證書到keystore
Import a signed primary certificate to an existing Java keystore

keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks

為存在的keystore生成自簽名證書
Generate a keystore and self-signed certificate

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048

二. Keytool查看命令
查看單個證書
Check a stand-alone certificate

keytool -printcert -v -file mydomain.crt

列出keystore存在的所有證書
Check which certificates are in a Java keystore

keytool -list -v -keystore keystore.jks

使用別名查看keystore特定條目
Check a particular keystore entry using an alias

keytool -list -v -keystore keystore.jks -alias mydomain

三. 其他Keytool命令
刪除keystore里面指定證書
Delete a certificate from a Java Keytool keystore

keytool -delete -alias mydomain -keystore keystore.jks

更改keysore密碼
Change a Java keystore password

keytool -storepasswd -new new_storepass -keystore keystore.jks

導(dǎo)出keystore里面的指定證書
Export a certificate from a keystore

keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks

列出信任的CA證書
List Trusted CA Certs

keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts

導(dǎo)入新的CA到信任證書
Import New CA into Trusted Certs

keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts

Keytool介紹

Keytool 是一個Java數(shù)據(jù)證書的管理工具 ,Keytool將密鑰(key)和證書(certificates)存在一個稱為keystore的文件中在keystore里,包含兩種數(shù)據(jù):密鑰實體(Key entity)-密鑰(secret key)或者是私鑰和配對公鑰(采用非對稱加密)可信任的證書實體(trusted certificate entries)-只包含公鑰.

JDK中keytool常用參數(shù)說明(不同版本有差異,詳細(xì)可參見【附錄】中的官方文檔鏈接):

-genkey 在用戶主目錄
-genkey 在用戶主目錄中創(chuàng)建一個默認(rèn)文件”.keystore”,還會產(chǎn)生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書(在沒有指定生成位置的情況下,keystore會存在用戶系統(tǒng)默認(rèn)目錄)
-alias 產(chǎn)生別名 每個keystore都關(guān)聯(lián)這一個獨一無二的alias,這個alias通常不區(qū)分大小寫
-keystore 指定密鑰庫的名稱(產(chǎn)生的各類信息將不在.keystore文件中)
-keyalg 指定密鑰的算法 (如 RSA DSA,默認(rèn)值為:DSA)
-validity 指定創(chuàng)建的證書有效期多少天(默認(rèn) 90)
-keysize 指定密鑰長度 (默認(rèn) 1024)
-storepass 指定密鑰庫的密碼(獲取keystore信息所需的密碼)
-keypass 指定別名條目的密碼(私鑰的密碼)
-dname 指定證書發(fā)行者信息 其中: “CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區(qū)域名 稱,ST=州或省份名稱,C=單位的兩字母國家代碼”
-list 顯示密鑰庫中的證書信息 keytool -list -v -keystore 指定keystore -storepass 密碼
-v 顯示密鑰庫中的證書詳細(xì)信息
-export 將別名指定的證書導(dǎo)出到文件 keytool -export -alias 需要導(dǎo)出的別名 -keystore 指定keystore -file 指定導(dǎo)出的證書位置及證書名稱 -storepass 密碼
-file 參數(shù)指定導(dǎo)出到文件的文件名
-delete 刪除密鑰庫中某條目 keytool -delete -alias 指定需刪除的別 -keystore 指定keystore – storepass 密碼
-printcert 查看導(dǎo)出的證書信息 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 將已簽名數(shù)字證書導(dǎo)入密鑰庫 keytool -import -alias 指定導(dǎo)入條目的別名 -keystore 指定keystore -file 需導(dǎo)入的證書
中創(chuàng)建一個默認(rèn)文件”.keystore”,還會產(chǎn)生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書(在沒有指定生成位置的情況下,keystore會存在用戶系統(tǒng)默認(rèn)目錄)
-alias 產(chǎn)生別名 每個keystore都關(guān)聯(lián)這一個獨一無二的alias,這個alias通常不區(qū)分大小寫
-keystore 指定密鑰庫的名稱(產(chǎn)生的各類信息將不在.keystore文件中)
-keyalg 指定密鑰的算法 (如 RSA DSA,默認(rèn)值為:DSA)
-validity 指定創(chuàng)建的證書有效期多少天(默認(rèn) 90)
-keysize 指定密鑰長度 (默認(rèn) 1024)
-storepass 指定密鑰庫的密碼(獲取keystore信息所需的密碼)
-keypass 指定別名條目的密碼(私鑰的密碼)
-dname 指定證書發(fā)行者信息 其中: “CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區(qū)域名 稱,ST=州或省份名稱,C=單位的兩字母國家代碼”
-list 顯示密鑰庫中的證書信息 keytool -list -v -keystore 指定keystore -storepass 密碼
-v 顯示密鑰庫中的證書詳細(xì)信息
-export 將別名指定的證書導(dǎo)出到文件 keytool -export -alias 需要導(dǎo)出的別名 -keystore 指定keystore -file 指定導(dǎo)出的證書位置及證書名稱 -storepass 密碼
-file 參數(shù)指定導(dǎo)出到文件的文件名
-delete 刪除密鑰庫中某條目 keytool -delete -alias 指定需刪除的別 -keystore 指定keystore – storepass 密碼
-printcert 查看導(dǎo)出的證書信息 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 將已簽名數(shù)字證書導(dǎo)入密鑰庫 keytool -import -alias 指定導(dǎo)入條目的別名 -keystore 指定keystore -file 需導(dǎo)入的證書
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI