当 ACM-PCA 的有效期短于 13 个月时,如何使用 ACM 控制台请求私有证书?

上次更新时间:2021 年 12 月 18 日

我请求 AWS Certificate Manager (ACM) 私有证书,但收到了“失败”错误提示或证书状态为“失败”。如何解决此问题?

简短描述

通过 ACM 控制台请求的私有证书的有效期为 13 个月。如果有效期超过 CA 有效期限,ACM 私有 CA 将无法颁发私有证书。如果 CA 的有效期短于 13 个月,则通过 ACM 控制台请求私有证书时会收到“失败”错误提示。

要解决此错误,请使用 issueCertificate API 请求有效期较短的私有证书。然后,将证书导入 ACM 以用于集成服务

解决方法

使用 issueCertificate API 颁发有效期短于 CA 有效期的新私有证书

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

使用 issue-certificate 命令颁发到期日短于 CA 有效期的私有证书:

aws acm-pca issue-certificate --certificate-authority-arn arn:aws:acm-pca:us-west-2:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012 --csr file://cert_1.csr --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS" --idempotency-token 1234

注意:您必须为私有证书生成自己的 CSR 和私有密钥。

从 ACM PCA 获取私有证书正文和链,然后将其导入 ACM

1.    使用 get-certificate 命令以获取私有证书的正文和链:

aws acm-pca get-certificate \
--certificate-authority-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012 \
--certificate-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012/\
certificate/6707447683a9b7f4055627ffd55cebcc \
--output text

get-certificate 命令将会输出采用 base64 编码的 PEM 格式证书和证书链:

-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----

2.    使用以下命令将证书正文和证书链保存为 .pem 文件:

证书链:

aws acm-pca get-certificate --certificate-authority-arn  arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012 --certificate-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/66506378eb4e296c59b41bbb7b8dd068 --output text --query CertificateChain > certchain.pem

证书正文:

aws acm-pca get-certificate --certificate-authority-arn  arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012 --certificate-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/66506378eb4e296c59b41bbb7b8dd068 --output text --query Certificate > certfile.pem

3.    要将私有证书用于集成服务,请按照说明使用 import-certificate 命令导入证书

注意:请将 certfile.pem, privately.key,certchain.pem 替换为您的文件名。

aws acm import-certificate --certificate fileb://certfile.pem --private-key file://privatekey.key --certificate-chain file://certchain.pem

这篇文章对您有帮助吗?


您是否需要账单或技术支持?