建立金鑰儲存庫和信任儲存庫

您可以透過修改或取代金鑰儲存庫及信任儲存庫,並選擇 IBM® WebSphere® eXtreme Scale Liberty Deployment (XSLD) 快取成員群組的憑證別名,來配置「傳輸層安全 (TLS)」。

開始之前

  • 您必須以獲指派管理者角色的使用者身分登入,才能執行這些步驟。
  • 請先配置 TLS 配置,然後再將資料載入至資料網格。 當您配置 TLS 時, XSLD 快取成員群組會重新啟動。 如果在進行此重新啟動時載入任何資料,則可能會捨棄該資料。 因此,在將資料載入資料網格之前配置 TLS 配置,可確保在重新啟動 XSLD 快取成員群組的每一個成員時不會捨棄資料。
  • 必須個別更新 XSLD 快取成員群組的所有成員。

關於此作業

XSLD 快取成員群組已配置預設金鑰儲存庫和信任儲存庫。 預設信任儲存庫包含來自預設金鑰儲存庫的簽章者憑證。 因為此憑證包含在每個 XSLD 安裝中,所以應該取代它以確保 TLS 配置的安全。 有多種方法和工具可協助設定金鑰儲存庫和信任儲存庫檔案,視憑證管理中心提供的工具而定,特定步驟可能有所不同。 在這項作業中,您將使用 Java™ 8 中的 keytool ,以及本端憑證管理中心 (CA) 的憑證發行功能。

建議使用鏈結憑證,因為主要 CA 會簽署憑證,這表示您不需要手動將簽章者憑證新增至信任儲存庫。 在您的環境中,您可能有一個主要 CA 及數個中間 CA。 由中繼 CA 發出的憑證通常是鏈結憑證,其中鏈結會指回主要 CA 進行簽署。 在此情況下,您可以將主要 CA 的憑證新增至 XSLD 快取成員群組信任儲存庫。 如果您要在 XSLD 快取成員群組金鑰儲存庫中使用的憑證不是鏈結憑證,則必須採取此額外步驟。 例如,儲存在 XSLD 快取成員群組金鑰儲存庫中的憑證發證者可能是中間 CA。 在此情況下,您必須將該中繼 CA 的簽章者憑證新增至 XSLD 快取成員群組信任儲存庫。

您必須將新增至 XSLD 快取成員群組信任儲存庫的憑證匯入至 XSLD 快取成員群組中任何用戶端的信任儲存庫檔案。 例如,如果 WebSphere Application Server 實例充當用戶端,則您必須將主要 CA 的憑證新增至 WebSphere Application Server 信任儲存庫,如果您使用非鏈結憑證,則也必須新增非鏈結憑證的簽章者憑證。

