

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

# 计划你的 AWS 私有 CA 证书吊销方法
<a name="revocation-setup"></a>

在规划私有 PKI 时 AWS 私有 CA，应考虑如何处理不再希望端点信任已颁发的证书的情况，例如端点的私钥被泄露的情况。解决此问题的常见方法是使用短期证书或配置证书吊销。 Short-lived证书将在如此短的时间内（以几小时或几天为单位）过期，以至于吊销证书毫无意义，证书的失效时间与通知终端节点撤销的时间大致相同。本节介绍 AWS 私有 CA 客户的吊销选项，包括配置和最佳实践。

寻找吊销方法的客户可以选择在线证书状态协议（OCSP）和/或证书吊销列表（CRL）。

**注意**  
如果您在未配置吊销的情况下创建 CA，以后可以随时对其进行配置。有关更多信息，请参阅 [在中更新私有 CA AWS 私有证书颁发机构](PCAUpdateCA.md)。
+ **在线证书状态协议（OCSP）**

  AWS 私有 CA 提供完全托管的 OCSP 解决方案，无需客户自己操作基础架构，即可通知端点证书已被吊销。客户可以使用 AWS 私有 CA 控制台、API、CLI 或通过 CloudFormation单个操作在新的 CA 或现有 CA 上启用 OCSP。尽管 CRL 是在端点上存储和处理的，可能会过时，而 OCSP 存储和处理要求是在响应程序后端同步处理的。

  为证书颁发机构启用 OCSP 时，会在颁发的每个新证书的*授权信息访问* (AIA) 扩展中 AWS 私有 CA 包含 OCSP 响应者的 URL。该扩展允许 Web 浏览器等客户端查询响应程序并确定是否可以信任终端实体或从属 CA 证书。响应程序返回经过加密签名的状态消息，以确保其真实性。

   AWS 私有 CA OCSP 响应器符合 [RF](https://datatracker.ietf.org/doc/html/rfc5019) C 5019。

  **OCSP 注意事项**
  + OCSP 状态消息的签名算法与颁发 CA 配置使用的签名算法相同。默认情况下，在 AWS 私有 CA 控制台中创建的 CA 使用 SHA256WITHRSA 签名算法。其他支持的算法可以在 [CertificateAuthorityConfiguration](https://docs.aws.amazon.com/privateca/latest/APIReference/API_CertificateAuthorityConfiguration.html)API 文档中找到。
  + 如果启用了 OCSP 响应程序，则 [APIPassthrough 和 CSRPassthrough](https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-varieties) 证书模板将无法与 AIA 扩展一起使用。
  + 托管 OCSP 服务的端点可在公共互联网上访问。想要使用 OCSP 但又不想拥有公共端点的客户需要运行自己的 OCSP 基础架构。
+ **证书吊销列表（CRL）**

  证书吊销列表 (CRL) 是一个包含在预定到期日期之前已撤销的证书列表的文件。CRL 包含一份不应再信任的证书列表、吊销原因和其他相关信息。

  配置证书颁发机构 (CA) 时，可以选择 AWS 私有 CA 创建完整的 CRL 还是分区的 CRL。您的选择决定了证书颁发机构可以颁发和吊销的最大证书数量。有关更多信息，请参阅 [AWS 私有 CA 配额](https://docs.aws.amazon.com/general/latest/gr/pca.html#limits_pca)。

   **CRL 注意事项** 
  + 内存和带宽注意事项：由于本地下载和处理要求，CRL 需要比 OCSP 更多的内存。但是，与 OCSP 相比，CRL 可能会通过缓存吊销列表而不是检查每个连接的状态来减少网络带宽。对于内存受限的设备，例如某些物联网设备，可以考虑使用分区 CRL。
  + 更改 CRL 类型：从完整的 CRL 更改为分区 CRL 时，根据需要 AWS 私有 CA 创建新分区，并将 IDP 扩展添加到所有 CRL 中，包括原始的 CRL。从分区更改为完成仅更新一个 CRL，并防止将来撤消与先前分区关联的证书。

**注意**  
OCSP 和 CRL 在吊销和状态更改可用性之间都存在一些延迟。  
当您吊销证书时，OCSP 响应最多可能需要 60 分钟才能反映新状态。通常，OCSP 往往支持更快地分发吊销信息，因为与客户端可以缓存数天的 CRL 不同，客户端通常不会缓存 OCSP 响应。
通常在吊销证书大约 30 分钟后更新 CRL。如果 CRL 更新因任何原因失败， AWS 私有 CA 则每 15 分钟再尝试一次。

## 吊销配置的一般要求
<a name="revocation-requirements"></a>

以下要求适用于所有吊销配置。
+ 禁用 CRL 或 OCSP 的配置必须仅包含 `Enabled=False` 参数，如果包含 `CustomCname` 或 `ExpirationInDays` 等其他参数，则配置将失败。
+ 在 CRL 配置中，`S3BucketName` 参数必须符合 [Amazon Simple Storage Service 桶命名规则](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)。
+ 包含要用于 CRL 或 OCSP 的自定义规范名称（CNAME）参数的配置必须符合关于在 CNAME 中使用特殊字符的 [RFC7230](https://www.ietf.org/rfc/rfc7230.txt) 限制。
+ 在 CRL 或 OCSP 配置中，CNAME 参数的值不得包含协议前缀，例如“http://”或“https://”。

**Topics**
+ [吊销配置的一般要求](#revocation-requirements)
+ [为以下各项设置 CRL AWS 私有 CA](crl-planning.md)
+ [自定义 OCSP 网址 AWS 私有 CA](ocsp-customize.md)