IBM HTTP Server 說明:使用金鑰管理公用程式 (IKEYMAN)

使用金鑰管理公用程式 (IKEYMAN)

開始之前

如果要擁有安全的網路連線,請建立安全網路通信的金鑰, 以及接收伺服器中指定為具公信力的 CA 之憑證管理中心 (CA) 所提供之憑證。 IKEYMAN 可用來建立金鑰資料庫、公開/私密金鑰組合以及憑證要求。如果您充當自己的 CA,可以使用 IKEYMAN 來建立自我簽章憑證。 如果您在專用 Web 網路中充當自己的 CA,您可以選擇使用伺服器 CA 公用程式來產生及發出已簽章憑證給您專用網路上的從屬站及伺服器。

請在公開/私密金鑰之建立和管理所關聯的配置工作上使用 IKEYMAN。 您不能對更新伺服器配置檔 httpd.conf 的配置選項使用 IKEYMAN。 對於更新伺服器配置檔的選項,您必須使用 IBM Administration Server。

Linux for S/390 使用者: 請使用 IKEYCMD 指令行介面來執行類似於 IKEYCMD 的功能。 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。

 

複閱安全性配置範例

此附錄提供有關您用「IBM 金鑰管理公用程式 (IKEYMAN)」來執行作業的詳細資訊。 這項資訊不解釋在需要更新伺服器配置檔的安全選項上,如何進行配置安全選項的工作。

設定您的系統環境

IKEYMAN GUI 以 Java 為基礎,必須有 JDK 或 JRE 才能執行。 IKEYMAN 支援的最低 JDK 層次:

在 Windows 和 Solaris 上,GSkit 程式庫安裝成 SSL 元件的一部份,其中包括 JRE。 這些平台不需要其它環境設定工作。 如果要在 AIX、HP 或 Linux 上執行,或在 Solaris 上使用另一個 JDK,請使用下列準則來設定您的系統環境:

如果要在 Linux for S/390 中執行 IKEYMAN,請依照下列方式,設定環境變數來使用 IKEYCMD 指令行:

  1. 將 PATH 設為 Java 或 JRE 執行檔所常駐之處:
    	  EXPORT PATH=/opt/IBMJava/bin:$PATH
    
  2. 設定下列 CLASSPATH 環境變數:
    	  EXPORT CLASSPATH=/usr/local/ibm/gsk/classes/cfwk.zip:/usr/local/ibm/
    		gsk/classes/gsk4cls.jar:$CLASSPATH
    

完成之後,應該可以從任何目錄來執行 IKEYCMD。如果要執行 IKEYCMD 指令,請利用下列語法:

	  java com.ibm.gsk.ikeyman.ikeycmd <指令>
附註:JRE 可由 Java 來替代,這取決於您使用 JRE 或 JDK。 範例:
jre com.ibm.gsk.ikeyman.ikeycmd <指令>

每個 IKEYCMD(除了建立資料庫)都要求必須指定金鑰資料庫及其密碼。 這是必要的動作,因為資料庫是利用各個指令來開啟的。 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。

使用 IKEYMAN 圖形式使用者介面

啟動 IKEYMAN

如果要啟動 IKEYMAN 圖形式使用者介面:

附註:如果您啟動 IKEYMAN 來建立新的金鑰資料庫檔案,該檔案將會儲存在您啟動 IKEYMAN 的目錄。

使用 IKEYMAN 或 IKEYCMD 指令行介面

如果要有安全的網路連線,請建立安全網路通信的金鑰, 以及接收伺服器中指定為具公信力的 CA 之憑證管理中心 (CA) 所提供之憑證。 請使用 IKEYMAN(或在 Linux for S/390 中利用 IKEYCMD)來建立金鑰資料庫檔、公開/私密金鑰組合及憑證要求。 在您收到 CA 簽名的憑證之後,請利用 IKEYMAN(或在 Linux for S/390 中利用 IKEYCMD), 將憑證接收到您在其中建立原始憑證要求的金鑰資料庫中。

這一節提供 IKEYMAN 和 IKEYCMD 工作的快速參照以及一般工作說明。

