IBM Cloud Docs
佇列管理程式憑證管理

佇列管理程式憑證管理

使用 IBM MQ on Cloud 時,請務必保護流經佇列管理程式的資料。 使用傳輸層安全 (TLS) 和 Advanced Message Security (AMS),可以使用公用憑證和私密金鑰來加密傳輸中資料和靜止資料。 IBM MQ on Cloud 會在建立佇列管理程式時提供預設憑證及私密金鑰組。 憑證和私密金鑰組可以用來向連接 MQ Client 鑑別佇列管理程式,以及加密/解密資料。 IBM MQ on Cloud 服務可讓管理者使用自己客戶產生的憑證,並在佇列管理程式內管理其使用。 本文件介紹服務如何管理提供的憑證、管理者在管理將到期憑證時所需遵循的步驟,以及如何匯入您自己客戶所產生的憑證。

IBM 憑證管理原則

建立佇列管理程式時,會將預設憑證鏈新增至佇列管理程式的金鑰儲存庫和信任儲存庫。 金鑰儲存庫包含佇列管理程式所使用的憑證,而信任儲存庫包含用來簽署佇列管理程式憑證的中繼和主要 CA 憑證。 預設憑證配置為用於佇列管理程式、「MQ 主控台」和 REST API。 只能取代佇列管理程式憑證。

您可以選取佇列管理程式,並按一下Key store標籤,以在服務中檢視憑證。 下圖顯示金鑰儲存庫中的憑證,而由左到右的圖示(未使用時會變成灰色)代表:

  • 佇列管理程式預設憑證(配置中未選擇明確憑證時使用)
  • 用於 TLS 通道配置
  • 用於 AMS 通道配置
  • 供「MQ 主控台」和 REST API 使用

顯示預設佇列管理程式憑證的影像

預設憑證具有 90 天有效期限。 接近到期時,服務會呼叫下列處理程序:

  • 在到期前大約 30 天,會將新的憑證新增至佇列管理程式金鑰儲存庫。
    • 依預設,尚未配置為啟用 TLS 的佇列管理程式將使用新的憑證。
    • 配置為使用 TLS 的佇列管理程式將繼續使用舊憑證,但有新憑證可供使用。
    • 現有佇列管理程式的「MQ 主控台」和 REST API 會繼續使用舊憑證。
    • 新佇列管理程式的「MQ 主控台」和 REST API 會使用新憑證。
  • 在到期前大約 14 天,新憑證會變成預設值。
    • 配置為使用 TLS 或 AMS 的佇列管理程式會將預設憑證取代為新憑證(MQ Client 將會短暫中斷連線,同時重新整理安全配置)。
    • 「MQ 主控台」和 REST API 會使用新憑證。
    • 舊憑證從佇列管理程式金鑰儲存庫移除。

已配置為使用客戶產生的憑證的佇列管理程式仍不受上述處理程序的影響。 客戶產生的憑證期限由佇列管理程式管理者負責

憑證原本的有效期限為 1 年。 這已減少到 90 天

處理憑證到期

當 IBM 提供的憑證接近到期時, IBM MQ on Cloud 服務將在服務主控台使用者介面中提供通知。 如果您想要透過其他頻道(例如 Slack 或 PagerDuty)來配置憑證到期通知,請使用 IBM Cloud Certificate Manager 服務。

在到期的 30 到 14 天內,佇列管理程式清單視圖和佇列管理程式詳細資料頁面上,會顯示嚴重性逐漸提高的警告。 在此期間,啟用 TLS 和 AMS 的 MQ Client 以及連接的佇列管理程式將需要更新其信任儲存庫,以便包含新憑證。 若要從服務下載新憑證,請遵循下列步驟:

  1. 開啟所需要佇列管理程式的Key store標籤。
  2. 選取新憑證上的 ... 圖示。
  3. 按一下Download public certificate按鈕,以下載 PEM 檔案。
  4. 將憑證匯入至 MQ Client 信任儲存庫。

顯示下載憑證的影像

將憑證匯入至另一個佇列管理程式信任儲存庫的範例

# First convert the PEM file to pkcs12
# Choose a password when prompted
openssl pkcs12 -export -out qmgrcert_YYYYMM.pfx -in qmgrcert_YYYYMM.pem -nokeys

