在私有 PKI 中续订证书 - Amazon 证书 Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在私有 PKI 中续订证书

由来自的私有 CA 签署的 ACM 证书 Amazon 私有 CA 有资格进行托管续订。与公开受信任 ACM 证书不同,私有 PKI 的证书不需要验证。当管理员在客户端信任存储区中安装相应的根 CA 证书时,就会建立信任。

注意

只有通过 ACM 控制台或 ACM API RequestCertificate操作获得的证书才有资格进行托管续订。 Amazon 私有 CA 使用 Amazon 私有 CA API IssueCertificate操作直接颁发的证书不由 ACM 管理。

当托管式证书还剩 60 天过期时,ACM 会自动尝试续订。这包括手动导出和安装的证书(例如,在本地数据中心中)。客户还可以随时使用 ACM API 的RenewCertificate操作强制续订。有关强制续订的 Java 实现示例,请参阅 续订证书

续订后,证书部署到服务的方式有如下几种:

自动导出已续订的证书

以下过程提供了一个示例解决方案,用于在 ACM 续订私有 PKI 证书时自动导出这些证书。此示例仅从 ACM 中导出证书及其私有密钥;导出后,证书仍必须安装在其目标设备上。

使用控制台自动导出证书
  1. 按照 Amazon Lambda 开发者指南中的步骤,创建和配置一个调用 ACM 导出 API 的 Lambda 函数。

    1. 创建一个 Lambda 函数

    2. 为您的函数创建一个 Lambda 执行角色并添加以下信任策略。该策略允许函数中的代码通过调用 ACM API 的ExportCertificate操作来检索续订的证书和私钥。

      { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"acm:ExportCertificate", "Resource":"*" } ] }
  2. 在 Amazon 中创建规则 EventBridge,用于监听 ACM 运行状况事件,并在检测到 Lambda 函数时调用该函数。ACM 每次尝试续订证书时都会写入 Amazon Health 事件。有关这些通知的更多信息,请参阅 使用 Personal Health Dashboard (PHD) 检查状态

    通过添加以下事件模式来配置规则。

    { "source":[ "aws.health" ], "detail-type":[ "AWS Health Event" ], "detail":{ "service":[ "ACM" ], "eventTypeCategory":[ "scheduledChange" ], "eventTypeCode":[ "AWS_ACM_RENEWAL_STATE_CHANGE" ] }, "resources":[ "arn:aws:acm:region:account:certificate/certificate_ID" ] }
  3. 通过在目标系统上手动安装证书来完成续订过程。

测试私有 PKI 证书的托管式续订

您可以使用 ACM API 或 Amazon CLI 手动测试 ACM 托管续订工作流程的配置。通过这样做,您可以确认您的证书将在过期前由 ACM 自动续订。

注意

您只能测试由颁发和导出的证书的续订 Amazon 私有 CA。

当您使用下面描述的 API 操作或 CLI 命令时,ACM 会尝试续订证书。如果续订成功,ACM 会更新管理控制台或 API 输出中显示的证书元数据。如果证书与 ACM 集成服务相关联,则会部署新证书,并在 Amazon Events 中生成续订 CloudWatch 事件。如果续订失败,ACM 将返回错误并建议采取补救措施。(您可以使用 describe-certificate 命令查看此信息。) 如果证书不是通过集成服务部署的,您仍然需要将其导出并手动将其安装到资源上。

重要

要使用 ACM 续订 Amazon 私有 CA 证书,必须先向 ACM 服务主体授予执行此操作的权限。有关更多信息,请参阅将证书续订权限分配给 ACM

手动测试证书续订 (Amazon CLI)
  1. 使用 renew-certificate 证书续订导出的私有证书。

    aws acm renew-certificate \ --certificate-arn arn:aws:acm:region:account:certificate/certificate_ID
  2. 然后,使用 describe-certificate 命令确认已更新该证书的续订详细信息。

    aws acm describe-certificate \ --certificate-arn arn:aws:acm:region:account:certificate/certificate_ID
手动测试证书续订 (ACM API)