herodby
          技術(shù) 筆記
          posts - 14,  comments - 14,  trackbacks - 0
          背景知識(shí):非對(duì)稱加密算法、公鑰(public key)和私鑰(private key)

          Keytool是一個(gè)Java數(shù)據(jù)證書(shū)的管理工具。

          keystore
          Keytool將密鑰(key)和證書(shū)(certificates)存在一個(gè)稱為keystore的文件中
          在keystore里,包含兩種數(shù)據(jù):
          密鑰實(shí)體(Key entity)——密鑰(secret key)又或者是私鑰和配對(duì)公鑰(采用非對(duì)稱加密)
          可信任的證書(shū)實(shí)體(trusted certificate entries)——只包含公鑰

          Alias(別名)
          每個(gè)keystore都關(guān)聯(lián)這一個(gè)獨(dú)一無(wú)二的alias,這個(gè)alias通常不區(qū)分大小寫(xiě)

          keystore的存儲(chǔ)位置
          在沒(méi)有制定生成位置的情況下,keystore會(huì)存在與用戶的系統(tǒng)默認(rèn)目錄,
          如:對(duì)于window xp系統(tǒng),會(huì)生成在系統(tǒng)的C:\Documents and Settings\UserName\
          文件名為“.keystore”

          keystore的生成
          引用
          keytool -genkey -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -keyalg RSA -alias business -keypass kpi135 -keystore C:\working\mykeystore -storepass ab987c -validity 180


          參數(shù)說(shuō)明:
          -genkey表示要?jiǎng)?chuàng)建一個(gè)新的密鑰
          -dname表示密鑰的Distinguished Names,
          CN=commonName
          OU=organizationUnit
          O=organizationName
          L=localityName
          S=stateName
          C=country
          Distinguished Names表明了密鑰的發(fā)行者身份
          -keyalg使用加密的算法,這里是RSA
          -alias密鑰的別名
          -keypass私有密鑰的密碼,這里設(shè)置為kpi135
          -keystore 密鑰保存在C:\working目錄下的mykeystore文件中
          -storepass 存取密碼,這里設(shè)置為ab987c,這個(gè)密碼提供系統(tǒng)從mykeystore文件中將信息取出
          -validity該密鑰的有效期為 180天

          cacerts證書(shū)文件(The cacerts Certificates File)
          改證書(shū)文件存在于java.home\lib\security目錄下,是Java系統(tǒng)的CA證書(shū)倉(cāng)庫(kù)

          CA證書(shū)的導(dǎo)入(Importing Certificates)
          命令:
          引用
          keytool -import -alias joe -file jcertfile.cer

          這個(gè)命令將證書(shū)文件jcertfile.cer中別名為joe的證書(shū)導(dǎo)入系統(tǒng)的受信任證書(shū)列表中
          通常該命令用以導(dǎo)入來(lái)自CA中心的證書(shū)(Importing a Certificate for the CA)

          導(dǎo)入被CA中心授權(quán)的證書(shū)(Importing the Certificate Reply from the CA)
          命令:
          引用
          keytool -import -trustcacerts -file VSMarkJ.cer



          證書(shū)的導(dǎo)出(Exporting Certificates)
          命令:
          引用
          keytool -export -alias jane -file janecertfile.cer

          這個(gè)命令將別名為jane的證書(shū)導(dǎo)出到證書(shū)文件jcertfile.cer中
          生成的證書(shū)可以交付客戶端用戶使用,用以進(jìn)行SSL通訊,或者伴隨電子簽名的jar包進(jìn)行發(fā)布者的身份認(rèn)證。
          posted on 2008-06-28 16:53 鄧兵野 閱讀(518) 評(píng)論(0)  編輯  收藏 所屬分類: jdk技術(shù)

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2008年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 尼木县| 贵港市| 沽源县| 泗洪县| 葫芦岛市| 沾益县| 万宁市| 杭锦后旗| 城固县| 青海省| 普定县| 从化市| 新野县| 金溪县| 宝丰县| 衡水市| 灯塔市| 新竹市| 甘泉县| 金川县| 巧家县| 金寨县| 南宫市| 永昌县| 连平县| 南通市| 永德县| 延边| 万载县| 新兴县| 碌曲县| 武川县| 柘城县| 大兴区| 浮梁县| 盈江县| 黄山市| 盖州市| 翁牛特旗| 清河县| 河西区|