

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

# 使用外部签名的私有 CA 证书
<a name="PcaExternalRoot"></a>

如果您的私有 CA 层次结构的信任根必须是外部的 CA AWS 私有 CA，则可以创建自己的根 CA 并对其进行自签名。或者，您可以获取由组织运营的外部私有 CA 签名的私有 CA 证书。无论其来源如何，您都可以使用此外部获得的 CA 来签署 AWS 私有 CA 管理的私有从属 CA 证书。

**注意**  
创建或获取外部信任服务提供商的过程不在本指南的讨论范围内。

使用外部父 CA AWS 私有 CA 允许您强制执行 RFC 5280 的 “名称约束” 部分中定义的 CA [名称约束](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10)。名称约束为 CA 管理员提供了一种限制证书中使用者名称的方法。

如果您计划使用外部 CA 签署私有从属 CA 证书，则在 AWS 私有 CA中拥有工作 CA 之前需要完成三项任务：

1. 生成证书签名请求（CSR）。

1. 将 CSR 提交给您的外部签名颁发机构，然后返回签名的证书和证书链。

1. 在中安装签名证书 AWS 私有 CA。

以下过程介绍如何使用 AWS 管理控制台 或 AWS CLI完成这些任务。



**获取并安装外部签名的 CA 证书（控制台）**