使用者介面作業參照

下表總結 IKEYMAN 使用者介面和 IKEYCMD 指令行介面工作。

IKEYMAN 和 IKEYCMD 工作 如果需要指示,請移至:
建立新的金鑰資料庫,並指定資料庫密碼
「建立新的金鑰資料庫」

建立新的金鑰組合及憑證要求
「建立新的金鑰組合及憑證要求」

建立自簽憑證
「建立自簽憑證」

將金鑰匯出至另一個資料庫或 PKCS12 檔案
「匯出金鑰」

從另一個資料庫或 PKCS12 檔案匯入金鑰
「匯入金鑰」

列出憑證管理中心 (CA) 及憑證要求
「列出 CA」

開啟金鑰資料庫
「開啟金鑰資料庫」

將 CA 簽名的憑證接收至金鑰資料庫中
「接收 CA 簽名的憑證」

顯示金鑰資料庫中的預設金鑰
「顯示金鑰資料庫中的預設金鑰」

儲存 CA 的主要憑證
「儲存 CA 憑證」

將已加密的資料庫密碼儲存在隱藏檔案中
「將已加密的資料庫密碼儲存在隱藏檔案中」

建立新的金鑰資料庫

金鑰資料庫是伺服器用來儲存一或多個金鑰組合與憑證的檔案。 您可以使用一個金鑰資料庫來儲存所有的金鑰組合和憑證,或建立多個資料庫。

如果要建立新的金鑰資料庫:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「新建」。
  3. 在「新建」對話框中,輸入您的金鑰資料庫名稱,或者如果您是使用預設值,則請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,然後輸入以確認密碼。 按一下「確定」。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要使用 IKEYCMD 指令行介面來建立新的金鑰資料庫,請輸入下列指令:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <檔案名稱>.kdb -pw <密碼>
 -type cms -expire <天數> -stash

其中:
-type: IBM HTTP Server 僅處理 cms 金鑰資料庫。
-expire: 密碼到期之前的天數。
-stash: 隱藏金鑰資料庫的密碼。IBM HTTP 伺服器需要隱藏密碼。

在建立資料庫期間指定 -stash 選項時,會將密碼隱藏在名稱依下列方式來建置的檔案中:

	   <金鑰資料庫的檔案名稱>.sth
比方說,如果建立的資料庫名稱為 keydb.kdb,則隱藏的檔案名稱為 keydb.sth

設定資料庫密碼

當您建立新的金鑰資料庫時,您會指定金鑰資料庫密碼。 這個密碼會保護私密金鑰。 私密金鑰是唯一可以簽認文件或將公開金鑰加密之訊息解密的金鑰。 您最好經常變更金鑰資料庫密碼。

指定密碼時,請遵循下列指示:

附註: 請追蹤密碼的到期日。 如果密碼到期,這時會將一則訊息寫入錯誤日誌中。 如果密碼過期了,則伺服器仍會啟動,但是不會有安全網路連線。

變更資料庫密碼

欲變更資料庫密碼:

  1. 在指令行上輸入 ikeyman
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「開啟」對話框中,輸入您的金鑰資料庫名稱,或者如果您是使用預設值,則請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,並按一下「確定」。
  5. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「變更密碼」。
  6. 在「變更密碼」對話框中,輸入新的密碼和新的確認密碼。 按一下「確定」。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要變更資料庫密碼,請輸入:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -changepw -db <檔案名稱> .kdb -pw <密碼> -new_pw
<新密碼> -expire <天數>

其中:
-new_pw:這是新的金鑰資料庫密碼;這個密碼必須不同於舊密碼
-expire: 密碼到期之前的天數。

請在變更之後,將這個新密碼隱藏起來。 請參閱將已加密的資料庫密碼儲存在隱藏檔案中, 以取得隱藏密碼的詳細資訊。

在伺服器登錄金鑰資料庫

