這個範例檔教您如何建立伺服器金鑰儲存庫和伺服器主要憑證,
以便與 Rational® DOORS® 搭配使用,
以及如何設定 Microsoft Certificate Store (MCS),
來驗證伺服器憑證。範例檔後面是指令與參數明細表。
範例檔
REM 建立伺服器金鑰儲存庫檔
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
REM 在 server.kdb 中建立伺服器主要憑證,並新增至 MCS
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
REM 建立並簽署伺服器憑證
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
REM 從 MCS 擷取主要憑證,並新增至伺服器金鑰資料庫檔案
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
建立伺服器金鑰儲存庫檔
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
- gsk8capicmd -keydb -create
- gsk8capicmd 指令是一個用來管理金鑰資料庫中之金鑰、憑證和憑證申請的工具。
gsk8capicmd 的語法是:gsk8capicmd modifiers object action options。在這個範例中,
-keydb 是金鑰資料庫 object,-create 是要採取的 action,
-db 是 option。這個指令會建立一個金鑰資料庫。
- -db server.kdb -pw ser123
- 金鑰資料庫的名稱是 server.kdb,並設有密碼 (-pwd)。在這個範例中,
密碼是 ser123。
- -stash
- 在建立之後隱藏金鑰資料庫的密碼。藉由隱藏檔,來自動提供密碼。在您存取金鑰資料庫時,
系統會先檢查是否存在隱藏檔。若有,則會解密檔案內容,並作為密碼的輸入。如果在執行建立動作期間指定了 -stash 標籤,
會將密碼隱藏在檔案中,檔名是:key_database_name.sth。
在金鑰儲存庫中建立主要憑證,並新增至 MCS
主要憑證用來建立伺服器憑證。由於主要憑證位於 MCS 中,
Rational DOORS 用戶端可以使用 MCS 來驗證伺服器憑證。
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
- -cert -create
- 這是 create certificate 指令(-create 動作和 -cert 物件)。
- -label "IBMEDCA1"
- 在憑證中附加標籤。在這個範例中,名稱是 "IBMEDCA1"。使用者可以利用標籤來唯一識別認證。
- -dn "CN=IBMEDCA1"
- -dn 識別名稱會唯一識別憑證。輸入時,必須用引號括住下列格式的字串(只有 CN 是必要的):
- CN=通用名稱
- O=組織
- OU=組織單位
- L=位置
- ST=州、省
- C=國家或地區
- DC=網域元件
- EMAIL=電子郵件位址
在這個範例中,識別名稱是 "CN=IBMEDCA1"。
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
- -cert -extract -label "IBMEDCA1"
- 這是 extract certificate 指令(-extract 動作和 -cert 物件)。這個指令會從金鑰資料庫擷取指名的憑證資料
(-label"IBMEDCA1"),並放到檔案中。
- -target temp1.arm
- 用來放置所擷取憑證的檔案。
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
- -cert -add -db GSK_MS_CERTIFICATE_STORE
- 這是 add certificate 指令(-add 動作和 -cert 物件)。這個指令會將所擷取的憑證
(-label"IBMEDCA1" -file temp1.arm) 新增到 MCS (-db GSK_MS_CERTIFICATE_STORE)。
建立伺服器憑證,並用主要憑證簽署
伺服器憑證會儲存在金鑰儲存庫中。在範例中,
是撰寫伺服器的識別名稱,且該伺服器是在稱為
IBMEDSERV 的電腦上執行。
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
- -certreq -create
- 這是 create certificate request 指令(-create 動作和 -certreq 物件)。
- -label IBMSV1
- 在憑證中附加標籤。在這個範例中,
名稱是 IBMSV1。使用者可以利用標籤來唯一識別認證。IBMSV1 是預設憑證名稱,
如果在伺服器啟動時沒有指定名稱,Rational DOORS 伺服器就會使用這個名稱。
- -dn "CN=IBMEDSERV,dc=ukednode1"
- -dn 識別名稱會唯一識別憑證。在這個範例中,
識別名稱是 "CN=IBMEDSERV,dc=ukednode1"。
註: 識別名稱中的 IBMEDSERV 部分必須是伺服器的名稱,
或者,如果在啟動伺服器時使用了 -serverhostname 選項,則是這個選項的值。
- -file temp2.arm
- 在建立憑證申請程序期間,用來放置所擷取之憑證申請的檔名。
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
- -cert -sign
- 這是 sign certificate 指令(-sign 動作和 -cert 物件)。這個指令容許利用儲存在金鑰資料庫內的現有憑證,
來簽署憑證申請。這個指令接受使用指定檔案格式的憑證申請以及憑證詳細資料(其中含有簽署程序期間要使用的私密金鑰)。
- -file temp2.arm
- 要簽署之憑證申請的名稱和位置。
- -target temp3.arm
- 將包含簽署憑證之檔案的名稱。
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
- -cert -receive
- 這是 receive certificate 指令(-receive 動作和 -cert 物件)。這個指令會儲存已申請的憑證,
以便使用該憑證來簽署憑證申請。要接收之憑證的檔名。
- -file temp3.arm
- 要接收之憑證的檔名。
從 MCS 複製憑證的主要憑證,並新增至伺服器金鑰儲存庫
範例的這個部分容許伺服器驗證憑證。
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
- -cert -extract -db GSK_MS_CERTIFICATE_STORE -label -"CN=Coy
Root" target temp4.arm
- 這是 extract certificate 指令(-extract 動作和 -cert 物件)。這個指令會從 MCS 資料庫 (-db GSK_MS_CERTIFICATE_STORE) 擷取指名的憑證資料
(-label"CN=Coy Root"),並放到檔案中 (temp4.arm)。
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
- -cert -add -label "CN=Coy Root" -file temp4.arm
- 這是 add certificate 指令(-add 動作和 -cert 物件)。這個指令會將憑證新增至指名的金鑰儲存庫。
註: 在這些指令中,
主要憑證名稱是 CN=Coy Root。您使用的主要憑證會有一個詳細名稱。此外,
如果您的組織使用多份主要憑證,您必須個別擷取和新增每一份主要憑證。舉例來說,
其中一份主要憑證可能適用於 500 位使用者使用的卡片,
另一份主要憑證可能適用於其餘的 2000 位使用者。在此情況下,這些主要憑證 server.kdb 都必須新增。