準備好憑證 AWS Certificate Manager - Amazon API Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

準備好憑證 AWS Certificate Manager

必須先在 中備妥 SSL/TLS 憑證,再設定 API 的自訂網域名稱 AWS Certificate Manager如需詳細資訊,請參閱 AWS Certificate Manager 使用者指南

考量事項

以下是您的 SSL/TLS 憑證的考量事項。

  • 如果您建立了邊緣最佳化的自訂網域名稱,API Gateway 會運用 CloudFront 來支援自訂網域名稱的憑證。因此,自訂網域名稱 SSL/TLS 憑證的需求和條件約束是由。CloudFront例如,公有金鑰大小上限是 2048,而私有金鑰大小可以是 1024、2048 和 4096。公有金鑰大小是由您使用的憑證授權機構所決定。請求憑證授權機構傳回大小與預設長度不同的金鑰。如需詳細資訊,請參閱保護物件的存取建立已簽署 URL 和已簽署 Cookie

  • 若要使用具有地區自訂網域名稱的 ACM 憑證,您必須在與 API 相同的區域中要求或匯入憑證。憑證必須由公開信任的憑證授權機構簽署,並涵蓋自訂網域名稱。

  • 若要使用具有邊緣最佳化自訂網域名稱的 ACM 憑證,您必須在美國東部 (維吉尼亞北部)-區域申請或匯入憑證。us-east-1

  • 您必須擁有已註冊的網域名稱,例如example.com。您可以使用 Amazon Route 53 或第三方認可的網域註冊機構。如需這類註冊機構的清單,請參閱 ICANN 網站上的認可的註冊機構目錄

若要建立或匯入 SSL/TLS 憑證至 ACM

下列程序顯示如何建立或匯入網域名稱的 SSL/TLS 憑證。

To request a certificate provided by ACM for a domain name
  1. 登入 AWS Certificate Manager 主控台

  2. 選擇 Request a certificate (請求憑證)

  3. 針對 [憑證類型],選擇 [要求公用憑證]。

  4. 選擇下一步

  5. 針對完整網域名稱,輸入 API 的自訂網域名稱,例如api.example.com

  6. (選擇性) 選擇 Add another name to this certificate (將其他名稱新增至此憑證)

  7. 對於驗證方法,請選擇驗證網域擁有權的方法。

  8. 針對金鑰演算法,請選擇加密演算法。

  9. 選擇請求

  10. 針對有效的請求,在 ACM 發出憑證之前,網際網路網域的註冊擁有者必須先同意請求。如果您使用 Route 53 來管理公用 DNS 記錄,您可以直接透過 ACM 主控台更新記錄。

To import into ACM a certificate for a domain name
  1. 取得憑證授權機構中自訂網域名稱的 PEM 編碼 SSL/TLS 憑證。如需此類 CA 的部分清單,請參閱 Mozilla 內含的 CA 清單

    1. 使用 OpenSSL 網站上的 OpenSSL 工具組,來產生憑證的私有金鑰,並將輸出儲存至檔案:

      openssl genrsa -out private-key-file 2048
    2. 使用 OpenSSL,透過先前產生的私有金鑰來產生憑證簽署請求 (CSR):

      openssl req -new -sha256 -key private-key-file -out CSR-file
    3. 將 CSR 提交至憑證授權機構,並儲存產生的憑證。

    4. 從憑證授權機構下載憑證鏈。

    注意

    如果您使用另一種方式來取得私有金鑰並加密金鑰,則可以使用下列命令先解密金鑰,再將它提交至 API Gateway 來設定自訂網域名稱。

    openssl pkcs8 -topk8 -inform pem -in MyEncryptedKey.pem -outform pem -nocrypt -out MyDecryptedKey.pem
  2. 將憑證上傳至 AWS Certificate Manager:

    1. 登入 AWS Certificate Manager 主控台

    2. 選擇 Import a certificate (匯入憑證)。

    3. 在「憑證主體」中,輸入憑證授權單位提供的 PEM 格式伺服器憑證主體。以下示範這類憑證的縮寫範例。

      -----BEGIN CERTIFICATE----- EXAMPLECA+KgAwIBAgIQJ1XxJ8Pl++gOfQtj0IBoqDANBgkqhkiG9w0BAQUFADBB ... az8Cg1aicxLBQ7EaWIhhgEXAMPLE -----END CERTIFICATE-----
    4. 針對憑證私密金鑰,輸入您的 PEM 格式憑證的私密金鑰。以下示範這類金鑰的縮寫範例。

      -----BEGIN RSA PRIVATE KEY----- EXAMPLEBAAKCAQEA2Qb3LDHD7StY7Wj6U2/opV6Xu37qUCCkeDWhwpZMYJ9/nETO ... 1qGvJ3u04vdnzaYN5WoyN5LFckrlA71+CszD1CGSqbVDWEXAMPLE -----END RSA PRIVATE KEY-----
    5. 在「憑證鏈結」中,輸入 PEM 格式的中繼憑證,並選擇性地輸入根憑證 (不含任何空行)。如果您包含根憑證,則憑證鏈的開頭必須是中繼憑證,而結尾必須是根憑證。使用憑證授權機構所提供的中繼憑證。請不要包含不在信任路徑鏈中的任何中介。以下示範縮寫範例。

      -----BEGIN CERTIFICATE----- EXAMPLECA4ugAwIBAgIQWrYdrB5NogYUx1U9Pamy3DANBgkqhkiG9w0BAQUFADCB ... 8/ifBlIK3se2e4/hEfcEejX/arxbx1BJCHBvlEPNnsdw8EXAMPLE -----END CERTIFICATE-----

      以下是另一個範例。

      -----BEGIN CERTIFICATE----- Intermediate certificate 2 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Intermediate certificate 1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Optional: Root certificate -----END CERTIFICATE-----
    6. 選擇下一步,然後選擇下一步

成功建立或匯入憑證後,請記下憑證 ARN。您在設定自訂網域名稱時需要此值。