茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1671863 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00140.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

爪哇咖啡屋 : [轉貼]JAVA KEYTOOL 的使用及申請憑證

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]JAVA KEYTOOL 的使用及申請憑證

JAVA KEYTOOL的使用及申請憑證(以MICROSOFT ACTIVE DIRECTORY CERTIFICATE SERVICES為例)

KEYTOOL是一個JAVA資料證書的管理工具,KEYTOOL將金鑰(KEY)和證書(CERTIFICATES)存在一個稱為KEYSTORE的檔中 在KEYSTORE裡,包含兩種資料:
  • 金鑰實體(KEY ENTITY:金鑰(SECRET KEY)又或者是私密金鑰和配對公開金鑰(採用非對稱加密)
  • 可信任的證書實體(TRUSTED CERTIFICATE ENTRIES):只包含公開金鑰
AILAS(別名)每個KEYSTORE都關聯這一個獨一無二的ALIAS,這個ALIAS通常不區分大小寫 

JDK中KEYTOOL常用指令:
  • -GENKEY:在用戶主目錄中創建一個預設檔".KEYSTORE",還會產生一個MYKEY的別名,MYKEY中包含用戶的公開金鑰、私密金鑰和證書(在沒有指定生成位置的情況下,KEYSTORE會存在使用者系統預設目錄,如:對於WINDOWS系統,會生成在系統的C:\DOCUMENTS AND SETTINGS\USERNAME\檔案名為“.KEYSTORE”)
  • -ALIAS:產生別名
  • -KEYSTORE:指定金鑰庫的名稱(產生的各類資訊將不在.KEYSTORE文件中)

  • -KEYALG:指定金鑰的演算法 (如 RSA  DSA(如果不指定默認採用DSA))
  • -VALIDITY:指定創建的證書有效期多少天
  • -KEYSIZE:指定金鑰長度
  • -STOREPASS:指定金鑰庫的密碼(獲取KEYSTORE資訊所需的密碼)
  • -KEYPASS:指定別名條目的密碼(私密金鑰的密碼)
  • -DNAME:指定證書擁有者資訊 例如:  "CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區域名稱,ST=州或省份名稱,C=單位的兩字母國家代碼"
  • -LIST:顯示金鑰庫中的證書資訊      KEYTOOL -LIST -V -KEYSTORE 指定KEYSTORE -STOREPASS 密碼
  • -V :顯示金鑰庫中的證書詳細資訊
  • -EXPORT:將別名指定的證書匯出到檔  KEYTOOL -EXPORT -ALIAS 需要匯出的別名
  • -KEYSTORE:指定KEYSTORE -FILE 指定匯出的證書位置及證書名稱 -STOREPASS 密碼
  • -FILE:參數指定匯出到檔的檔案名
  • -DELETE
    :刪除金鑰庫中某條目 KEYTOOL -DELETE -ALIAS 指定需刪除的別名; -KEYSTORE 指定KEYSTORE;-STOREPASS 指定密碼
  • -PRINTCERT:查看匯出的證書資訊          KEYTOOL -PRINTCERT -FILE YUSHAN.CRT
  • -KEYPASSWD:修改金鑰庫中指定條目指令:KEYTOOL -KEYPASSWD -ALIAS 需修改的別名 -KEYPASS 舊密碼 -NEW  新密碼  -STOREPASS KEYSTORE密碼  -KEYSTORE SAGE
  • -STOREPASSWD:修改KEYSTORE指令:KEYTOOL -STOREPASSWD -KEYSTORE E:\POLIN.KEYSTORE(需修改口令的KEYSTORE) -STOREPASS 123456(原始密碼) -NEW POLINWEI(新密碼)
  • -IMPORT:將已簽名數位憑證導入金鑰庫  KEYTOOL -IMPORT -ALIAS 指定導入條目的別名 -KEYSTORE 指定KEYSTORE -FILE 需導入的證書

下面是各選項的預設值。
  • -ALIAS "MYKEY"
  • -KEYALG "DSA"
  • -KEYSIZE 1024
  • -VALIDITY 90
  • -KEYSTORE  為使用者主目錄中名為 .KEYSTORE 的文件
  • -FILE 讀入時為標準輸入,寫出時為標準輸出




1. KEYSTORE的產生: 
分階段產生:
KEYTOOL -GENKEY -ALIAS EDI-PROD(別名) -KEYPASS PASSWORD(別名密碼) -KEYALG RSA(演算法) -KEYSIZE 1024(金鑰長度) -VALIDITY 365(有效期,天單位) -KEYSTORE ./EDI.KEYSTORE(指定生成證書的位置和證書名稱) -STOREPASS 123456(獲取KEYSTORE資訊的密碼)

一次性產生:
KEYTOOL -GENKEY -ALIAS EDI-PROD -KEYPASS PASSWORD -KEYALG RSA -KEYSIZE 1024 -VALIDITY 365 -KEYSTORE ./EDI.KEYSTORE -STOREPASS 123456 -DNAME "CN=(名字與姓氏), OU=(組織單位名稱), O=(組織名稱), L=(城市或區域名稱), ST=(州或省份名稱), C=(單位的兩字母國家代碼)";(中英文都可)

2.查看KEYSTORE裡的資訊:
KEYTOOL -LIST  -V -KEYSTORE ./EDI.KEYSTORE -STOREPASS 123456


KEYSTORE 類型: JKS
KEYSTORE 提供者: SUN

您的 KEYSTORE 包含 1 輸入

別名名稱: EDI-PROD
建立日期: 2013/2/6
項目類型:PRIVATEKEYENTRY
認證鏈長度: 1
認證 [1]:
所有者:CN=MIS, OU=MIS, O=WEI, L=TAIPEI, ST=TAIPEI, C=TW
核發者:CN=MIS, OU=MIS, O=WEI, L=TAIPEI, ST=TAIPEI, C=TW
序號:51121B83
自以下日期開始生效:WED FEB 06 16:59:47 CST 2013,直到:THU FEB 06 16:59:47 CST 2014
憑證指紋:
        MD5:C7:EE:5A:17:C6:FF:0D:30:7C:6B:52:53:D7:29:B1:A6
        SHA1:35:D9:F0:07:5B:2D:9E:89:45:9A:4D:B8:8B:B9:7F:12:D1:36:3B:EC
        簽名演算法名稱:SHA1WITHRSA
        版本:3
3.產生要向第三方發證單位(如:CA)申請的檔案
KEYTOOL -CERTREQ -ALIAS EDI-PROD -FILE EDI-CERTREQ.TXT -KEYSTORE
./EDI.KEYSTORE -STOREPASS 123456 -KEYPASS PASSWORD

EDI-CERTREQ.TXT的檔案內容:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBMTCCAQICAQAWWTELMAKGA1UEBHMCVFCXDZANBGNVBAGTBLRHAXBLATEPMA0GA1UEBXMGVGFP
CGVPMQWWCGYDVQQKEWN3ZWKXDDAKBGNVBASTA21PCZEMMAOGA1UEAXMDBWLZMIGFMA0GCSQGSIB3
DQEBAQUAA4GNADCBIQKBGQCLZG0MUVPAF+CMOG/PWOBKY+VG8L6W6XOF0HGFA3S+3LFV+V79EZLF
VZ3E7L8HEOXM2VTTBM9ODMSBHOG8ZFUBAWYEQ7JZOJ74VSXT3RYFPMEFQMQYZYVN+SD5X9GWX3SB
52L7I0E+1ZKRXC674E9YMGZATZFQISCIJ6VJ76IL3WIDAQABOAAWDQYJKOZIHVCNAQEFBQADGYEA
HZ0J99+3Z0SP56LWXZBAVWNNMJ1ATTPX5WQCACG+NFDUUMCV2NHY/ZWZD9P+EDNBBHGBAFQC8HNU
+QO002MBLZWONUPF4QGLTFP+TNZ+ZGZAMKTYLEQIQKYMOD6FEYNMNPVW7AMVENPL+PVPEJY8DY4L
2Z4HIFW1FLQSUCLIU0A=
-----END NEW CERTIFICATE REQUEST-----
 4.登入 MICROSOFT ACTIVE DIRECTORY CERTIFICATE SERVICES 網站 HTTP://LOCALHOST/CERTSRV 作申請

->REQUEST A CERTIFICATE
->ADVANCED CERTIFICATE REQUEST.
->SUBMIT A CERTIFICATE REQUEST BY USING A BASE-64-ENCODED CMC OR PKCS #10 FILE, OR SUBMIT A RENEWAL REQUEST BY USING A BASE-64-ENCODED PKCS #7 FILE.
選擇 DOWNLOAD CERTIFICATE CHAIN 將產生的憑證存成 EDI-CERTNEW.P7B

5.將EDI-CERTNEW.P7B 加入到EDI.KEYSTORE中:

KEYTOOL -IMPORT -ALIAS EDI-PROD(指定導入證書的別名,如果不指定,預設值為MYKEY,別名是唯一,沒指定對導入會出錯) -FILE EDI-CERTNEW.P7B -KEYSTORE ./EDI.KEYSTORE -STOREPASS 123456 -KEYPASS PASSWORD

並可查看KEYSTORE裡,應有新增一個憑證的資訊:
KEYTOOL -LIST  -V -KEYSTORE ./EDI.KEYSTORE -STOREPASS 123456


原文出處:我與小崴崴的工作日記: JAVA KEYTOOL的使用及申請憑證(以MICROSOFT ACTIVE DIRECTORY CERTIFICATE SERVICES為例)
前一個主題 | 下一個主題 | | | |

討論串




Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|