預設金鑰資料庫名稱的起始配置設定為 key.kdb。如果您使用 key.kdb 來作為您的預設金鑰資料庫名稱, 即不需要在伺服器登錄資料庫。伺服器會使用配置檔中 KeyFile 指引上的起始設定。 如果您不使用 key.kdb 來作為您的預設金鑰資料庫名稱, 或者如果您建立其它的金鑰資料庫,則您必須登錄這些資料庫。

建立新的金鑰組合及憑證要求

金鑰組合及憑證要求皆儲存在金鑰資料庫中。 如果要建立公開/私密金鑰組合和憑證要求:

  1. 如果您尚未建立金鑰資料庫,請參閱建立新的金鑰資料庫,以取得說明。
  2. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  3. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  4. 在「開啟」對話框中,輸入您的金鑰資料庫名稱, 或者如果您是使用預設值,請按一下 key.kdb。按一下「確定」。
  5. 在「密碼提示」對話框中,輸入您的正確密碼,並按一下「確定」。
  6. 從主要的 UI 中選取「建立」,然後選取「新憑證要求」。
  7. 在「新金鑰和憑證要求」對話框中,輸入:
  8. 按一下「確定」。
  9. 在「資訊」對話框中,按一下「確定」。系統會提醒您將檔案傳送至憑證管理中心。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要建立公開/私密金鑰組合和憑證要求:

  1. 輸入下列指令:
    java com.ibm.gsk.ikeyman.ikeycmd -certreq -create -db <db 名稱>.kdb -pw <
    	password> -size <1024 | 512> -dn<區別名稱>
    	-file <檔案名稱> -label <標籤>
    
    其中:
    -size: 512 或 1024 的金鑰大小
    -label: 附加於憑證或憑證要求的標籤
    -dn: X.500 區別名稱。這是附加引號來採用下列格式輸入的字串(只有 CN、O 和 C 是必要的) CN=共用名稱,O=組織,OU=組織單位,L=位置,ST=州/省,C=國家。
    範例:
    "CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"

    -file:憑證要求要儲存其中的檔案名稱。
  2. 驗證是否順利建立憑證。
    1. 檢視您建立的憑證要求檔的內容。
    2. 確認金鑰資料庫已記錄憑證要求:
      java com.ibm.gsk.ikeyman.ikeycmd -certreq -list -db <檔案名稱> 
      -pw <密碼>
      
      這時應該會列出剛建立的標籤。
  3. 將最新建立的檔案傳送到憑證管理中心。

建立自簽憑證

要從知名的 CA 處取得憑證,通常都得等候二到三個星期。 在等待發出憑證期間,您可以利用 IKEYMAN 建立一個自行簽署的伺服器憑證, 來啟用從屬站和伺服器之間的 SSL 階段作業。 如果您在專用 Web 網路上扮演自己的 CA,請利用這個程序。

如果要建立自簽憑證:

  1. 如果您尚未建立金鑰資料庫,請參閱建立新的金鑰資料庫,以取得說明。
  2. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  3. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  4. 在「開啟」對話框中,輸入您的金鑰資料庫名稱, 或者如果您是使用預設值,請按一下 key.kdb。按一下「確定」。
  5. 在「密碼提示」對話框中,輸入您的正確密碼,並按一下「確定」。
  6. 在「金鑰資料庫」內容框中,選取「個人憑證」, 並按一下「新的自簽」按鈕。
  7. 在「建立新的自簽憑證」對話框中,輸入:
  8. 按一下確定

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要建立自簽憑證:

  1. 輸入下列指令:
    java com.ibm.gsk.ikeyman.ikeycmd -cert -create -db <db 名稱>.kdb -pw <密碼>
    -size <1024 | 512> -dn<區別名稱> -label <標籤>
    
    其中:
    -size: 512 或 1024 金鑰大小
    -label: 輸入要用來識別資料庫中的金鑰和憑證的說明備註。
    -dn: 輸入 X.500 區別名稱。這是附加引號來採用下列格式輸入的字串(只有 CN、O 和 C 是必要的): CN=共用名稱,O=組織,OU=組織單位,L=位置,ST=州/省,C=國家
    範例:
    "CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"
  2. 如果這個憑證要成為金鑰資料庫中的預設值,請執行這個指令:
     java com.ibm.gsk.ikeyman.ikeycmd -cert -setdefault -db <db 名稱>.kdb -pw mark -label (您剛建立之自簽憑證的標籤)
    