1. （可选）如果您尚未进入 CA 的详细信息页面，请在[https://console.aws.amazon.com/acm-pca/家](https://console.aws.amazon.com/acm-pca/home)中打开 AWS 私有 CA 控制台。在**私有证书颁发机构**页面上，选择状态为**待处理证书**、**活动**、**已禁用**或**已过期**的从属 CA。

1. 选择**操作**、**安装 CA 证书**以打开**安装从属 CA 证书**页面。

1. 在**安装从属 CA 证书**页面的**选择 CA 类型**下，选择**外部私有 CA**。

1. 在**此 CA 的 CSR** 下，控制台显示 CSR 的 Base64 编码 ASCII 文本。您可以使用复制按钮**复制**文本，也可以选择**将 CSR 导出到文件**并将其保存在本地。
**注意**  
复制和粘贴时，必须保留 CSR 文本的确切格式。

1. 如果您无法立即执行离线步骤从外部签名颁发机构获取签名证书，可以关闭该页面，并在拥有签名证书和证书链后返回该页面。

   否则，如果您已准备就绪，请执行以下任一操作：
   + 将证书正文和证书链的 Base64 编码 ASCII 文本粘贴到其各自的文本框中。
   + 选择**上传**将证书正文和证书链从本地文件加载到其各自的文本框中。

1. 选择**确认并安装**。



**获取并安装外部签名的 CA 证书（CLI）**

1. 使用[get-certificate-authority-csr](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/get-certificate-authority-csr.html)命令检索私有 CA 的证书签名请求 (CSR)。如果要将 CSR 发送到显示屏上，请使用该`--output text`选项从每行末尾删除 CR/LF 字符。要将 CSR 发送到文件，请使用重定向选项 (>)，后跟文件名。

   ```
   $ aws acm-pca get-certificate-authority-csr \
   --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \
   --output text
   ```

   将 CSR 保存为本地文件后，您可以使用以下 [OpenSSL](https://www.openssl.org/) 命令对其进行检查：

   ```
   openssl req -in path_to_CSR_file -text -noout
   ```

   此命令将生成类似于以下内容的输出。请注意，**CA** 扩展为 `TRUE`，表示 CSR 用于 CA 证书。

   ```
   Certificate Request:
   Data:
   Version: 0 (0x0)
   Subject: O=ExampleCompany, OU=Corporate Office, CN=Example CA 1
   Subject Public Key Info:
       Public Key Algorithm: rsaEncryption
           Public-Key: (2048 bit)
           Modulus:
               00:d4:23:51:b3:dd:01:09:01:0b:4c:59:e4:ea:81:
               1d:7f:48:36:ef:2a:e9:45:82:ec:95:1d:c6:d7:c9:
               7f:19:06:73:c5:cd:63:43:14:eb:c8:03:82:f8:7b:
               c7:89:e6:8d:03:eb:b6:76:58:70:f2:cb:c3:4c:67:
               ea:50:fd:b9:17:84:b8:60:2c:64:9d:2e:d5:7d:da:
               46:56:38:34:a9:0d:57:77:85:f1:6f:b8:ce:73:eb:
               f7:62:a7:8e:e6:35:f5:df:0c:f7:3b:f5:7f:bd:f4:
               38:0b:95:50:2c:be:7d:bf:d9:ad:91:c3:81:29:23:
               b2:5e:a6:83:79:53:f3:06:12:20:7e:a8:fa:18:d6:
               a8:f3:a3:89:a5:a3:6a:76:da:d0:97:e5:13:bc:84:
               a6:5c:d6:54:1a:f0:80:16:dd:4e:79:7b:ff:6d:39:
               b5:67:56:cb:02:6b:14:c3:17:06:0e:7d:fb:d2:7e:
               1c:b8:7d:1d:83:13:59:b2:76:75:5e:d1:e3:23:6d:
               8a:5e:f5:85:ca:d7:e9:a3:f1:9b:42:9f:ed:8a:3c:
               14:4d:1f:fc:95:2b:51:6c:de:8f:ee:02:8c:0c:b6:
               3e:2d:68:e5:f8:86:3f:4f:52:ec:a6:f0:01:c4:7d:
               68:f3:09:ae:b9:97:d6:fc:e4:de:58:58:37:09:9a:
               f6:27
           Exponent: 65537 (0x10001)
   Attributes:
   Requested Extensions:
       X509v3 Basic Constraints:
           CA:TRUE
   Signature Algorithm: sha256WithRSAEncryption
    c5:64:0e:6c:cf:11:03:0b:b7:b8:9e:48:e1:04:45:a0:7f:cc:
    a7:fd:e9:4d:c9:00:26:c5:6e:d0:7e:69:7a:fb:17:1f:f3:5d:
    ac:f3:65:0a:96:5a:47:3c:c1:ee:45:84:46:e3:e6:05:73:0c:
    ce:c9:a0:5e:af:55:bb:89:46:21:92:7b:10:96:92:1b:e6:75:
    de:02:13:2d:98:72:47:bd:b1:13:1a:3d:bb:71:ae:62:86:1a:
    ee:ae:4e:f4:29:2e:d6:fc:70:06:ac:ca:cf:bb:ee:63:68:14:
    8e:b2:8f:e3:8d:e8:8f:e0:33:74:d6:cf:e2:e9:41:ad:b6:47:
    f8:2e:7d:0a:82:af:c6:d8:53:c2:88:a0:32:05:09:e0:04:8f:
    79:1c:ac:0d:d4:77:8e:a6:b2:5f:07:f8:1b:e3:98:d4:12:3d:
    28:32:82:b5:50:92:a4:b2:4c:28:fc:d2:73:75:75:ff:10:33:
    2c:c0:67:4b:de:fd:e6:69:1c:a8:bb:e8:31:93:07:35:69:b7:
    d6:53:37:53:d5:07:dd:54:35:74:50:50:f9:99:7d:38:b7:b6:
    7f:bd:6c:b8:e4:2a:38:e5:04:00:a8:a3:d9:e5:06:38:e0:38:
    4c:ca:a9:3c:37:6d:ba:58:38:11:9c:30:08:93:a5:62:00:18:
    d1:83:66:40
   ```

1. 将 CSR 提交给您的外部签名颁发机构并获取包含 Base64 PEM 编码签名证书和证书链的文件。

1. 使用[import-certificate-authority-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/import-certificate-authority-certificate.html)命令将私有 CA 证书文件和链文件导入 AWS 私有 CA。

   ```
   $ aws acm-pca import-certificate-authority-certificate \
   --certificate-authority-arn arn:aws:acm-pca:region:account:\
   certificate-authority/12345678-1234-1234-1234-123456789012 \
   --certificate file://C:\example_ca_cert.pem \
   --certificate-chain file://C:\example_ca_cert_chain.pem
   ```