鷹翔宇空

          學(xué)習(xí)和生活

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks

          這兩天,一直忙著搞SSL,其間遇到了不少小麻煩,為了總結(jié)自己的得失,同時(shí)也為了給后來者一些參考,就整理了一下。
          其實(shí)主要的就是要?jiǎng)?chuàng)建一個(gè)密鑰倉(cāng)庫(kù)以管理您的公鑰
          / 私鑰對(duì)來自您所信任實(shí)體的證書。
          ?
          第一步:生成密鑰對(duì)
          您首先要做的是創(chuàng)建一個(gè)密鑰倉(cāng)庫(kù)和生成密鑰對(duì)。您可以使用以下命令: ?
          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

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

          該命令將在 ?C? 盤的 “mykeystore” 目錄中創(chuàng)建名為 “weblogic.jks” 的密鑰倉(cāng)庫(kù),并賦予它口令 123456 。它將為實(shí)體生成公鑰 / 私鑰對(duì),該實(shí)體的 特征名 為:常用名 “hyq” 、組織 “eagle” 和兩個(gè)字母的國(guó)家代碼 “cn” 。“ -keyalg ”指定它使用的是那種密鑰生成算法來創(chuàng)建密鑰,缺省的是 “DSA” 密鑰生成算法(會(huì)使用缺省的 ?DSA? ?SHA1” 簽名算法),兩個(gè)密鑰(公鑰與私鑰)的長(zhǎng)度是 512 位,由 -keysize 來指定,默認(rèn)的是 1024? 位。 ? 該證書包括公鑰和特征名信息。該證書的有效期為 365 天,由 -validity 來指定,且與別名 “business” 所代表的密鑰倉(cāng)庫(kù)項(xiàng)關(guān)聯(lián)。私鑰被賦予口令 123456

          ?

          命令行里 DName 信息注解

          ?

          DN 信息域

          含義

          CN

          域名或 IP

          OU

          部門,沒有部門的可不要此項(xiàng)

          O

          單位名稱

          L

          單位地址

          S

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

          C

          國(guó)家的簡(jiǎn)寫 ( CN 代表中國(guó))


          如果采用選項(xiàng)的缺省值,可以大大縮短該命令。實(shí)際上,這些選項(xiàng)并不是必需的;對(duì)于有缺省值的選項(xiàng),未指定時(shí)將使用缺省值,對(duì)于任何被要求的值,您將會(huì)得到要求輸入它的提示。例如:輸入命令 keytool -genkey -keystore "C:/tone.jks" -storepass 123456 -keyalg RSA ,就會(huì)有如下提示:
          Snap3.gif


          注意:這里的
          密鑰倉(cāng)庫(kù)路徑一定要存在,如果不存在的話,它就會(huì)拋如下的異常

          Snap4.gif
          第二步
          : 產(chǎn)生證書請(qǐng)求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/ 目錄下 就會(huì)產(chǎn)生一個(gè) certreq.pem 文件,內(nèi)容如下:

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

          MIHlMIGQAgEAMCsxCzAJBgNVBAYTAmNuMQ4wDAYDVQQKEwVlYWdsZTEMMAoGA1UEAxMDaHlxMFww

          DQYJKoZIhvcNAQEBBQADSwAwSAJBAMhaIG2Ki7+RwZUP4gPBdTbnY38bisW16u1XUyysPxdNwSie

          aSd6E3Hm277E7NjHoz56ZoaYdPPDmdiTkMrS9rcCAwEAAaAAMA0GCSqGSIb3DQEBBAUAA0EAYRNl

          l5dyGgV9hhu++ypcJNQTrDIwjx1QT4fgVubrtIaHU0fzHamD5QG6PYddw9TL51XQHvu6tOS0NUc/

          ItNKJw==

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

          第三步:這就相對(duì)來說簡(jiǎn)單多了,就是CA提交證書請(qǐng)求。
          ??? 你可以隨便從網(wǎng)上找一家免費(fèi)的CA認(rèn)證適用機(jī)構(gòu)(很多的),然后按照上面的提示進(jìn)行操作就可以了,這一步就要用到前面生成的certreq.pem 文件了。(注意:一定要下載根證書)
          ??? 將生成的證書和下載的根證書放至你比較容易找到的位置,我一般將它們和生成的jks文件放到一起。

          第四步:導(dǎo)入證書
          ??? 通過命令:keytool -import -alias RootCA -trustcacerts -file C:/mykeystore/RootCADemo.cer -keystore C:/mykeystore/weblogic.jks -storepass 123456將根證書導(dǎo)入第一步生成的weblogic.jks中,接著將所有其它的證書按照此命令全部導(dǎo)入。(注意證書的別名不能重復(fù),同時(shí)一定注意要用上 -trustcacerts,否則,你在以后使用時(shí),它將會(huì)認(rèn)為你導(dǎo)入的這些證書是不可信任的 ,就會(huì)導(dǎo)致你在配置SSL時(shí)不能正常的工作。)
          ??? 這就全部完成了密鑰倉(cāng)庫(kù)的創(chuàng)建。然后就可以在支持這些證書格式的服務(wù)器上使用了。下一篇將會(huì)寫一下在weblogic上如何配置雙向SSL。

          posted on 2006-03-20 09:47 TrampEagle 閱讀(4856) 評(píng)論(5)  編輯  收藏 所屬分類: 學(xué)習(xí)體會(huì)

          Feedback

          # re: 如何使用keytool創(chuàng)建密鑰倉(cāng)庫(kù) 2006-03-20 10:26 david.turing
          呵呵,可以參考一下我寫的文章《weblogic security in Action》中篇

          http://dev2dev.bea.com.cn/bbs/servlet/D2DServlet/download/81-26770-178629-2291/Weblogic%20Security%20In%20Action(2).swf  回復(fù)  更多評(píng)論
            

          # re: 如何使用keytool創(chuàng)建密鑰倉(cāng)庫(kù) 2006-03-20 10:38 TrampEagle
          @david.turing
          謝謝,呵呵呵,很好的文章!
          可惜沒有早點(diǎn)看到你的文章啊,不過自己總結(jié)一下也好,對(duì)自己也是一種提升吧。  回復(fù)  更多評(píng)論
            

          # re: 如何使用keytool創(chuàng)建密鑰倉(cāng)庫(kù) 2006-03-20 22:08 david.turing
          hehe, u r welcome
          we hope u join our qq group[securitysite]:14966586  回復(fù)  更多評(píng)論
            

          # re: 如何使用keytool創(chuàng)建密鑰倉(cāng)庫(kù) 2006-03-21 08:26 TrampEagle
          @david.turing
          謝謝david.turing!我已經(jīng)加入了,只是用的另一個(gè)qq號(hào),我就是312,呵呵!再次向你致謝!  回復(fù)  更多評(píng)論
            

          # re: 如何使用keytool創(chuàng)建密鑰倉(cāng)庫(kù) 2008-04-11 09:46 將軍
          非常感謝。。樓主  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 漾濞| 民乐县| 临朐县| 水富县| 凌云县| 共和县| 广德县| 青岛市| 腾冲县| 安国市| 五峰| 南投市| 孙吴县| 承德市| 长乐市| 赞皇县| 时尚| 浪卡子县| 沙河市| 江油市| 济宁市| 闸北区| 山西省| 华阴市| 上蔡县| 岱山县| 祁连县| 双峰县| 东辽县| 靖边县| 开平市| 嘉定区| 名山县| 麦盖提县| 贞丰县| 交城县| 扬中市| 安溪县| 洞口县| 泰和县| 如皋市|