匯出金鑰

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。

匯入金鑰

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。

列出 CA

欲顯示金鑰資料庫中,授信憑證管理中心 (CA) 的清單:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「開啟」對話框中,輸入您的金鑰資料庫名稱, 或者如果您是使用預設值,請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,並按一下「確定」。
  5. 在「金鑰資料庫」內容框中,選取「簽名者憑證」。
  6. 按一下「簽名者憑證」、「個人憑證」或「憑證要求」, 以檢視「金鑰資訊」視窗中的 CA 清單。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要顯示金鑰資料庫中授信憑證管理中心 (CA) 的清單:

java com.ibm.gsk.ikeyman.ikeycmd -cert -list CA -db <dbname>.kdb -pw <密碼>
-type cms

開啟金鑰資料庫

如果要開啟現存的金鑰資料庫:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「開啟」對話框中,輸入您的金鑰資料庫名稱,或者如果您是使用預設值,則請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,並按一下「確定」。
  5. 金鑰資料庫名稱會出現在「檔案名稱」文字框中。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 金鑰資料庫沒有明確的開啟動作。 每個指令都要指定資料庫和密碼選項,這些規格提供在金鑰資料庫中作業所需要的資訊。

接收 CA 簽名的憑證

您可以利用這個程序來接收伺服器指定為具公信力的 CA 之憑證管理中心 (CA) 以電子郵件寄給您的憑證。 在預設的狀況下,下列 CA 憑證會存放在金鑰資料庫中,並且會標示為具公信力的 CA:

「憑證管理中心」可能會傳送一個以上的憑證。 除了伺服器的憑證,CA 也會傳送額外的「簽名憑證」或「中間 CA 憑證」。 例如,當 Verisign 傳送「廣域伺服器 ID」憑證時,Verisign 會包含「中間 CA 憑證」。 在接收伺服器憑證之前,要先接收任何額外的「中間 CA 憑證」。 請遵循儲存 CA 憑證的指示來接收「中間 CA 憑證」。

附註: 如果發出您的 CA 簽名憑證的 CA 不是金鑰資料庫中之具公信力的 CA, 您必須先將 CA 憑證儲存,並且將 CA 指定為具公信力的 CA。然後您可以將您的 CA 簽名憑證接收到資料庫中。 您不能從不是具公信力的 CA 之 CA 接收 CA 簽名的憑證。 如果需要相關指示,請參閱儲存 CA 憑證

要將 CA 簽名的憑證接收至金鑰資料庫中:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「開啟」對話框中,輸入您的金鑰資料庫名稱, 或者如果您是使用預設值,請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,然後按一下「確定」。
  5. 在「金鑰資料庫」內容框中,選取「個人憑證」,然後按一下「接收」按鈕。
  6. 在「從檔案接收憑證」對話框中,在「憑證檔案名稱」文字欄位中輸入有效之 Base64 編碼檔案的名稱。按一下「確定」。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要將 CA 簽名的憑證接收至金鑰資料庫中,請輸入下列指令:

java com.ibm.gsk.ikeyman.ikeycmd -cert -receive -file <檔案名稱> -db <db_name>
.kdb -pw <密碼> -format <ascii | 二進位> -default_cert <是 | 否>

其中:
-format: 憑證管理中心可採用 ASCII 或二進位格式來提供憑證。
-label: 附加於 CA 憑證的標籤。
-trust: 指出這個 CA 是否可信。當接收 CA 憑證時,請利用啟用選項。
-file: 包含 CA 憑證的檔案。

顯示金鑰資料庫中的預設金鑰

如果要顯示預設金鑰項目:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「開啟」對話框中,輸入您的金鑰資料庫名稱, 或者如果您是使用預設值,請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,然後按一下「確定」。
  5. 在「金鑰資料庫」內容框中,選取「個人憑證」,並選取 CA 憑證標籤名稱。
  6. 按一下「檢視/編輯」按鈕,並檢視「金鑰資訊」視窗中的憑證預設密碼資訊。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要顯示預設金鑰項目:

