使用 keytool 生成密鑰對 + keytool 命令詳解


使用 keytool 生成密鑰對 + keytool 命令詳解

一、生成密鑰對

G:>keytool -genkeypair ^
More? -alias own-alias ^
More? -keyalg RSA ^
More? -keypass password ^
More? -sigalg SHA256withRSA ^
More? -dname "cn=zolmk,ou=zolmk,o=zolmk,l=HN,st=HN,c=CN" ^
More? -validity 3650 ^
More? -keystore keystore.jks ^
More? -storetype JKS ^
More? -storepass password

參數詳解:

  • -genkeypair:原 -genkey,Java 1.6 之后更改,表示生成密鑰對
  • -alias:產生別名,每個 keystore 都會關聯這一個獨一無二的 alias,alias 不區分大小寫
  • -keyalg:指定產生密鑰的算法
  • -keypass:指定別名條目的密碼(私鑰的密碼)
  • -sigalg:簽名算法名稱
  • -dname:唯一判別名,cn 所有者名稱,ou 組織單位名稱,o 組織名稱,l 城市或區域名稱,st 州或省份名稱,c 兩字母國家代碼
  • -validity:有效天數
  • -keystore:密鑰庫名稱
  • -storetype:密鑰庫類型
  • -storepass:密鑰庫口令

二、查看密鑰庫

keytool -list -v -keystore keystore.jks -storepass "password"
  • -list:列出密鑰庫中的條目
  • -v:詳細輸出
  • -keystore:密鑰庫文件

三、keytool 全部命令

 -certreq            生成證書請求
 -changealias        更改條目的別名
 -delete             刪除條目
 -exportcert         導出證書
 -genkeypair         生成密鑰對
 -genseckey          生成密鑰
 -gencert            根據證書請求生成證書
 -importcert         導入證書或證書鏈
 -importpass         導入口令
 -importkeystore     從其他密鑰庫導入一個或所有條目
 -keypasswd          更改條目的密鑰口令
 -list               列出密鑰庫中的條目
 -printcert          打印證書內容
 -printcertreq       打印證書請求的內容
 -printcrl           打印 CRL 文件的內容
 -storepasswd        更改密鑰庫的存儲口令

1)二級命令參數

-list 列出密鑰庫中的條目

 -rfc                            以 RFC 樣式輸出
 -alias <alias>                  要處理的條目的別名
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-genkeypair 生成密鑰對

 -alias <alias>                  要處理的條目的別名
 -keyalg <keyalg>                密鑰算法名稱
 -keysize <keysize>              密鑰位大小
 -sigalg <sigalg>                簽名算法名稱
 -destalias <destalias>          目標別名
 -dname <dname>                  唯一判別名
 -startdate <startdate>          證書有效期開始日期/時間
 -ext <value>                    X.509 擴展
 -validity <valDays>             有效天數
 -keypass <arg>                  密鑰口令
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-genseckey 生成密鑰

 -alias <alias>                  要處理的條目的別名
 -keypass <arg>                  密鑰口令
 -keyalg <keyalg>                密鑰算法名稱
 -keysize <keysize>              密鑰位大小
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-certreq 生成證書請求

 -alias <alias>                  要處理的條目的別名
 -sigalg <sigalg>                簽名算法名稱
 -file <filename>                輸出文件名
 -keypass <arg>                  密鑰口令
 -keystore <keystore>            密鑰庫名稱
 -dname <dname>                  唯一判別名
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-changealias 更改條目的別名

 -alias <alias>                  要處理的條目的別名
 -destalias <destalias>          目標別名
 -keypass <arg>                  密鑰口令
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-delete 刪除條目

 -alias <alias>                  要處理的條目的別名
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-exportcert 導出證書

 -rfc                            以 RFC 樣式輸出
 -alias <alias>                  要處理的條目的別名
 -file <filename>                輸出文件名
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-gencert 根據證書請求生成證書

 -rfc                            以 RFC 樣式輸出
 -infile <filename>              輸入文件名
 -outfile <filename>             輸出文件名
 -alias <alias>                  要處理的條目的別名
 -sigalg <sigalg>                簽名算法名稱
 -dname <dname>                  唯一判別名
 -startdate <startdate>          證書有效期開始日期/時間
 -ext <value>                    X.509 擴展
 -validity <valDays>             有效天數
 -keypass <arg>                  密鑰口令
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-importcert 導入證書或證書鏈

 -noprompt                       不提示
 -trustcacerts                   信任來自 cacerts 的證書
 -protected                      通過受保護的機制的口令
 -alias <alias>                  要處理的條目的別名
 -file <filename>                輸入文件名
 -keypass <arg>                  密鑰口令
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出

-importpass 導入口令

 -alias <alias>                  要處理的條目的別名
 -keypass <arg>                  密鑰口令
 -keyalg <keyalg>                密鑰算法名稱
 -keysize <keysize>              密鑰位大小
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出
 -protected                      通過受保護的機制的口令

-importkeystore 從其他密鑰庫導入一個或所有條目

 -srckeystore <srckeystore>            源密鑰庫名稱
 -destkeystore <destkeystore>          目標密鑰庫名稱
 -srcstoretype <srcstoretype>          源密鑰庫類型
 -deststoretype <deststoretype>        目標密鑰庫類型
 -srcstorepass <arg>                   源密鑰庫口令
 -deststorepass <arg>                  目標密鑰庫口令
 -srcprotected                         受保護的源密鑰庫口令
 -srcprovidername <srcprovidername>    源密鑰庫提供方名稱
 -destprovidername <destprovidername>  目標密鑰庫提供方名稱
 -srcalias <srcalias>                  源別名
 -destalias <destalias>                目標別名
 -srckeypass <arg>                     源密鑰口令
 -destkeypass <arg>                    目標密鑰口令
 -noprompt                             不提示
 -providerclass <providerclass>        提供方類名
 -providerarg <arg>                    提供方參數
 -providerpath <pathlist>              提供方類路徑
 -v                                    詳細輸出

-keypasswd 更改條目的密鑰口令

 -alias <alias>                  要處理的條目的別名
 -keypass <arg>                  密鑰口令
 -new <arg>                      新口令
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出

-printcert 打印證書內容

 -rfc                        以 RFC 樣式輸出
 -file <filename>            輸入文件名
 -sslserver <server[:port]>  SSL 服務器主機和端口
 -jarfile <filename>         已簽名的 jar 文件
 -v                          詳細輸出

-printcertreq 打印證書請求的內容

 -file <filename>  輸入文件名
 -v                詳細輸出

-printcrl 打印 CRL 文件的內容

 -file <filename>  輸入文件名
 -v                詳細輸出

-storepasswd 更改密鑰庫的儲存口令

 -new <arg>                      新口令
 -keystore <keystore>            密鑰庫名稱
 -storepass <arg>                密鑰庫口令
 -storetype <storetype>          密鑰庫類型
 -providername <providername>    提供方名稱
 -providerclass <providerclass>  提供方類名
 -providerarg <arg>              提供方參數
 -providerpath <pathlist>        提供方類路徑
 -v                              詳細輸出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM