如何撤銷我的 ACM 私有憑證?

上次更新日期:2022 年 6 月 22 日

如何撤銷 AWS Certificate Manager (ACM) 私有憑證?

簡短描述

您可以使用 revoke-certificate AWS Command Line Interface (AWS CLI) 命令,撤銷 ACM 私有憑證。

解決方案

根據 ACM 私有憑證是透過 IssueCertificate API 所建立,或在 AWS 管理主控台中使用 RequestCertificate API 建立而定,遵循下列說明。

注意:如果您在執行 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 管理主控台建立稽核報告

如需詳細資訊,請參閱撤銷私有憑證


此文章是否有幫助?


您是否需要帳單或技術支援?