

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

# 在 中備妥憑證 AWS Certificate Manager
<a name="how-to-specify-certificate-for-custom-domain-name"></a>

必須先在 中備妥 SSL/TLS 憑證，再設定 API 的自訂網域名稱 AWS Certificate Manager如需詳細資訊，請參閱[「AWS Certificate Manager 使用者指南」](https://docs.aws.amazon.com/acm/latest/userguide/)。

## 考量事項
<a name="how-to-specify-certificate-for-custom-domain-name-considerations"></a>

以下是 SSL/TLS 憑證的考量事項。
+ 如果您建立邊緣最佳化的自訂網域名稱，API Gateway 會利用 CloudFront 支援自訂網域名稱的憑證。因此，自訂網域名稱 SSL/TLS 憑證的需求和限制是由 [CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html) 所指定。例如，公有金鑰大小上限是 2048，而私有金鑰大小可以是 1024、2048 和 4096。公有金鑰大小是由您使用的憑證授權機構所決定。請求憑證授權機構傳回大小與預設長度不同的金鑰。如需詳細資訊，請參閱[保護物件的存取](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)和[建立已簽署 URL 和已簽署 Cookie](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html)。
+ 如果您建立區域性自訂網域名稱，公有金鑰的大小上限為 2048。
+ 若要搭配區域性自訂網域名稱使用 ACM 憑證，您必須在與 API 相同的區域中請求或匯入憑證。憑證必須涵蓋自訂網域名稱。
+  若要搭配邊緣最佳化的自訂網域名稱使用 ACM 憑證，您必須在美國東部 (維吉尼亞北部) – `us-east-1` 區域中請求或匯入憑證。
+  您必須具有已註冊的網域名稱，例如 `example.com`。您可以使用 [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/) 或第三方認可的網域註冊機構。如需這類註冊機構的清單，請參閱 ICANN 網站上的[認可的註冊機構目錄](https://www.icann.org/en/accredited-registrars)。

## 建立 SSL/TLS 憑證或將其匯入 ACM
<a name="how-to-specify-certificate-for-custom-domain-name-setup"></a>

以下步驟顯示如何為網域名稱建立或匯入 SSL/TLS 憑證。

------
#### [ To request a certificate provided by ACM for a domain name ]

1. 登入 [AWS Certificate Manager 主控台](https://console.aws.amazon.com/acm)。

1. 選擇 **Request a certificate (請求憑證)**。

1. 對於**憑證類型**，選擇**請求公有憑證**。

1. 選擇**下一步**。

1. 在**完整網域名稱**中，輸入 API 的自訂網域名稱 (例如 `api.example.com`)。

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

1. 對於**驗證方法**，選擇驗證網域擁有權的方法。

1. 對於**金鑰演算法**，選擇加密演算法。

1. 選擇**請求**。

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

------
#### [ To import into ACM a certificate for a domain name ]

1.  取得憑證授權機構中自訂網域名稱的 PEM 編碼 SSL/TLS 憑證。如需這類 CA 的部分清單，請參閱 [Mozilla 已包含 CA 清單](https://ccadb.my.salesforce-sites.com/mozilla/IncludedCACertificateReport)。

   1. 使用 OpenSSL 網站上的 [OpenSSL](https://www.openssl.org) 工具組，來產生憑證的私有金鑰，並將輸出儲存至檔案：

      ```
      openssl genrsa -out private-key-file 2048
      ```

   1. 使用 OpenSSL，透過先前產生的私有金鑰來產生憑證簽署請求 (CSR)：

      ```
      openssl req -new -sha256 -key private-key-file -out CSR-file
      ```

   1. 將 CSR 提交至憑證授權機構，並儲存產生的憑證。

   1. 從憑證授權機構下載憑證鏈。
**注意**  
 如果您使用另一種方式來取得私有金鑰並加密金鑰，則可以使用下列命令先解密金鑰，再將它提交至 API Gateway 來設定自訂網域名稱。  

   ```
   openssl pkcs8 -topk8 -inform pem -in MyEncryptedKey.pem -outform pem -nocrypt -out MyDecryptedKey.pem
   ```

1. 上傳憑證至 AWS Certificate Manager：

   1. 登入 [AWS Certificate Manager 主控台](https://console.aws.amazon.com/acm)。

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

   1. 針對**憑證內文**，輸入憑證授權單位的 PEM 格式化伺服器憑證的內文。以下示範這類憑證的縮寫範例。

      ```
      -----BEGIN CERTIFICATE-----
      EXAMPLECA+KgAwIBAgIQJ1XxJ8Pl++gOfQtj0IBoqDANBgkqhkiG9w0BAQUFADBB
      ...
      az8Cg1aicxLBQ7EaWIhhgEXAMPLE
      -----END CERTIFICATE-----
      ```

   1. 針對**憑證私有金鑰**，輸入 PEM 格式化憑證的私有金鑰。以下示範這類金鑰的縮寫範例。

      ```
      -----BEGIN RSA PRIVATE KEY-----
      EXAMPLEBAAKCAQEA2Qb3LDHD7StY7Wj6U2/opV6Xu37qUCCkeDWhwpZMYJ9/nETO
      ...
      1qGvJ3u04vdnzaYN5WoyN5LFckrlA71+CszD1CGSqbVDWEXAMPLE
      -----END RSA PRIVATE KEY-----
      ```

   1. 針對**憑證鏈**，輸入 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-----
      ```

   1. 選擇**下一步**，然後選擇**下一步**。

------

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