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

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

在虛擬主機或目標端點/目標伺服器中指定金鑰儲存區和信任儲存區名稱的方法,會決定您如何更新憑證。您可以使用下列方式指定金鑰儲存區和信任儲存庫的名稱:

  • 參考資料 - 偏好
  • 直接名稱
  • 流程變數

如以下表格所示,這些方法對憑證更新程序有不同的影響。

設定類型 如何更新/更換憑證 如何更新虛擬主機、目標端點/目標伺服器
參考資料 (建議) 如果是金鑰儲存庫,請建立新名稱的金鑰儲存庫,並使用與舊別名相同名稱的別名。

如果是信任儲存區,請建立新名稱的信任儲存區。

更新對金鑰儲存區或信任儲存庫的參照。

無須重新啟動路由器或訊息處理器。

流程變數 (僅限目標端點) 如果是金鑰儲存庫,請重新命名並建立新金鑰儲存庫,別名則可沿用或重新命名。

如果是信任儲存區,請建立新名稱的信任儲存區。

在每個要求中傳遞更新後的流程變數,並提供新的金鑰儲存區、別名或信任儲存區名稱。

無須重新啟動路由器或訊息處理器。

直接 建立新的 KeyStore、別名和 TrustStore。 更新虛擬主機並重新啟動路由器。

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

直接 刪除金鑰儲存區或信任儲存庫,然後使用相同名稱重新建立。 無須更新虛擬主機,也不必重新啟動路由器。不過,您必須先設定新的金鑰存放區和別名,API 要求才會成功。

如果金鑰儲存區用於 Edge 與後端服務之間的雙向 TLS,請重新啟動訊息處理器。

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

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

更新前後測試憑證

請使用下列 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

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

更新金鑰儲存區中的 TLS 憑證

如果是 Edge 的地端部署作業:

  1. 按照「Keystore 和 Truststore」一文的說明,建立新的 Keystore,並上傳憑證和金鑰。 在新 KeyStore 中,請務必使用與現有 KeyStore 相同的金鑰別名。

    注意:您可以刪除目前的金鑰儲存區,並使用相同名稱和別名建立新的金鑰儲存區。無須重新啟動路由器。不過,您必須設定新的金鑰儲存區和別名,API 要求才會成功。
  2. 用於連入連線的虛擬主機,也就是傳送至 Edge 的 API 要求:
    1. 如果虛擬主機使用金鑰儲存區的參照,請按照「使用參照」一文的說明更新參照。
    2. 如果虛擬主機使用金鑰儲存區的直接名稱:
      1. 更新參照舊金鑰儲存區和金鑰別名的所有虛擬主機,改為參照新金鑰儲存區和金鑰別名。
      2. 逐一重新啟動路由器。請注意,如果您刪除舊的 KeyStore,並建立名稱相同的新 KeyStore,則不需要重新啟動路由器。

        無須重新部署 Proxy。
  3. 用於傳出連線的目標端點/目標伺服器,也就是從 Apigee 到後端伺服器的連線:
    1. 如果目標端點/目標伺服器使用金鑰儲存區的參照,請按照「使用參照」一文的說明更新參照。不必重新部署 Proxy。
    2. 如果目標端點/目標伺服器使用流程變數,請更新流程變數。不需要重新部署 Proxy。
    3. 如果目標端點/目標伺服器使用金鑰儲存區的直接名稱:
      1. 更新參照舊金鑰儲存區和金鑰別名的所有 API Proxy 的目標端點/目標伺服器設定,以參照新的金鑰儲存區和金鑰別名。
      2. 如果 API Proxy 從 TargetEndpoint 定義參照金鑰儲存區,您就必須重新部署 Proxy。

        如果 TargetEndpoint 參照 TargetServer 定義,且 TargetServer 定義參照金鑰儲存區,則無須重新部署 Proxy。
      3. 如果 KeyStore 用於 Edge 與後端服務之間的雙向 TLS,且您已刪除/重新建立同名的 KeyStore,則必須重新啟動 Edge Message Processor。
  4. 確認新金鑰儲存區運作正常後,請按照上述步驟刪除舊金鑰儲存區,以及過期的憑證和金鑰。

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

如果您使用信任儲存庫的參照,更新信任儲存庫中憑證的程序與上述更新金鑰儲存區的程序相同。唯一的差別在於:

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

如果您使用金鑰庫和信任儲存區的直接名稱:

  1. 如「金鑰儲存區和信任儲存區」一文所述,將新憑證上傳至信任儲存區。不需要刪除舊憑證。
  2. 如果是傳入連線使用的虛擬主機 (也就是傳入 Edge 的 API 要求),請一次重新啟動一個路由器。
  3. 針對外送連線使用的目標端點/目標伺服器 (也就是從 Apigee 到後端伺服器),請一次重新啟動一個 Edge Message Processor。
  4. 確認新的信任儲存庫是否正常運作。