Natural

           

          keyTool的用法

          轉(zhuǎn)自http://blog.chinaunix.net/u/3641/showart_506402.html
          Xfire實(shí)現(xiàn)WSS之創(chuàng)建密鑰對(duì)和數(shù)字證書
          簽名和加密需要使用到數(shù)字證書和密鑰對(duì),可以使用JDK提供的KeyTool工具創(chuàng)建密鑰對(duì)和數(shù)字證書。我們分別為服務(wù)端和客戶端創(chuàng)建RSA密鑰 對(duì),并生成各自的數(shù)字證書(包含公鑰和數(shù)字簽名)。服務(wù)端和客戶端擁有各自的密鑰庫(kù)JKS文件,服務(wù)端的密鑰庫(kù)保存服務(wù)端的密鑰對(duì)和客戶端的數(shù)字證書,而 客戶端的密鑰庫(kù)保存客戶端的密鑰對(duì)和服務(wù)端的數(shù)字證書。

          下面,我們來(lái)看看xfire提供的例子:

          <XFIRE_HOME>/examples/ws-security/keys/generateKeyPair.bat批處理文件:
          rem @echo off

          #接受參數(shù)

          echo alias %1

          echo keypass %2

          echo keystoreName %3

          echo KeyStorePass %4

          echo keyName %5

          創(chuàng)建RSA密鑰對(duì)
          keytool -genkey -alias %1 -keypass %2 -keystore %3 -storepass %4 -dname "cn=%1" -keyalg RSA
          使用私鑰進(jìn)行自簽名
          keytool -selfcert -alias %1 -keystore %3 -storepass %4 -keypass %2
          導(dǎo)出數(shù)字證書
          keytool -export -alias %1 -file %5 -keystore %3 -storepass %4
          <XFIRE_HOME>/examples/ws-security/keys/generateServerKey.bat文件:
          下面兩行命名分別調(diào)用generateKeyPair.bat批處理文件為服務(wù)端和客戶端生成密鑰對(duì)
          call generateKeyPair.bat server serverpass serverStore.jks storepass serverKey.rsa
          call generateKeyPair.bat client clientpass clientStore.jks storepass clientKey.rsa
          將服務(wù)端的數(shù)字證書導(dǎo)入客戶端的密鑰庫(kù)
          keytool -import -alias server -file serverKey.rsa -keystore clientStore.jks -storepass storepass -noprompt
          將客戶端的數(shù)字證書導(dǎo)入服務(wù)端的密鑰庫(kù)
          keytool -import -alias client -file clientKey.rsa -keystore serverStore.jks -storepass storepass -noprompt
          運(yùn)行該批處理文件后,將分別為服務(wù)端和客戶端生成一個(gè)Java密鑰庫(kù)文件,它們分別擁有一個(gè)自己的密鑰對(duì)和對(duì)方的數(shù)字證書。我們通過(guò)表1對(duì)兩者密鑰庫(kù)文件的內(nèi)容進(jìn)行說(shuō)明:

          表1密鑰庫(kù)說(shuō)明


          服務(wù)端Java密鑰庫(kù)
          客戶端Java密鑰庫(kù)

          對(duì)應(yīng)密鑰庫(kù)文件
          serverStore.jks
          clientStore.jks

          密鑰庫(kù)密碼
          storepass
          storepass

          庫(kù)中包含的內(nèi)容
          server密鑰對(duì)、client數(shù)字證書
          client密鑰對(duì)、server數(shù)字證書

          密鑰對(duì)別名
          server
          client

          密鑰對(duì)私鑰的保護(hù)密碼
          serverpass
          clientpass

          posted on 2011-01-11 15:56 此號(hào)已被刪 閱讀(593) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(8)

          隨筆分類(83)

          隨筆檔案(78)

          文章檔案(2)

          相冊(cè)

          收藏夾(7)

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 青海省| 齐齐哈尔市| 如皋市| 江西省| 扬中市| 南康市| 姚安县| 若羌县| 原平市| 沿河| 安达市| 公主岭市| 邯郸市| 海晏县| 理塘县| 偃师市| 沁水县| 靖远县| 明溪县| 瓦房店市| 麻栗坡县| 伊金霍洛旗| 常熟市| 观塘区| 湄潭县| 新宾| 兴国县| 南溪县| 陇川县| 宽城| 石林| 马公市| 曲沃县| 榆树市| 丰镇市| 固原市| 土默特右旗| 通化市| 桑日县| 德阳市| 建宁县|