java com.ibm.gsk.ikeyman.ikeycmd -cert -getdefault -db <dbname>.kdb -pw <密碼>

儲存 CA 憑證

如果要儲存不是具公信力的 CA 所傳來的憑證:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「開啟」對話框中,輸入您的金鑰資料庫名稱, 或者如果您是使用預設值,請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,並按一下「確定」。
  5. 在「金鑰資料庫」內容框中,選取「簽名者憑證」,然後按一下「新增」按鈕。
  6. 在「從檔案新增 CA 憑證」對話框中,選取 Base64 編碼的 ASCII 資料憑證檔案名稱, 或使用「瀏覽」選項。 按一下「確定」。
  7. 在「標籤」對話框中,輸入標籤名稱,並按一下「確定」。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要儲存不是具公信力的 CA 所傳來的憑證:

java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db <檔案名稱>.kdb -pw <密碼>
-label <標籤> -format <ascii | 二進位> -trust <啟用 |停用> -file
<檔案>
其中:
-label: 附加於憑證或憑證要求的標籤
-format: 憑證管理中心可以提供二進位 ASCII 檔
-trust: 指出這個 CA 可不可信。應該為「是」。

將已加密的資料庫密碼儲存在隱藏檔案中

如果要進行安全網路連線,請將加密的資料庫密碼儲存在隱藏檔中。

如果要在建立資料庫時儲存密碼:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「新建」對話框中,輸入您的金鑰資料庫名稱,或者如果您是使用預設值,則請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,然後輸入以確認您的密碼。
  5. 勾選「隱藏」方框,並按一下「確定」。
  6. 選取「金鑰資料庫檔」,然後選取「隱藏密碼」。
  7. 在「資訊」對話框中,按一下「確定」。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要在建立資料庫時儲存密碼:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <db 路徑>/<db 名稱>.kdb
-pw <密碼> -type cms -expire <天數> -stash

如果要在資料庫建立後儲存密碼:

  1. 在 UNIX 上的指令行上輸入 ikeyman,或在 Windows NT 上啟動 IBM HTTP Server 資料夾中的「金鑰管理」公用程式。
  2. 從主要的 UI 中選取「金鑰資料庫檔」,然後選取「開啟」。
  3. 在「開啟」對話框中,輸入您的金鑰資料庫名稱,或者如果您是使用預設值,則請按一下 key.kdb。按一下「確定」。
  4. 在「密碼提示」對話框中,輸入您的正確密碼,並按一下「確定」。
  5. 選取「金鑰資料庫檔」,然後選取「隱藏密碼」。
  6. 在「資訊」對話框中,按一下「確定」。

Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要在資料庫建立後儲存密碼:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -staspw -db <db_name>.kdb -pw <密碼>

在 Linux for S/390 上:使用 IKEYCMD 指令行介面

在 Linux for S/390 中,IKEYMAN 的 Java 指令行介面 IKEYCMD 負責提供建立和管理金鑰、憑證和憑證要求的必要選項。 如果您是自己的 CA,您可以利用 IKEYCMD 來建立自行簽署的憑證。 如果您在專用 Web 網路中充當自己的 CA,您可以選擇使用伺服器 CA 公用程式來產生及發出已簽章憑證給您專用網路上的從屬站及伺服器。

請在公開/私密金鑰之建立和管理所關聯的配置工作上使用 IKEYCMD。 您不能在更新伺服器配置檔 httpd.conf 的配置選項上使用 IKEYMAN。 對於更新伺服器配置檔的選項,您必須使用 IBM Administration Server。

IKEYCMD 會利用 Java 和原生指令行呼叫來啟用 IKEYMAN 工作 Script。

IKEYCMD 指令行語法

Java CLI 的語法為:

 	java [-Dproperties=<內容檔>] com.ibm.gsk.ikeyman.ikeycmd <物件>
    		<動作> [選項]

其中:

