如果要擁有安全的網路連線,請建立安全網路通信的金鑰, 以及接收伺服器中指定為具公信力的 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,請使用下列準則來設定您的系統環境:
EXPORT JAVA_HOME=JDK 起始目錄完整路徑名稱
EXPORT PATH = <JDK 起始目錄完整路徑名稱> /jre/sh:<JDK 起始目錄完整路徑名稱>/sh:$PATH
EXPORT PATH=$IKEYMAN_HOME/bin:$PATH
如果要在 Linux for S/390 中執行 IKEYMAN,請依照下列方式,設定環境變數來使用 IKEYCMD 指令行:
EXPORT PATH=/opt/IBMJava/bin:$PATH
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 的目錄。
如果要有安全的網路連線,請建立安全網路通信的金鑰, 以及接收伺服器中指定為具公信力的 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 的主要憑證 |
|
將已加密的資料庫密碼儲存在隱藏檔案中 |
|
金鑰資料庫是伺服器用來儲存一或多個金鑰組合與憑證的檔案。 您可以使用一個金鑰資料庫來儲存所有的金鑰組合和憑證,或建立多個資料庫。
如果要建立新的金鑰資料庫:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要使用 IKEYCMD 指令行介面來建立新的金鑰資料庫,請輸入下列指令:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <檔案名稱>.kdb -pw <密碼> -type cms -expire <天數> -stash
在建立資料庫期間指定 -stash 選項時,會將密碼隱藏在名稱依下列方式來建置的檔案中:
<金鑰資料庫的檔案名稱>.sth比方說,如果建立的資料庫名稱為 keydb.kdb,則隱藏的檔案名稱為 keydb.sth。
當您建立新的金鑰資料庫時,您會指定金鑰資料庫密碼。 這個密碼會保護私密金鑰。 私密金鑰是唯一可以簽認文件或將公開金鑰加密之訊息解密的金鑰。 您最好經常變更金鑰資料庫密碼。
指定密碼時,請遵循下列指示:
附註: | 請追蹤密碼的到期日。 如果密碼到期,這時會將一則訊息寫入錯誤日誌中。 如果密碼過期了,則伺服器仍會啟動,但是不會有安全網路連線。 |
欲變更資料庫密碼:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要變更資料庫密碼,請輸入:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -changepw -db <檔案名稱> .kdb -pw <密碼> -new_pw <新密碼> -expire <天數>
請在變更之後,將這個新密碼隱藏起來。 請參閱將已加密的資料庫密碼儲存在隱藏檔案中, 以取得隱藏密碼的詳細資訊。
預設金鑰資料庫名稱的起始配置設定為 key.kdb。如果您使用 key.kdb 來作為您的預設金鑰資料庫名稱, 即不需要在伺服器登錄資料庫。伺服器會使用配置檔中 KeyFile 指引上的起始設定。 如果您不使用 key.kdb 來作為您的預設金鑰資料庫名稱, 或者如果您建立其它的金鑰資料庫,則您必須登錄這些資料庫。
金鑰組合及憑證要求皆儲存在金鑰資料庫中。 如果要建立公開/私密金鑰組合和憑證要求:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要建立公開/私密金鑰組合和憑證要求:
java com.ibm.gsk.ikeyman.ikeycmd -certreq -create -db <db 名稱>.kdb -pw < password> -size <1024 | 512> -dn<區別名稱> -file <檔案名稱> -label <標籤>其中:
"CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"
java com.ibm.gsk.ikeyman.ikeycmd -certreq -list -db <檔案名稱> -pw <密碼>這時應該會列出剛建立的標籤。
要從知名的 CA 處取得憑證,通常都得等候二到三個星期。 在等待發出憑證期間,您可以利用 IKEYMAN 建立一個自行簽署的伺服器憑證, 來啟用從屬站和伺服器之間的 SSL 階段作業。 如果您在專用 Web 網路上扮演自己的 CA,請利用這個程序。
如果要建立自簽憑證:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要建立自簽憑證:
java com.ibm.gsk.ikeyman.ikeycmd -cert -create -db <db 名稱>.kdb -pw <密碼> -size <1024 | 512> -dn<區別名稱> -label <標籤>其中:
"CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"
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) 的清單:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要顯示金鑰資料庫中授信憑證管理中心 (CA) 的清單:
java com.ibm.gsk.ikeyman.ikeycmd -cert -list CA -db <dbname>.kdb -pw <密碼> -type cms
如果要開啟現存的金鑰資料庫:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 金鑰資料庫沒有明確的開啟動作。 每個指令都要指定資料庫和密碼選項,這些規格提供在金鑰資料庫中作業所需要的資訊。
您可以利用這個程序來接收伺服器指定為具公信力的 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 簽名的憑證接收至金鑰資料庫中:
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 <是 | 否>
如果要顯示預設金鑰項目:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要顯示預設金鑰項目:
java com.ibm.gsk.ikeyman.ikeycmd -cert -getdefault -db <dbname>.kdb -pw <密碼>
如果要儲存不是具公信力的 CA 所傳來的憑證:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要儲存不是具公信力的 CA 所傳來的憑證:
java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db <檔案名稱>.kdb -pw <密碼> -label <標籤> -format <ascii | 二進位> -trust <啟用 |停用> -file <檔案>其中:
如果要進行安全網路連線,請將加密的資料庫密碼儲存在隱藏檔中。
如果要在建立資料庫時儲存密碼:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要在建立資料庫時儲存密碼:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <db 路徑>/<db 名稱>.kdb -pw <密碼> -type cms -expire <天數> -stash
如果要在資料庫建立後儲存密碼:
Linux for S/390 使用者: 請參閱使用 IKEYCMD 指令行介面,以取得 IKEYCMD 的詳細資料。 如果要在資料庫建立後儲存密碼:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -staspw -db <db_name>.kdb -pw <密碼>
在 Linux for S/390 中,IKEYMAN 的 Java 指令行介面 IKEYCMD 負責提供建立和管理金鑰、憑證和憑證要求的必要選項。 如果您是自己的 CA,您可以利用 IKEYCMD 來建立自行簽署的憑證。 如果您在專用 Web 網路中充當自己的 CA,您可以選擇使用伺服器 CA 公用程式來產生及發出已簽章憑證給您專用網路上的從屬站及伺服器。
請在公開/私密金鑰之建立和管理所關聯的配置工作上使用 IKEYCMD。 您不能在更新伺服器配置檔 httpd.conf 的配置選項上使用 IKEYMAN。 對於更新伺服器配置檔的選項,您必須使用 IBM Administration Server。
IKEYCMD 會利用 Java 和原生指令行呼叫來啟用 IKEYMAN 工作 Script。
Java CLI 的語法為:
java [-Dproperties=<內容檔>] com.ibm.gsk.ikeyman.ikeycmd <物件> <動作> [選項]
其中:
-Dproperties |
|
物件是下列項目之一:
-keydb |
|
-cert |
|
-certreq |
|
-help |
|
-version |
|
動作是物件上所採取的特定動作,選項是選項, 兩者都是必要和選用的,會指定給物件和運算元配對。
附註:物件和動作關鍵字有固定位置,必須依照選取的次序來指定。 不過,選項沒有固定位置,可採用任何次序來指定,但必須指定成選項和運算元配對。
下表說明可在指定的物件上執行的每個動作。
物件 | 動作 | 說明 |
---|---|---|
-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 版本資訊
|
下表顯示指令行中的每個選項。 這些選項列示為完整群組。 不過,它們的使用相依於指令行所指定的物件和動作。
選項 | 說明 |
---|---|
-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 應用程式能夠修改其應用程式的預設設定。