使用keytool工具

2021-09-01 08:03:28 字數 4436 閱讀 7011

j2sdk提供了keytool命令列工具,可以根據指定的引數來建立數字證書。生成的證書或證書庫預設儲存在命令列當前目錄下。

[size=small]1. 建立數字證書[/size]

keytool -genkey -v -alias scent -dname "cn=john,ou=mng,o=corp,l=hangzhou,st=zhejiang,c=cn" -keyalg rsa -keysize 2048 -keypass 123456 -keystore prospectlib -storepass 123456 -storetype jceks -validity 900

注:-genkey可以寫成-genkeypair

dname的值詳解:

cn(common name名字與姓氏)

ou(organization unit組織單位名稱)

o(organization組織名稱)

l(locality城市或區域名稱)

st(state州或省份名稱)

c(country國家名稱)

[size=small]2. 檢視證書庫中的所有數字證書[/size]

keytool -list -rfc -keystore prospectlib -storepass 123456 -storetype jceks

注:如果證書庫是非預設storetype,需要明確指定。

[size=small]3. 檢視證書詳細[/size]

keytool -list -v -alias scent -keystore prospectlib -storepass 123456 -storetype jceks

注:如果證書是非預設storetype,需要明確指定。

[size=small]4. 匯入證書[/size]

keytool -import -v -trustcacerts -alias scent -file scent.cer -keypass 123456 -keystore prospectlib -storepass 123456

注:-import可以寫成-importcert

-trustcacerts和-v 可以不寫,效果一樣

[size=small]5. 匯出證書[/size]

keytool -export -alias scent -file scent.cer -keystore prospectlib -storepass 123456

注:-export可以寫成-exportcert

[size=small]6. 刪除證書[/size]

keytool -delete -alias scent -keystore prospectlib -storepass 123456 -storetype jceks

注:如果證書是非預設storetype,需要明確指定。

[size=small]7. 生成證書簽名申請[/size]

keytool -certreq -alias scent -sigalg "md5withrsa" -file scent.csr -keypass 123456 -keystore cacerts.jks -storepass 123456

注:將生成的scent.scr檔案發給ca機構來申請簽名。

[size=small]8. 顯示證書[/size]

keytool -printcert -v -file scent.cer

[size=small]9. 更改證書別名[/size]

keytool -changealias -v -alias scent -destalias perfume -keystore prospectlib -storepass 123456

[size=small]10. 匯入證書庫[/size]

keytool -importkeystore -v -srckeystore prospectlib -srcstoretype jks -srcstorepass 123456 -destkeystore intrinsic -deststoretype jks -deststorepass 123456 -srcalias terrific prospect -destalias terrific prospect

注:如果不提供-srcalias, -destalias,則會將源庫的所有證書匯入到目標庫中。

[size=small]11. 修改證書密碼[/size]

keytool -keypasswd -alias brilliant -keystore range -storepass 123456 -keypass 123456 -new 654321

注:如果不提供-keypass,系統會提示你輸入新密碼。

[size=small]12. 修改證書庫密碼[/size]

keytool -storepasswd -v -new 654321 -keystore range -storepass 123456 -storetype jks

[size=small]引數詳解:[/size]

[color=blue]-dname[/color] [color=violet]"cn=xx,ou=xx,o=xx,l=xx,st=xx,c=xx"[/color] dn名為"cn=..."

[color=blue]-alias[/color] [color=violet]scent[/color] 別名為scent的乙個證書

[color=blue]-keyalg[/color]

[color=violet]dsa rsa[/color] dsa或rsa演算法(當使用-genkeypair引數)

[color=violet]des desede aes[/color] des或desede或aes演算法(當使用-genseckey引數)

[color=blue]-keysize[/color]

[color=violet]512[/color] ~ [color=violet]1024[/color] 金鑰的長度為512至1024之間(64的倍數)(當使用-genkeypair和-keyalg dsa引數)

> [color=violet]512[/color] 金鑰的長度大於512 (當使用-genkeypair和-keyalg rsa引數)

[color=violet]56[/color] 金鑰的長度為56 (當使用-genseckey和-keyalg des 引數)

[color=violet]112 168[/color] 金鑰長度為112或168(當使用-genseckey和-keyalg desede 引數)

[color=violet]128 192 256[/color] 金鑰長度為128或192或256 (當使用-genseckey和-keyalg aes 引數)

[color=blue]-keypass[/color] [color=violet]123456[/color] 這個證書的私鑰密碼為123456

[color=blue]-keystore[/color] [color=violet]prospectlib[/color] 證書庫的名稱為prospectlib

[color=blue]-storepass[/color] [color=violet]123456[/color] 證書庫的訪問密碼為123456

[color=blue]-validity[/color] [color=violet]900[/color] 證書有效期為900天

[color=blue]-file[/color] [color=violet]scent.cer[/color] 從scent.cer檔案匯入證書,或者匯出證書到scent.cer檔案

[color=blue]-v[/color] 顯示詳細資訊

[color=blue]-rfc[/color] 以base64的編碼格式列印證書

[color=blue]-storetype[/color] [color=violet]jceks[/color] 金鑰庫的型別為jceks。常用的有jks(預設),jceks(推薦),pkcs12,bks,uber。每個金鑰庫只可以是其中一種型別。

使用keytool工具常用證書轉換

使用keytool工具常用證書轉換 p12 轉 jks keytool importkeystore srckeystore keystore.p12 srcstoretype pkcs12 deststoretype jks destkeystore keystore.jks jks 轉 p12 ...

keytool使用詳解

1 生成金鑰,並以證書檔案儲存 keytool genkey alias bogus keysize 512 validity 3650 keyalg rsa dname cn bogus.com,ou ca,o bogus inc,l stockholm,s stockholm,c se keyp...

使用JDK自帶的keytool工具生成證書

使用jdk自帶的keytool工具生成證書 1 使用jdk自帶的keytool工具生成證書 匯出證書 keytool export filed keys wsria.crt alias wsria keystore d keys wsriakey 為客戶端的jvm匯入證書 d jdk1.7 jre ...