-Dproperties
指定這個 Java 呼叫要用的選用內容檔的名稱。 提供的預設內容檔 ikeycmd.properties 是範例檔,任何 Java 應用程式都可以修改和使用它。

物件是下列項目之一:

-keydb
在金鑰資料庫上採取的動作(可能是 CMS 金鑰資料庫檔、金鑰環檔或 SSLight 類別)

-cert
在憑證上採取的動作

-certreq
在憑證要求上採取的動作

-help
顯示 IKEYCMD 呼叫的說明

-version
顯示 IKEYCMD 的版本資訊

動作是物件上所採取的特定動作,選項是選項, 兩者都是必要和選用的,會指定給物件和運算元配對。

附註:物件動作關鍵字有固定位置,必須依照選取的次序來指定。 不過,選項沒有固定位置,可採用任何次序來指定,但必須指定成選項和運算元配對。

IKEYCMD 指令行參數總覽

下表說明可在指定的物件上執行的每個動作

物件 動作 說明
-keydb -changepw 變更金鑰資料庫的密碼
-convert 將金鑰資料庫的某種格式轉換成另一種
-create 建立金鑰資料庫
-delete 刪除金鑰資料庫
-stashpw 將金鑰資料庫的密碼隱藏到檔案中
-cert -add 新增 CA 憑證
-create 建立自簽憑證
-delete 刪除自簽憑證
明細 列出特定憑證的詳細資訊
-export 從金鑰資料庫中,將個人憑證及其相關私密金鑰匯出到 PKCS#12 檔,或匯出到另一金鑰資料庫
-extract 從金鑰資料庫中取出憑證
-getdefault 取得預設的個人憑證
-import 從金鑰資料庫或 PKCS#12 檔中匯入憑證
-list 列示所有憑證
-modify 修改憑證(附註:目前,唯一能夠修改的欄位是「憑證信任」欄位)
-receive 接收憑證
-setdefault 設定預設的個人憑證
-sign 簽名憑證
-certreq -create 建立憑證要求
-delete 從憑證要求資料庫中刪除憑證要求
-details 列出特定憑證的詳細資訊
extract 從憑證要求資料庫中取出憑證要求
-list 列出憑證要求資料庫中的所有憑證要求
-recreate 重新建立憑證要求
-help 顯示 IKEYCMD 指令的說明資訊
-version 顯示 IKEYCMD 版本資訊

IKEYCMD 指令行選項總覽

下表顯示指令行中的每個選項。 這些選項列示為完整群組。 不過,它們的使用相依於指令行所指定的物件動作


選項 說明
-db 金鑰資料庫的完整路徑名稱。
-default_cert 設定要作為從屬站鑑別之預設憑證的憑證(是或否)。 預設值為「否」。
-dn X.500 區別名稱。 輸入成下列格式附加引號的字串(只有 CN、O 和 C 是必要的):
CN=common_name,O=organization,OU=organization_unit,L=location,
ST=state/province, C=country"

