如何吊销我的 ACM 私有证书?

2 分钟阅读
0

如何吊销 AWS Certificate Manager (ACM) 私有证书?

简短描述

您可以使用 revoke-certificate AWS 命令行界面 (AWS CLI) 命令吊销 ACM 私有证书。

解决方案

根据 ACM 私有证书是使用 IssueCertificate API 创建的,还是使用 RequestCertificate API 在 AWS 管理控制台中创建的,请按照以下说明进行操作。

**注意:**如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

吊销使用 issueCertificate API 创建的 ACM 私有证书

步骤 1:获取证书序列号

以下 AWS CLI 命令 get-certificate 会输出 base64 编码的 PEM 格式证书,并将其保存在 certificate.pem 文件中:

**注意:**将这些示例中的 ARN 替换为自己的 ARN。

aws acm-pca get-certificate --certificate-authority-arn 
arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012
 \ --certificate-arn 
arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/3d295f5691637e577f3c192acd79d401
 \ --query 'Certificate' > certificate.pem --output text

步骤 2:使用 OpenSSL 解码证书以获取序列号

openssl x509 -in certificate.pem -noout -text

示例输出:

Serial Number: 3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01 \

步骤 3:吊销证书

运行类似于以下内容的 AWS CLI 命令 revoke-certificate

注意:将序列号示例替换为步骤 2 中输出的序列号。

aws acm-pca revoke-certificate \ 

--certificate-authority-arn arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012 \ 

--certificate-serial 3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01 \ 

--revocation-reason "KEY_COMPROMISE"

使用以下值之一指定吊销证书的原因:

  • UNSPECIFIED
  • KEY_COMPROMISE
  • CERTIFICATE_AUTHORITY_COMPROMISE
  • AFFILIATION_CHANGED
  • SUPERSEDED
  • CESSATION_OF_OPERATION
  • PRIVILEGE_WITHDRAWN
  • A_A_COMPROMISE

注意:revoke-certificate 命令不会返回响应。

吊销使用 AWS 管理控制台或 RequestCertificate API 创建的 ACM 私有证书

步骤 1:获取证书的序列号

运行类似于以下内容的 AWS CLI 命令 describe-certificate

aws acm describe-certificate --certificate-arn arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012

示例输出:

"Serial" : "3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01"

步骤 2:吊销证书

运行类似于以下内容的 AWS CLI 命令 revoke-certificate

注意:将序列号示例替换为步骤 1 中输出的序列号。

aws acm-pca revoke-certificate \    

--certificate-authority-arn 
arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012
 \    

--certificate-serial 3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01 \  

--revocation-reason "KEY_COMPROMISE"

使用以下值之一指定吊销证书的原因:

  • A_A_COMPROMISE
  • PRIVILEGE_WITHDRAWN
  • CESSATION_OF_OPERATION
  • SUPERSEDED
  • AFFILIATION_CHANGED
  • CERTIFICATE_AUTHORITY_COMPROMISE
  • KEY_COMPROMISE
  • UNSPECIFIED

**注意:**revoke-certificate 命令不会返回响应。

确认已吊销 ACM 私有证书

使用 AWS CLI 创建审计报告

要创建列出每次使用 CA 私钥的审计报告,请运行 AWS CLI 命令 create-certificate-authority-audit-report

aws acm-pca create-certificate-authority-audit-report \ 

--certificate-authority-arn arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012 \ 

--s3-bucket-name acmcrl2 \ 

--audit-report-response-format JSON

示例输出:

{     

"AuditReportId": "10e5767f-6259-4a23-90bb-628f5a5e1fee",     

"S3Key": "audit-report/12345678-1234-1234-1234-123456789012/10e5767f-6259-4a23-90bb-628f5a5e1fee.json" 

}

记下 Amazon Simple Storage Service (Amazon S3) 密钥 ID。

使用 AWS CLI 命令 get-object 获取 Amazon S3 对象:

aws s3api get-object --bucket acmcrl2 --key 
audit-report/12345678-1234-1234-1234-123456789012/10e5767f-6259-4a23-90bb-628f5a5e1fee.json
 revoked.txt

示例输出:

"revokedAt": "2021-01-30T15:24:55+0000"

注意 revokedAt 值中的时间戳。仅当证书状态为 REVOKED 时,RevokedAt 值才存在。

使用 AWS 管理控制台创建审计报告

按照说明使用 AWS 管理控制台创建审计报告

有关更多信息,请参阅吊销私有证书


相关信息

ACM 私有 CA 最佳实践

AWS 官方
AWS 官方已更新 2 年前