更新 Cloud 的傳輸層安全標準 (TLS) 憑證

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

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

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

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

設定類型 如何更新/更換憑證 如何更新虛擬主機、目標端點/目標伺服器
參考資料 (建議)

如果是金鑰儲存庫,請建立新名稱的金鑰儲存庫,並使用與舊別名相同名稱的別名。

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

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

不需要與 Apigee Edge 支援團隊聯絡。

流程變數 (僅限目標端點)

如果是金鑰儲存庫,請重新命名並建立新金鑰儲存庫,別名則可沿用或另取新名。

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

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

不需要與 Apigee Edge 支援團隊聯絡。

直接 建立新的 KeyStore、別名和 TrustStore。

如果是虛擬主機,請Apigee Edge 支援團隊聯絡,重新啟動路由器。

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

直接 刪除金鑰儲存區或信任儲存庫,然後使用相同名稱重新建立。

無須更新虛擬主機。不過,您必須先設定新的金鑰存放區和別名,API 要求才會成功。

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

直接 如果是信任儲存區,請將新憑證上傳至信任儲存庫。

如果是虛擬主機,請Apigee Edge 支援團隊聯絡,要求重新啟動 Edge Router。

如果目標端點/目標伺服器使用信任儲存區,請Apigee Edge 支援團隊聯絡,重新啟動訊息處理器。

更新前後測試憑證

請使用下列 openssl 指令測試目前的憑證,再進行更新:

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

其中 HOSTNAME 是主機別名,ORG-ENV 是機構和環境。例如:

echo | openssl s_client -servername example.com -connect myOrg-prod.apigee.net: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

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

判斷虛擬主機或目標端點/目標伺服器如何參照金鑰儲存區和信任儲存區

  1. 前往 https://enterprise.apigee.com 登入 Edge 管理 UI。
  2. 在 Edge 管理 UI 選單中,選取貴機構的名稱。
  3. 虛擬主機:判斷虛擬主機如何指定金鑰儲存區和信任儲存區。
    1. 視 Edge UI 版本而定:
      1. 如果您使用傳統 Edge 使用者介面:選取「APIs」>「Environment Configuration」
      2. 如果您使用新版 Edge 使用者介面:選取「管理」>「環境」
    2. 選取「虛擬主機」分頁標籤。
    3. 針對要更新的特定虛擬主機,選取「顯示」按鈕,即可顯示其屬性。顯示器包含下列屬性:
      1. 金鑰儲存區:目前金鑰儲存區的名稱,通常在 ref://mykeystoreref 中指定為參照。

        或者,也可以直接指定名稱,格式為 myKeystoreName,或以流程變數指定,格式為 {ssl.keystore}
      2. 金鑰別名。這個屬性的值是金鑰儲存庫中的別名。新的 KeyStore 必須建立名稱相同的別名。
      3. 信任儲存區:目前的信任儲存區名稱 (如有),通常會在 ref://mytruststoreref 中指定為參照。

        或者,也可以直接指定名稱,格式為 myTruststoreName,或以流程變數指定,格式為 {ssl.truststorestore}
  4. 針對目標端點/目標伺服器,判斷目標端點如何指定金鑰儲存區和信任儲存區:
    1. 在 Edge 管理 UI 選單中,選取「API」
    2. 選取 API Proxy 的名稱。
    3. 選取「開發」分頁標籤。
    4. 在「目標端點」下方,選取「預設」
    5. 程式碼區域會顯示 TargetEndpoint 定義。檢查 <SSLInfo> 元素,瞭解金鑰儲存區/信任儲存庫的定義方式。

      注意:如果目標端點使用目標伺服器,目標端點的 XML 定義會如下所示,其中 <LoadBalancer> 標記會指定 API 代理使用的目標伺服器。
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <LoadBalancer>
            <Server name="target1" />
            <Server name="target2" />
          </LoadBalancer>
          <Path>/test</Path>
        </HTTPTargetConnection>
          …
      </TargetEndpoint>
      檢查目標伺服器定義中的 <SSLInfo> 元素,判斷金鑰儲存區/信任儲存區的定義方式。

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