# Import the certificate into the queue manager trust store
runmqckm -cert -import -file qmgrcert_YYYYMM.pem -type pkcs12 -target /var/mqm/qmgrs/<QM>/ssl/key.kdb -target_pw <password> -target_type cms -label <label>

將憑證匯入至 Java 用戶端信任儲存庫的範例

# First convert the PEM file to DER
openssl x509 -outform der -in qmgrcert_YYYYMM.pem -out qmgrcert_YYYYMM.der

# Import the certificate into the Java trust store
keytool -import -alias <label> -keystore cacerts -file qmgrcert_YYYYMM.der

更新 MQ 用戶端或連接的佇列管理程式信任儲存庫之後,可以將 IBM MQ on Cloud 佇列管理程式配置為使用新憑證。

  1. 開啟所需要佇列管理程式的Key store標籤。
  2. 選取新憑證上的 ... 圖示。
  3. 按一下Manage按鈕。
  4. 選取需要的 TLS 和 AMS 配置。
  5. 現在,請重新整理佇列管理程式 SSL 安全:
    1. 在佇列管理程式頁面上,選取 配置顯示輸入密碼規格的影像
    2. 選取安全標籤。 顯示輸入密碼規格的影像
    3. 選取三個點,然後 重新整理 SSL 顯示輸入密碼規格的影像
    4. 按一下重新整理進行確認

如果使用客戶產生的憑證,則在現行憑證到期之前,需要將新版本匯入至佇列管理程式金鑰儲存庫。 在更新 IBM MQ on Cloud 佇列管理程式配置以使用新憑證之前,啟用 TLS 和 AMS 的 MQ 用戶端及連接的佇列管理程式也將需要將新憑證新增至其信任儲存庫。 如需使用客戶產生之憑證的詳細資料,請參閱下面的小節。

使用您自己的憑證

IBM MQ on Cloud 支援在使用 TLS 連接佇列管理程式時使用客戶產生的憑證。 客戶產生的憑證需要以 PEM 格式匯入至佇列管理程式金鑰儲存庫。 公用憑證和私密金鑰都需要包含在相同的檔案中。

在某些組織中,中央憑證管理中心 (CA) 會為您產生 TLS 簽署的憑證。 在此情境中,CA 公用憑證也必須包含在 PEM 檔案中,順序如下:

  • 私密金鑰
  • 客戶產生的憑證
  • 簽署者 CA 憑證

下面的範例會產生自簽用戶端憑證和私密金鑰,並將它們合併為單一 PEM 檔案。

# Generate a new self-signed public certificate and private key
# (fill in the segments of the certificate as you wish when prompted)
openssl req -newkey rsa:2048 -nodes -keyout clientKey.pem -x509 -days 365 -out clientCert.pem

# Combine the private key and public certificate into a single file
cat clientKey.pem > clientCombined.pem
cat clientCert.pem >> clientCombined.pem

如果私密金鑰已加密,則在匯入之前需要先將它解碼

已加密的私密金鑰類似下列項目:

*-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC

若要將私密金鑰解密,請執行下列指令,並在系統提示時提供通行詞組。

openssl rsa -in [encrypted.key] -out [decrypted.key]

若要將憑證匯入至佇列管理程式金鑰儲存庫,請執行下列動作:

  1. 在服務中,選取要配置的佇列管理程式。
  2. 按一下Key store標籤。
  3. 按一下 Import 按鈕 此影像顯示如何匯入憑證
  4. 按一下Browse Files,然後選取 PEM 檔案。
  5. 按一下 Next
  6. 為憑證提供標籤,然後按一下Save
  7. 勾選該方框,指出您瞭解需要重新整理安全,然後按一下Finish
  8. 現在,請重新整理佇列管理程式 SSL 安全:
    1. 在佇列管理程式頁面上,選取 配置顯示輸入密碼規格的影像
    2. 選取安全標籤。 顯示輸入密碼規格的影像
    3. 選取三個點,然後 重新整理 SSL 顯示輸入密碼規格的影像
    4. 按一下重新整理進行確認

現在,為佇列管理程式配置 TLS 和 AMS 時,可以使用您的憑證。

使用憑證以獲得 TLS

如需如何將憑證用於 TLS 的詳細資料,請參閱 此說明文件

使用憑證以獲得 AMS

如需如何將憑證用於 AMS 的詳細資料,請參閱 本文件