更新私有雲的傳輸層安全標準 (TLS) 憑證

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

您在虛擬主機或目標端點/目標伺服器中指定 KeyStore 和 Truststore 名稱的方法,將決定憑證更新作業的方式。您可以使用下列指令指定 KeyStore 和 Truststore 的名稱:

  • 參考資料 - 建議
  • 直接名稱
  • 流程變數

這兩種方法對憑證更新程序的影響都不同,如下表所述。

設定類型 如何更新/替換憑證 如何更新虛擬主機、目標端點/目標伺服器
參考資料 (建議) 針對 KeyStore,建立具有「新名稱」和「名稱」的別名的新 KeyStore。

請為信任儲存庫建立新名稱

更新 KeyStore 或 Truststore 的參照。

不需要重新啟動路由器或訊息處理器。

流程變數 (僅限目標端點) 針對 KeyStore,建立具有新名稱和別名 (或新名稱) 的 KeyStore。

請為信任儲存庫建立新名稱

針對每個要求,使用新 KeyStore、別名或信任儲存庫的名稱傳遞更新後的流程變數。

不需要重新啟動路由器或訊息處理器。

直接 建立新的 KeyStore、別名、信任儲存庫。 更新虛擬主機,並重新啟動路由器。

如果目標端點/目標伺服器使用信任儲存庫,請重新部署 Proxy。

直接 刪除 KeyStore 或 TrustStore,並以相同的名稱重新建立。 無須更新虛擬主機,無須重新啟動路由器。不過,您必須先設定新的 KeyStore 和別名,API 要求才會失敗。

如果 KeyStore 用於 Edge 和後端服務之間的雙向傳輸層安全標準,請重新啟動訊息處理器。

直接 僅適用於信任儲存庫,請將新憑證上傳至信任儲存庫。 如果受信任儲存庫由虛擬主機使用,請重新啟動路由器。

如果目標端點/目標伺服器使用信任儲存庫,請重新啟動訊息處理器。

在更新前後測試憑證

更新之前,請使用以下 openssl 指令測試目前的憑證:

echo | openssl s_client -servername hostAlias -connect hostAlias.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject

其中 hostAlias 是虛擬主機或 IP 位址的主機別名。例如:

echo | openssl s_client -servername api.myCompany.com -connect api.myCompany.com:443 2>/dev/null | openssl x509 -noout -dates -subject

您應該會看到下列格式的輸出內容:

notBefore=Dec 30 22:11:38 2015 GMT
notAfter=Dec 30 22:11:38 2016 GMT
subject= /OU=Domain Control Validated/CN=*.apigee.net

更新憑證後,請使用相同的指令進行測試。

更新 KeyStore 中的 TLS 憑證

如為 Edge 的地端部署部署:

  1. 按照「Keystores 和 Truststore」的說明,建立新的 KeyStore 並上傳憑證和金鑰。在新的 KeyStore 中,確保金鑰別名的名稱與現有金鑰庫使用的名稱相同。

    注意:您可以刪除目前的 KeyStore,並以相同名稱和別名新建一個。不需要重新啟動路由器。不過,您必須先設定新的 KeyStore 和別名,API 要求才會失敗。
  2. 傳入連線使用的虛擬主機 (代表向 Edge 發出的 API 要求):
    1. 如果您的虛擬主機是使用 KeyStore 的參照,請按照「使用參考資料」一節的說明更新參照。
    2. 如果虛擬主機使用 KeyStore 的直接名稱:
      1. 將參照舊 KeyStore 和金鑰別名的所有虛擬主機更新為參照新的 KeyStore 和金鑰別名。
      2. 逐一重新啟動路由器。請注意,如果您刪除了舊的 KeyStore,並建立了名稱相同的新 KeyStore,則不需要重新啟動路由器。

        您不必重新部署 Proxy。
  3. 針對傳出連線使用的目標端點/目標伺服器 (從 Apigee 到後端伺服器):
    1. 如果目標端點/目標伺服器使用 KeyStore 的參照,請按照「使用參照」一節的說明更新參照。因此您不必重新部署 Proxy。
    2. 如果目標端點/目標伺服器使用流量變數,請更新流程變數。因此您不必重新部署 Proxy。
    3. 如果目標端點/目標伺服器使用 KeyStore 的直接名稱:
      1. 針對參照舊版 KeyStore 和金鑰別名的所有 API Proxy,更新目標端點/目標伺服器設定,藉此參照新的 KeyStore 和金鑰別名。
      2. 如有任何 API Proxy 從 TargetEndpoint 定義參照 KeyStore,則必須重新部署 Proxy。

        如果 TargetEndpoint 參照了 TargetServer 定義,而 TargetServer 定義參照了 KeyStore,則無需重新部署 Proxy。
      3. 如果 KeyStore 用於 Edge 和後端服務之間的雙向傳輸層安全標準 (TLS),且您刪除/重新建立了名稱相同的 KeyStore,則必須重新啟動邊緣訊息處理器。
  4. 確認新的 KeyStore 可以正常運作後,請刪除包含過期憑證和金鑰的舊 KeyStore (如上所述)。

更新信任儲存庫中的 TLS 憑證

如果您使用對信任存放區的參照,則更新信任儲存庫中的憑證的程序與更新 KeyStore 的程序相同,如上所示。唯一的差別在於:

  • 將新憑證上傳至新的信任儲存庫時,別名名稱對信任儲存庫沒有影響。
  • 如果憑證隸屬於某個鏈結,您必須建立包含所有憑證的單一檔案,然後將該檔案上傳到單一別名,或為每個憑證使用不同的別名,將鏈結中的所有憑證分別上傳至信任存放區。

若是使用 KeyStore 和信任儲存庫的直接名稱:

  1. 按照「Keystores 和 Truststore」的說明,將新憑證上傳至信任儲存庫。 不需要刪除舊憑證。
  2. 針對傳入連線使用的虛擬主機 (意即向 Edge 發出的 API 要求),一次重新啟動路由器。
  3. 針對傳出連線使用的目標端點/目標伺服器 (從 Apigee 到後端伺服器),一次重新啟動邊緣訊息處理器。
  4. 請確認您的新信任商店運作正常。