

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

# 在中申请私有证书 AWS Certificate Manager
<a name="gs-acm-request-private"></a>

## 请求私有证书（控制台）
<a name="request-private-console"></a>

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

   选择**请求证书**。

1. 在 **Request certificate**（请求证书）页面上，选择 **Request a private certificate**（请求私有证书）和 **Next**（下一步）以继续。

1. 在**证书颁发机构详细信息**部分，选择**证书颁发机构**菜单，然后选择一个可用的私有证书 CAs。如果 CA 是从另一个账户共享的，则 ARN 的前面包含所有权信息。

   此时将显示有关 CA 的详细信息，以帮助您验证选择了正确的 CA：
   + **所有者**
   + **Type**
   + **公用名（CN）**
   + **组织 (O)**
   + **组织部门（OU）**
   + **国家/地区名称 (C)**
   + **州或省**
   + **所在地名称**

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**)。要同时保护二者，请参阅下一个步骤

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

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

   有关帮助您选择算法的信息，请参阅中的 AWS 博客文章《[如何评估和使用 ECDSA 证书](https://aws.amazon.com/blogs/security/how-to-evaluate-and-use-ecdsa-certificates-in-aws-certificate-manager/)》。 AWS Certificate Manager

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

1. 在 **Certificate renewal permissions**（证书续订权限）部分，确认有关证书续订权限的通知。这些权限允许自动续订使用所选 CA 签署的私有 PKI 证书。有关更多信息，请参阅[将服务相关角色用于 ACM](https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html)。

1. 提供所有必需信息后，选择 **Request**（请求）。控制台将返回证书列表，您可以在其中查看新证书。
**注意**  
根据您对列表排序的方式，您要查找的证书可能不会立即可见。您可以点击右侧的黑色三角形来更改顺序。您还可以使用右上角的页码浏览多页证书。

## 请求私有证书（CLI）
<a name="request-private-cli"></a>

使用 [request-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm/request-certificate.html) 命令在 ACM 中请求私有证书。

**注意**  
当您请求由 CA 签名的私有 PKI 证书时 AWS 私有 CA，指定的签名算法系列（RSA 或 ECDSA）必须与 CA 密钥的算法系列相匹配。

```
aws acm request-certificate \
--domain-name www.example.com \
--idempotency-token 12563 \
--certificate-authority-arn arn:aws:acm-pca:Region:444455556666:\
certificate-authority/CA_ID
```

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

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

在大多数情况下，ACM 会在您首次使用共享 CA 时自动将服务关联角色 (SLR) 附加到您的账户。SLR 允许自动续订您颁发的终端实体证书。要检查 SLR 是否存在，可使用以下命令查询 IAM：

```
aws iam get-role --role-name AWSServiceRoleForCertificateManager
```

如果存在 SLR，命令输出应类似如下所示：

```
{
   "Role":{
      "Path":"/aws-service-role/acm.amazonaws.com/",
      "RoleName":"AWSServiceRoleForCertificateManager",
      "RoleId":"AAAAAAA0000000BBBBBBB",
      "Arn":"arn:aws:iam::{account_no}:role/aws-service-role/acm.amazonaws.com/AWSServiceRoleForCertificateManager",
      "CreateDate":"2020-08-01T23:10:41Z",
      "AssumeRolePolicyDocument":{
         "Version":"2012-10-17",		 	 	 
         "Statement":[
            {
               "Effect":"Allow",
               "Principal":{
                  "Service":"acm.amazonaws.com"
               },
               "Action":"sts:AssumeRole"
            }
         ]
      },
      "Description":"SLR for ACM Service for accessing cross-account Private CA",
      "MaxSessionDuration":3600,
      "RoleLastUsed":{
         "LastUsedDate":"2020-08-01T23:11:04Z",
         "Region":"ap-southeast-1"
      }
   }
}
```

如果缺少 SLR，请参阅[将服务关联角色用于 ACM](https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html)。