如果金鑰儲存區中的憑證過期,您就無法將新憑證上傳至金鑰儲存區。請改為建立新的金鑰儲存區並上傳憑證,然後更新虛擬主機或目標伺服器/目標端點,以使用新的金鑰儲存區。

一般來說,您會在目前的憑證到期前建立新的金鑰儲存區,然後更新虛擬主機或目標端點,使用新的金鑰儲存區,這樣就能繼續處理要求,不會因憑證過期而中斷服務。確認新金鑰儲存區運作正常後,即可刪除舊金鑰儲存區。

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

  1. 按照「 使用 Edge UI 建立 KeyStore 和 TrustStore」一文的說明,建立新的 KeyStore,並上傳憑證和金鑰。

    在新 KeyStore 中,請務必使用與現有 KeyStore 中相同的金鑰別名。

  2. 用於連入連線的虛擬主機,也就是傳送至 Edge 的 API 要求:
    1. 如果虛擬主機參照金鑰儲存區,請更新參照。
    2. 如果虛擬主機使用金鑰儲存區的直接名稱,請與 Apigee Edge 支援團隊聯絡。
  3. 用於傳出連線的目標端點/目標伺服器,也就是從 Apigee 到後端伺服器:
    1. 如果目標端點/目標伺服器使用金鑰儲存區的參照,請更新參照。不必重新部署 Proxy。
    2. 如果目標端點/目標伺服器使用流程變數,請更新流程變數。不需要重新部署 Proxy。
    3. 如果目標端點/目標伺服器使用金鑰儲存區的直接名稱,請更新任何參照舊金鑰儲存區和金鑰別名的 API Proxy 的目標端點/目標伺服器設定,以參照新的金鑰儲存區和金鑰別名。

      接著,您必須重新部署 Proxy。

  4. 確認新金鑰儲存庫運作正常後,請刪除含有過期憑證和金鑰的舊金鑰儲存庫。

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

信任儲存區中的憑證到期時,您通常會建立新的信任儲存區並上傳憑證,然後更新虛擬主機或目標伺服器/目標端點,以使用新的信任儲存區。

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

一般來說,您會在目前的憑證到期前建立新的信任儲存區,然後更新虛擬主機或目標端點,使用新的信任儲存區,這樣就能繼續處理服務要求,不會因憑證過期而中斷。確認新的信任儲存庫運作正常後,即可刪除舊的信任儲存庫。

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

  1. 按照「使用 Edge UI 建立 KeyStore 和 TrustStore」一文的說明,建立新的 TrustStore 並上傳憑證。

    將新憑證上傳至新的信任儲存庫時,別名名稱並不重要。

  2. 用於連入連線的虛擬主機,也就是傳送至 Edge 的 API 要求:
    1. 如果虛擬主機參照信任儲存區,請更新參照。
    2. 如果虛擬主機使用信任儲存區的直接名稱,請與 Apigee Edge 支援團隊聯絡。
  3. 用於傳出連線的目標端點/目標伺服器,也就是從 Apigee 到後端伺服器:
    1. 如果目標端點/目標伺服器使用信任儲存庫的參照,請更新參照。不必重新部署 Proxy。
    2. 如果目標端點/目標伺服器使用流程變數,請更新流程變數。不需要重新部署 Proxy。
    3. 如果目標端點/目標伺服器使用信任儲存區的直接名稱,請更新參照舊信任儲存區的任何 API Proxy 的目標端點/目標伺服器設定,以參照新的金鑰儲存區和金鑰別名。

      接著,您必須重新部署 Proxy。

  4. 確認新的信任儲存庫運作正常後,請刪除含有過期憑證的舊信任儲存庫。