当 AWS Private CA 有效期低于 13 个月时,如何使用 ACM 控制台请求私有证书?

2 分钟阅读
0

我请求了 AWS Certificate Manager (ACM) 私有证书,但收到了“失败”错误或证书状态为“失败”。

简短描述

您可以使用 ACM 控制台来颁发和管理证书,证书的有效期为 395 天(13 个月)。如果您使用 ACM 控制台请求的证书的有效期不是正好 395 天,则会收到“失败”错误。

要解决此错误,请使用 IssueCertificate API(AWS Private Certificate Authority 的一项功能)来请求有效期较短的私有证书。然后,将证书导入 ACM 以用于集成服务

**注意:**如果您使用 IssueCertificate API 请求证书,则此证书在 ACM 控制台中不可见。

解决方法

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

**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请参阅对 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 fileb://cert_1.csr --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS" --idempotency-token 1234

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

从 AWS Private CA 获取私有证书正文和证书链,并将它们导入 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 命令将证书导入到 ACM

    **注意:**将 certfile.pem、privately.keycertchain.pem 替换为您的文件名。

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

已导入证书的 Amazon 资源名称 (ARN) 将成功返回。

相关信息

如何解决颁发新的 ACM-PCA 证书时出现的错误?

为什么我无法将第三方公共 SSL/TLS 证书导入 ACM?

颁发私有终端实体证书