

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在中申请公共证书 AWS Certificate Manager
<a name="acm-public-certificates"></a>

您可以从 ACM 控制台或 API 申请 AWS Certificate Manager 公有证书。 AWS CLI您可以将这些证书与集成证书一起使用， AWS 服务 也可以将其导出以供外部使用 AWS 云。

以下列表描述了公有证书和可导出公有证书之间的区别。

**公有证书**  
使用集成了 Elastic Load Balancing、Amazon 和 Amazon CloudFront API Gateway AWS 服务 等集成的 ACM 公有证书。有关更多信息，请参阅 [与 ACM 集成的服务](acm-services.md)。  
无法导出在 2025 年 6 月 17 日之前创建的 ACM 公有证书。

**可导出公有证书**  
可导出的公共证书可 AWS 服务 与集成证书配合使用，也可以在外部 AWS 云使用。有关更多信息，请参阅[AWS Certificate Manager 可导出的公共证书](acm-exportable-certificates.md)和[与 ACM 集成的服务](acm-services.md)。您必须创建新的 ACM 公有证书并启用可导出功能，才能导出公有证书。

以下部分讨论如何申请、导出和吊销公有 ACM 证书。

**Topics**
+ [使用控制台请求公有证书](#request-public-console)
+ [使用 CLI 请求公有证书](#request-public-cli)

## 使用控制台请求公有证书
<a name="request-public-console"></a>

**请求 ACM 公有证书（控制台）**

1. 登录 AWS 管理控制台并在[https://console.aws.amazon.com/acm/家](https://console.aws.amazon.com/acm/home)中打开 ACM 控制台。

   选择**请求证书**。

1. 在 **Domain names**（域名）部分，键入您的域名。

   您可以使用完全限定域名 (FQDN)（例如 **www.example.com**），或者裸域名或顶点域名（例如 **example.com**）。您还可以在最左侧位置使用星号 (**\$1**) 作为通配符来保护同一域中的多个站点名称。例如，**\$1.example.com** 可以保护 **corp.example.com** 和 **images.example.com**。通配符名称将显示在 ACM 证书的 **Subject（主题）**字段和 **Subject Alternative Name（主题替代名称）**扩展中。

   请求通配符证书时，星号 (**\$1**) 必须位于域名的最左侧位置，而且只能保护一个子域级别。例如，**\$1.example.com** 可以保护 **login.example.com** 和 **test.example.com**，但不能保护 **test.login.example.com**。另请注意，**\$1.example.com** *仅*保护 **example.com** 的子域，而不保护裸域或顶点域 (**example.com**)。要同时保护二者，请参阅下一个步骤。
**注意**  
为满足 [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280) 要求，在此步骤中输入的域名（技术术语为“公用名”）的长度不能超过 64 个八位字节（字符），包括句点。但是，您（在下一步中）提供的每个后续主题替代名称 (SAN) 的长度最多可达 253 个八位字节。

   1. 要添加其他名称，请选择 **Add another name to this certificate (向此证书添加另一个名称)**，然后在文本框中键入名称。这对于同时保护裸域或顶点域（例如 **example.com**）及其子域（例如 **\$1.example.com**）非常有用。

1. 如果要创建 ACM 可导出公有证书，请选择**启用导出**选项。您将能够访问证书的私有密钥并在 AWS 云之外使用它。有关更多信息，请参阅 [AWS Certificate Manager 可导出的公共证书](acm-exportable-certificates.md)。

1. 在 **Validation method**（验证方法）部分，根据您的需要选择 **DNS validation – recommended**（DNS 验证 – 推荐）或 **Email validation**（电子邮件验证）。
**注意**  
如果您可以编辑 DNS 配置，建议使用 DNS 域验证而不是电子邮件验证。相对于电子邮件验证，DNS 验证有多种优势。请参阅[AWS Certificate Manager 域名系统验证DNS 验证](dns-validation.md)。

   ACM 在颁发证书之前，会验证您是否拥有或控制证书请求中的域名。您可以使用电子邮件验证或 DNS 验证。

   1. 如果选择电子邮件验证，则 ACM 会将验证电子邮件发送到您在域名字段中指定的域。如果指定了验证域，则 ACM 会改为将该电子邮件发送到该验证域。有关电子邮件验证的更多信息，请参阅[AWS Certificate Manager 电子邮件验证](email-validation.md)。

   1. 如果使用 DNS 验证，则只需将 ACM 提供的别名记录写入您的 DNS 配置。有关 DNS 验证的更多信息，请参阅[AWS Certificate Manager 域名系统验证DNS 验证](dns-validation.md)。

1. 在**密钥算法**部分中，选择一种算法。

1. 在 **Tags**（标签）页面上，您可以选择为证书添加标签。标签是键值对，用作识别和组织 AWS 资源的元数据。有关 ACM 标签参数的列表以及有关如何在创建证书后向证书添加标签的说明，请参阅 [为 AWS Certificate Manager 资源添加标签](tags.md)。

   完成添加标签后，选择 **Request**（请求）。

1. 处理请求后，控制台将返回证书列表，其中会显示有关新证书的信息。

   在接到请求时，证书的状态将变为 **Pending validation**（等待验证），除非因故障排除主题[证书请求失败](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-cert-requests.html#troubleshooting-failed)中列出的任何原因导致请求失败。ACM 重复尝试验证书达 72 小时，然后超时。如果证书的状态显示为 **Failed**（已失败）或 **Validation timed out**（验证超时），则删除请求，更正 [DNS 验证](https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html)或[电子邮件验证](https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html)问题，然后重试。如果验证成功，则证书的状态将变为 **Issued**（已颁发）。
**注意**  
根据您对列表排序的方式，您要查找的证书可能不会立即可见。您可以点击右侧的黑色三角形来更改顺序。您还可以使用右上角的页码浏览多页证书。

## 使用 CLI 请求公有证书
<a name="request-public-cli"></a>

在命令行上使用 [request-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm/request-certificate.html) 命令请求新的公有 ACM 证书。验证方法的可选值是 DNS 和 EMAIL（电子邮件）。密钥算法的可选值是 RSA\$12048（如果未明确提供参数，则为默认值）、EC\$1prime256v1 和 EC\$1secp384r1。

```
aws acm request-certificate \
--domain-name www.example.com \
--key-algorithm EC_Prime256v1 \
--validation-method DNS \
--idempotency-token 1234 \
--options CertificateTransparencyLoggingPreference=DISABLED,Export=ENABLED
```

此命令输出新公有证书的 Amazon Resource Name (ARN)。

```
{
    "CertificateArn": "arn:aws:acm:Region:444455556666:certificate/certificate_ID"
}
```