如何使用keytool建立密鑰倉庫

其實主要的就是要建立一個密鑰倉庫以管理您的公鑰/私鑰對來自您所信任實體的證書。
 
第一步:生成密鑰對
您首先要作的是建立一個密鑰倉庫和生成密鑰對。您可使用如下命令: 
keytool -genkey -keyalg RSA -keysize 512 -dname "cn=hyq,o=eagle,c=cn" -alias weblogic -keypass 123456 -keystore C:/mykeystore/weblogic.jks -storepass 123456 -validity 365
java

(請注意:鍵入該命令時必須使其成爲一行。此處用多行來顯示,主要是爲了可讀性。)以下圖:
Snap2.gif

該命令將在 C 盤的「mykeystore」目錄中建立名爲「weblogic.jks」的密鑰倉庫,並賦予它口令123456。它將爲實體生成公鑰/私鑰對,該實體的特徵名爲:經常使用名「hyq」、組織「eagle」和兩個字母的國家代碼「cn」。「-keyalg」指定它使用的是那種密鑰生成算法來建立密鑰,缺省的是「DSA」密鑰生成算法(會使用缺省的 DSA  SHA1」簽名算法),兩個密鑰(公鑰與私鑰)的長度是512位,由-keysize來指定,默認的是1024 位。 該證書包括公鑰和特徵名信息。該證書的有效期爲365天,由-validity來指定,且與別名「business」所表明的密鑰倉庫項關聯。私鑰被賦予口令123456web

 

命令行裏DName 信息註解算法

 

 

DN 信息域 spa

含義 .net

CN命令行

域名或IP 3d

OUorm

部門,沒有部門的可不要此項 blog

O圖片

單位名稱 

L

單位地址

S

省份的拼音(第一個字母大寫)

C

國家的簡寫 (CN 表明中國)


若是採用選項的缺省值,能夠大大縮短該命令。實際上,這些選項並非必需的;對於有缺省值的選項,未指定時將使用缺省值,對於任何被要求的值,您將會獲得要求輸入它的提示。例如:輸入命令keytool -genkey -keystore "C:/tone.jks" -storepass 123456 -keyalg RSA,就會有以下提示:


注意:這裏的
密鑰倉庫路徑必定要存在,若是不存在的話,它就會拋以下的異常

Snap4.gif
第二步
:產生證書請求certreq.pem 文件

使用以下命令:

keytool -certreq -alias weblogic -sigalg "MD5withRSA" -file C:/mykeystore/certreq.pem -keypass 123456 -keystore C:/mykeystore/weblogic.jks -storepass 123456

Snap5.gif
這樣在
C:/mykeystore/目錄下就會產生一個certreq.pem文件,內容以下:

-----BEGIN NEW CERTIFICATE REQUEST-----

MIHlMIGQAgEAMCsxCzAJBgNVBAYTAmNuMQ4wDAYDVQQKEwVlYWdsZTEMMAoGA1UEAxMDaHlxMFww

DQYJKoZIhvcNAQEBBQADSwAwSAJBAMhaIG2Ki7+RwZUP4gPBdTbnY38bisW16u1XUyysPxdNwSie

aSd6E3Hm277E7NjHoz56ZoaYdPPDmdiTkMrS9rcCAwEAAaAAMA0GCSqGSIb3DQEBBAUAA0EAYRNl

l5dyGgV9hhu++ypcJNQTrDIwjx1QT4fgVubrtIaHU0fzHamD5QG6PYddw9TL51XQHvu6tOS0NUc/

ItNKJw==

-----END NEW CERTIFICATE REQUEST-----

第三步:這就相對來講簡單多了,就是CA提交證書請求。
    你能夠隨便從網上找一家免費的CA認證適用機構(不少的),而後按照上面的提示進行操做就能夠了,這一步就要用到前面生成的certreq.pem 文件了。(注意:必定要下載根證書)
    將生成的證書和下載的根證書放至你比較容易找到的位置,我通常將它們和生成的jks文件放到一塊兒。

第四步:導入證書
    經過命令:keytool -import -alias RootCA -trustcacerts -file C:/mykeystore/RootCADemo.cer -keystore C:/mykeystore/weblogic.jks -storepass 123456將根證書導入第一步生成的weblogic.jks中,接着將全部其它的證書按照此命令所有導入。(注意證書的別名不能重複,同時必定注意要用上 -trustcacerts,不然,你在之後使用時,它將會認爲你導入的這些證書是不可信任的 ,就會致使你在配置SSL時不能正常的工做。) 

相關文章
相關標籤/搜索