-encryption 憑證匯出指令中所用的加密強度(強 | 弱)。 預設值為「強」。
-expire 憑證或資料庫密碼的期限時間(天數)。 憑證的預設值是 365 天,資料庫密碼的預設值是 69 天。
-file 憑證或憑證要求的檔案名稱(取決於指定的物件)。
-format 憑證的格式(Base_64encoded ASCII 的 ascii 或二進位 DER 資料的二進位)。 預設值為 ascii。
-label 附加到憑證或憑證要求的標籤。
-new_format 金鑰資料庫的新格式。
-new_pw 新的資料庫密碼。
-old_format 金鑰資料庫的舊格式。
-pw 金鑰資料庫或 PKCS#12 檔的密碼。
-size 金鑰大小(512 或 1024)。預設值為 1024。
-stash 將金鑰資料庫密碼隱藏檔案中的指示器。 如果指定的話,密碼會隱藏到隱藏中。
-target 目的檔或資料庫。
-target_pw 金鑰資料庫的密碼(如果 -target 指定了金鑰資料庫的話)。
-target_type -target 運算元所指定的資料庫類型(請參閱 -type)。
-trust CA 憑證的信任狀態(啟用或停用)。 預設值為「啟用」。
-type 資料庫類型。 容許的值有 cms(表示 CMS 金鑰資料庫)、webdb(表示金鑰環)、sslight(表示 SSLight .class)或 pkcs12(表示 PKCS#12 檔)。
-x509version 要建立的 X.509 憑證版本(1、2 或 3) 預設值為 3。

指令行呼叫

以下是一份各指令行呼叫的清單,選用的參數以斜體來指定。

附註:為了簡單之故,略過了每個指令呼叫中的實際 Java 呼叫 java com.ibm.gsk.ikeyman,iKeyman

-keydb -changepw -db <檔案名稱> -pw <密碼> -new_pw <新密碼> -expire <天數>
-keydb -convert -db <檔案名稱> -pw <密碼> -old_format <cms | webdb> 
	-new_format <cms | webdb> 
-keydb -create -db <檔案名稱> -pw <密碼> -type <cms | webdb | sslight> -expire <天數>
	-stash 
-keydb -delete -db <檔案名稱> -pw <密碼>
-keydb -stashpw -db <檔案名稱> -pw <密碼>

-cert -add -db <檔案名稱> -pw <密碼> -label <標籤> -file <檔案名稱> -format <ascii | 二進位>
	-trust <啟用 | 停用> 
-cert -create -db <檔案名稱> -pw <密碼> -label <標籤> -dn <區別名稱>
	-size <1024 | 512> -x509version <3  | 1 | 2>
-cert -delete -db <檔案名稱> -pw <密碼> -label <標籤>
-cert -details -db <檔案名稱> -pw <密碼> -label <標籤>
-cert -export -db <檔案名稱> -pw <密碼> -label <標籤> -target <檔案名稱> 
	-target_pw <密碼> -target_type <cms | webdb | sslight | pkcs12> 
	-encryption <strong | weak> 
-cert -extract -db <檔案名稱> -pw <密碼> -label <標籤> -target <檔案名稱> 
	-format <ascii | 二進位>
-cert -getdefault -db <檔案名稱> -pw <密碼>
-cert -import -db <檔案名稱> -pw <密碼> -label <標籤> -type <cms | webdb | sslight> 
	-target <檔案名稱> -target_pw <密碼> -target_type <cms | webdb | sslight>
-cert -import -file <檔案名稱> -type <pkcs12> -target <檔案名稱> -target_pw <密碼> 
	-target_type <cms | webdb | sslight> 
-cert -list <all | personal | CA | site> -db <檔案名稱> -pw <密碼> -type <cms | webdb | sslight>
-cert -modify -db <檔案名稱> -pw <密碼> -label <標籤>  -trust <啟用 | 停用>
-cert -receive -file <檔案名稱> -db <檔案名稱> -pw <密碼> -format <ascii | 二進位>
	-default _cert <是 | 否>
-cert -setdefault -db <檔案名稱> -pw <密碼> -label <標籤>
-cert -sign -file <檔案名稱> -db <檔案名稱> -pw <密碼> -label <標籤> -target <檔案名稱> 
	-format <ascii | 二進位>  -expire <天數>

-certreq -create -db <檔案名稱> -pw <密碼> -label <標籤> -dn <區別名稱>
	-size <1024 | 512> -file <檔案名稱>
-certreq -delete -db <檔案名稱> -pw <密碼> -label <標籤>
-certreq -details -db <檔案名稱> -pw <密碼> -label <標籤>
-certreq -extract -db <檔案名稱> -pw <密碼> -label <標籤> -target <檔案名稱>
-certreq -list -db <檔案名稱> -pw <密碼>
-certreq -recreate -db <檔案名稱> -pw <密碼> -label <標籤> -target <檔案名稱>

-help

-version

使用者內容檔

為了要減少 Java CLI 呼叫的某些輸入,您可以在內容檔中指定使用者內容。 您可以在 Java 指令行呼叫中,利用 -Dproperties 選項來指定內容檔。 提供的範例內容檔 ikeycmd.properties 是一個範例,讓 Java 應用程式能夠修改其應用程式的預設設定。