![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
IBM HTTP Server 憑證管理
您必須先建立 Web 伺服器的憑證,才能配置 IBM® HTTP Server 來接受 TLS(又稱為 SSL)連線。SSL 憑證會向用戶端鑑別您的 Web 伺服器身分。
背景資訊和工具
向 IBM HTTP Server 建立憑證的主要工具是 iKeyman,這是圖形式 Pure Java™ 金鑰管理工具。
在 z/OS® 作業系統上,所有憑證管理工作都是使用原生 gskkyman 憑證管理工具來執行。
在 Microsoft Windows 上,您可以使用「開始」功能表來啟動 iKeyman。在其他平台上,您可以從 IBM HTTP Server bin/ 目錄啟動該工具,就像所有 IBM HTTP Server 執行檔一樣。
原生和 Java 補充指令行憑證管理工具也會以 gskcmd(也就是 iKeycmd)和 gskcapicmd(也就是 gsk8capicmd)提供在 IBM HTTP Server bin/ 目錄中。兩者共用類似的語法,並包含大量的內嵌使用資訊。
IBM HTTP Server 中的憑證限制
- IBM HTTP Server 僅支援 RSA 憑證(金鑰)。不支援 DSA 和 ECC 憑證。
- 在使用 IBM HTTP Server 的執行時期,所支援的憑證金鑰長度上限為 4096 位元。
- Ikeyman 和 gskcmd (ikeycmd) 支援建立長度上限為 4096 位元的憑證。gskcapicmd 指令支援建立長度上限為 4096 位元的憑證。
- 每一個 IBM HTTP Server 實例可搭配使用多個金鑰資料庫檔,但針對每個啟用 TLS 的虛擬主機,只能使用一個金鑰資料庫檔(其中仍可包含多重個人憑證)。
憑證管理工具的完整說明文件
- 「z/OS 網際網路文件庫」的《加密服務 PKI 服務手冊和參照》("Cryptographic Services PKI Services Guide and Reference", SA22-7693) 文件中有 gskkyman 的完整說明文件。
- 《iKeyman 第 8 版使用手冊》中有 iKeyman 和 gskcmd (Ikeycmd) 的完整說明文件。
- IBM HTTP Server 程式庫網頁上有原生指令行憑證管理工具 gskcapicmd (gsk8capicmd) 的完整說明文件。
系統設定
- 不同於舊版 IBM HTTP Server,請勿移動或修改 java/jre/lib/ext/gskikm.jar 檔案。
- 您可以選擇從 DeveloperWorks 安裝未限定的 JCE 原則檔案,以在 iKeyman 和 gskcmd (ikeycmd) 中使用無限強度加密法。操作 PKCS12 金鑰儲存庫時,通常會需要這個步驟。
![[z/OS]](../images/ngzos.gif)
憑證管理作業
iKeyman(分散式作業系統)和 gskkyman(z/OS 作業系統)的完整說明文件中,有提供憑證管理的詳細實務範例。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
憑證管理作業
iKeyman(分散式作業系統)和 gskkyman(z/OS 作業系統)的完整說明文件中,有提供憑證管理的詳細實務範例。
請參閱下列一般作業的指令行範例。如果要檢視完整的使用語法,您可以輸入下列指令,並只搭配前兩個參數,或者您可以參閱綜合說明文件中的該指令。下表列出您可以在 CA 憑證上執行的作業、您可以用來執行該作業的 AdminTask 物件,以及在主控台上導覽至該憑證的方式:
建立 CMS 金鑰儲存庫
在建立要用於 IBM HTTP Server 的金鑰儲存庫時,請指定無論使用任何工具,都要隱藏檔案密碼的選項。
# Syntax: <ihsroot>/bin/gskcapicmd -keydb -create -db <database> -pw <password> -stash
<ihsroot>/bin/gskcapicmd -keydb -create -db /opt/IBM/HTTPServer/key.kdb -pw password -stash
在金鑰儲存庫中移入一組預設授信 CA 憑證
依預設,新的金鑰儲存庫沒有包含任何授信 CA 憑證。
# The populate operation is supported with Ikeyman and gskcmd (ikeycmd) only, not with gskcapicmd.
# Syntax: <ihsroot>/bin/gskcmd -cert -populate -db <database> -pw <password>
<ihsroot>/bin/gskcmd -cert -populate -db /opt/IBM/HTTPServer/key.kdb -pw password
依需要新增其他 CA 憑證(選用)
# Syntax: <ihsroot>/bin/gskcapicmd -cert -add -db <database> -pw <password >-file <inputcert> -label <labelname>
<ihsroot>/bin/gskcapicmd -cert -add -db /opt/IBM/HTTPServer/key.kdb -pw password -file cacert.cer -label "CA certificate from example.com"
建立供測試使用的自簽憑證(選用)
#Syntax: <ihsroot>/bin/gskcapicmd -cert -create -db <database> -pw <password> \
-dn <distinguished name> -label <labelname> -size <size>
<ihsroot>/bin/gskcapicmd -cert -create -db /opt/IBM/HTTPServer/key.kdb -pw password \
-dn "cn=www.example.com" -label "example.com" -size 2048
建立憑證申請
大部分欄位和選項都是選用的,包括選取「簽章演算法」(只有憑證管理中心會使用這個簽章,執行時期並不會使用)。您也可以為您的 Web 伺服器指定其他主機名稱。
# Syntax: <ihsroot>/bin/gskcapicmd -certreq -create -db <database> -pw <password> \
-dn <distinguished name> -label <labelname> -size <size> -file <outputfilename>
<ihsroot>/bin/gskcapicmd -certreq -create -db/opt/IBM/HTTPServer/key.kdb -pw password \
-dn "cn=www.example.com" -label www.example.com -size 2048 -file example.csr
將憑證申請提交至授信憑證管理中心
此作業不包括使用任何本端工具。通常會以電子郵件來傳送憑證申請 (example.csr),或是上傳至授信憑證管理中心。
接收發出的憑證
接收憑證時,會將 CA 發出的已簽章憑證與 KDB 檔案中的私密金鑰(個人憑證)建立關聯。憑證只能接收至產生憑證申請的 KDB 中。
# Syntax: <ihsroot>/bin/gskcapicmd -cert -receive -db db <database> -pw <password> -file <inputcertificate>
<ihsroot>/bin/gskcapicmd -cert -receive -db/opt/IBM/HTTPServer/key.kdb -pw password -file certificate.arm
列出金鑰儲存庫中的憑證。
# Syntax <ihsroot>/bin/gskcapicmd -cert -list -db <database> -pw <password>
<ihsroot>/bin/gskcapicmd -cert -list -db /opt/IBM/HTTPServer/key.kdb -pw password
將憑證從 JKS 或 PKCS12 匯入 IBM HTTP Server 可使用的金鑰檔中(選用)
您可以不要建立新的私密金鑰(個人憑證),而是將其他工具建立的現有私密金鑰和憑證匯入現有的金鑰檔。
# Syntax: <ihsroot>/bin/gskcapicmd -cert -import -db <inputp12file> -pw <pkcs12password>\
-target <existingkdbfile> -target_pw <existingkdbpassword>
<ihsroot>/bin/gskcapicmd -cert -import -db other.p12 -pw pkcs12password \
-target key.kdb -target_pw password
檢視憑證有效期限資料(選用)
-expiry 旗標可以顯示將在未來 "numdays"(天數)內到期的憑證。使用 0 可顯示已經到期的憑證,或使用較大的數值以顯示所有憑證到期日。
# Syntax:<ihsroot>/bin/gskcapicmd -cert -list -db <database> -pw <password> -expiry <numdays>
<ihsroot>/bin/gskcapicmd -cert -list -db key.kdb -password -expiry 365