程序

  1. 建立或修改信任儲存庫,其中包含 XSLD 群體成員在連接至群體的其他成員時所信任的簽章者憑證。
    其中一種方法是從其中一個群體成員複製預設信任儲存庫,並修改它以包含您需要的憑證。

    由於預設信任儲存庫檔案包含預設憑證,請從標示為 ibm extreme scale liberty deployment的信任儲存庫中移除簽章者憑證,然後新增憑證以建立與新金鑰儲存庫的信任。 您可以使用 keytool -delete 指令,從信任儲存庫中移除別名為 ibm extreme scale liberty deployment的憑證。

    或者,僅使用您需要的憑證來建立新的信任儲存庫。 在 keytool 中使用下列指令,以建立新的信任儲存庫檔案。 在此範例中, root.arm 檔案包含本端主要 CA 的憑證。 此憑證會使用 CA 隨附的工具從 CA 匯出,然後共用它,以便用戶端及伺服器信任主要 CA 及任何中間 CA 發出的憑證。

    keytool -importcert -alias root -file root.arm -keystore truststore.jks -storepass ogpass

    您也可以新增需要信任的任何其他憑證。 不過,對於主要 CA 或其相關聯的中繼 CA 所發出的憑證,此憑證是您唯一需要匯入的憑證。

  2. 透過匯入您具有的憑證來建立金鑰儲存庫。 金鑰儲存庫必須具有主要憑證。 否則,您無法使用 keytool 來匯入產生的憑證; 例如:
    keytool -importcert -alias root -file root.arm -keystore keystore.jks -storepass ogpass
  3. 產生金鑰組。 對於 XSLD 快取成員群組,金鑰通行證和儲存庫通行證必須相同。 下列程式碼 Snippet 中的金鑰大小、別名、金鑰演算法、簽章演算法、識別名稱及有效性僅為範例。 請根據您的本端原則來指定值。
    
    keytool -genkeypair -alias server -keyalg RSA -keysize 2048 -sigalg sha256withRSA -dname cn=server,o=acme -validity 3650 -keypass ogpass -keystore keystore.jks -storepass ogpass
  4. 選用項目: 確保所有伺服器的 DNS 名稱都包括憑證的網域名稱 (DN)。
    當您從瀏覽器存取 XSLD 快取成員群組時,網域名稱 (DN) 驗證已完成。 若要避免瀏覽器提示指出憑證的 DN 不相符,請提供與下列範例類似的名稱,其中 xsld*.acme.com 符合具有 xsld*.acme.com DNS 名稱的所有伺服器。
    cn=xsld*.acme.com,ou=production,o=acme
  5. 從本端 CA 要求憑證。
    keytool -certreq -alias server -sigalg sha256withRSA -file serverreq.arm -keypass ogpass -keystore keystore.jks -dname cn=server,o=acme -storepass ogpass
    讀寫臂檔案是可傳送至中間 CA 的憑證申請。 中間 CA 會使用 arm 檔案來建置金鑰儲存庫中使用的實際憑證。
  6. 將憑證從本端 CA 匯入至新的金鑰儲存庫。 在此範例中,會從本端 CA 接收 serverresp.arm 檔案,以回應要求。 產生的憑證應該是鏈結憑證,在主要 CA 的鏈結憑證資訊中包含鏈結至主要 CA 的一或數個中間 CA 的憑證資訊,以及 XSLD 快取成員群組要使用的憑證。 在下列範例中,會匯入憑證回應:
    
    keytool -importcert -alias server -file d:\chainsample\serverresp.arm -keypass ogpass -keystore d:\chainsample\xc10key.jks -storepass ogpass
    下列金鑰儲存庫檔範例包含必要 keyEntry 類型的鏈結憑證。 您可以發出 keytool -list 指令來顯示金鑰儲存庫的內容。
    
    Keystore type: jks
    Keystore provider: IBMJCE
    
    Your keystore contains 1 entry
    
    Alias name: server
    Creation date: Jul 31, 2013
    Entry type: keyEntry
    Certificate chain length: 3
    Certificate[1]:
    Owner: CN=server, O=acme
    Issuer: CN=inter, O=acme
    Serial number: 697527ba
    Valid from: 7/31/13 12:58 PM until: 7/29/23 12:58 PM
    Certificate fingerprints:
    	 MD5:  F8:29:F1:6E:E3:D5:8C:4E:4C:68:98:AD:7D:90:AF:36
    	 SHA1: 2C:42:8B:B6:85:68:B4:A3:A9:46:11:91:E0:8D:68:47:C9:61:C9:02
    	 SHA256: 49:A8:EA:AC:99:39:DB:6D:93:38:2E:88:CE:3E:54:1E:14:80:FC:24:C7:63:6E:FD:BA:4E:CE:C1:63:90:6F:DE
    	 Signature algorithm name: SHA256withRSA
    	 Version: 3
    
    Extensions: 
    
    #1: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: 57 d9 49 2c 5c f8 13 9f  eb 98 a7 2b f5 ae 64 2e  W.I...........d.
    0010: fe 2a 02 fd                                        ....
    ]
    ]
    
    #2: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 48 8b 07 dc 6c 20 cd 1b  ec 54 d0 a6 19 c4 02 2e  H...l....T......
    0010: af b1 b5 2c                                        ....
    ]
    ]
    
    Certificate[2]:
    Owner: CN=inter, O=acme
    Issuer: CN=root, O=acme
    Serial number: 5e399139
    Valid from: 7/31/13 12:58 PM until: 7/29/23 12:58 PM
    Certificate fingerprints:
    	 MD5:  9C:25:76:99:AB:F4:DD:98:35:18:54:03:A5:D8:84:18
    	 SHA1: 7C:66:B2:86:6E:D7:2F:0E:70:B1:49:BB:3B:FF:45:CF:90:C2:28:D8
    	 SHA256: CB:E7:ED:3E:0F:AF:09:58:4E:EB:94:14:58:45:ED:CC:16:F0:F6:A3:D6:92:50:8F:10:CE:D8:17:07:DE:03:CC
    	 Signature algorithm name: SHA256withRSA
    	 Version: 3
    
    Extensions: 
    
    #1: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: 69 6e 41 41 a4 17 97 44  4a 8d e0 e3 dc 51 0a d8  inAA...DJ....Q..
    0010: d9 0a 5a 49                                        ..ZI
    ]
    ]
    
    #2: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:true
    PathLen:2147483647
    ]
    
    #3: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 57 d9 49 2c 5c f8 13 9f  eb 98 a7 2b f5 ae 64 2e  W.I...........d.
    0010: fe 2a 02 fd                                        ....
    ]
    ]
    
    Certificate[3]:
    Owner: CN=root, O=acme
    Issuer: CN=root, O=acme
    Serial number: 1d5fdbdd
    Valid from: 7/31/13 12:58 PM until: 7/29/23 12:58 PM
    Certificate fingerprints:
    	 MD5:  06:8F:A0:D0:9A:FB:43:3F:C7:A0:8E:2D:49:61:D8:FE
    	 SHA1: 42:9B:9B:4C:FA:82:1B:BF:15:6F:DF:B5:14:C0:85:9D:97:86:2F:0A
    	 SHA256: 9F:53:6D:6A:80:D6:6B:5D:C6:E2:BB:45:9B:FC:A1:57:61:F0:4E:2E:1D:F9:D5:0F:B5:69:9B:F1:2C:AC:50:BC
    	 Signature algorithm name: SHA256withRSA
    	 Version: 3
    
    Extensions: 
    
    #1: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:true
    PathLen:2147483647
    ]
    
    #2: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 69 6e 41 41 a4 17 97 44  4a 8d e0 e3 dc 51 0a d8  inAA...DJ....Q..
    0010: d9 0a 5a 49                                        ..ZI
    ]
    ]

下一步

在快取成員群組上配置 TLS。 您可以從「管理」主控台配置 TLS ,或搭配使用 cURL 指令與 REST API。 如需相關資訊,請參閱 為快取成員群組配置 TLS使用 cURL為快取成員群組配置 TLS