Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
当我在 AWS Private CA 控制台中安装从属 CA 证书时,为什么看不到我的共享 CA?
我无法在 AWS Private CA 控制台中查看共享的 AWS Private Certificate Authority。或者,当我安装从属 CA(subordinate certificate authority,证书颁发机构)时,会收到以下错误消息: “找不到合适的私有 CA”。
解决方法
要在 AWS Private CA 控制台中查找共享的 AWS Private CA,请签署 AWS Private CA 的 CSR(certificate signing request,证书签名请求)。然后,将签名的 CA 证书导入 AWS Private CA。
此解决方法使用以下配置:
- AWS 账户 A 拥有一个私有 CA (PCA-A)。
- AWS 账户 B 拥有另一个私有 CA (PCA-B)。
- PCA-A 是 PCA-B 的父 CA。
- 账户 A 使用 AWS Resource Access Manager (AWS RAM) 与账户 B 共享 PCA-A。
- 账户 B 设置了 PCA-B。
从 AWS Private CA 获取 CSR
要从 AWS Private CA 获取 CSR,请使用 AWS 命令行界面 (AWS CLI) 或 AWS Private CA 控制台。
AWS CLI
注意:如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
运行 get-certificate-authority-csr 命令:
$ aws acm-pca get-certificate-authority-csr \ --certificate-authority ${ARN_PCA_B} \ --output text \ --no-cli-pager
**注意:**将 ${ARN_PCA_B} 替换为您的证书的 ARN。
AWS Private CA 控制台
完成以下步骤:
- 打开 AWS Private CA 控制台。
- 选择您的从属 CA。
- 选择 Actions(操作),然后选择 Install CA Certificate(安装 CA 证书)。
- 要获取 CSR,请选择 External private CA(外部私有 CA)。CSR 是位于 BEGIN CERTIFICATE REQUEST 和 END CERTIFICATE REQUEST 之间的文本。
- 将 CSR 另存为文本文件 (csr.txt)。
使用父 CA 签署 CSR 以创建 CA 证书
使用您的父 CA 签署私有 CA 的 CSR。您必须指定一个模板。如果您未指定模板,则会获得 CA 无法使用的 EE 证书 (CA:FALSE)。有关更多信息,请参阅了解证书模板。
要签署 CA:TRUE 的证书,请为从属 CA 指定模板,然后运行以下命令:
$ ARN_CA_TEMPLATE=arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1 $ aws acm-pca issue-certificate \ --certificate-authority-arn ${ARN_PCA_A} \ --csr fileb://csr.txt \ --signing-algorithm "SHA256WITHRSA" \ --validity Value=1825,Type="DAYS" \ --template-arn ${ARN_CA_TEMPLATE}
在前面的命令中,请将以下值替换为您的值:
- 将 arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1 替换为您的 CA 模板。
- 将 ${ARN_PCA_A} 替换为父 CA 的 ARN。
- 将 csr.txt 替换为您的 CSR 文本文件。
**注意:**如果您使用 AWS CLI 版本 1.6.2 或更早版本,请在录入输入文件时使用 file:// 前缀。 - 将 SHA256WITHRSA 替换为您的签名算法。
- 将 1825 替换为您希望证书有效的天数。
- 将 ${ARN_CA_TEMPLATE} 替换为您的模板 ARN。
**注意:**要使用账户 B 签署 CSR,您可能需要额外的权限。使用账户 A 的 AWS RAM 托管权限来添加 AWSRAMSubordinateCACertificatePathLen0IssuanceCertificateAuthority。
签署 CSR 后,您将收到以下回复:
{ "CertificateArn": "${ARN_PCA_A}/certificate/${SERIAL_of_Cert}" }
记下签名的 CA 证书的 ARN,以便在下一步中使用。
获取 CA 证书
运行以下命令:
$ aws acm-pca get-certificate \ --certificate-authority-arn ${ARN_PCA_A} \ --certificate-arn ${ARN_PCA_A}/certificate/${SERIAL_of_Cert} \ --output text \ --no-cli-pager
**注意:**将 $(ARN_PCA_A} 替换为您的父 CA 的 ARN,将 ${ARN_PCA_A}/certificate/${SERIAL-of-Cert} 替换为已签名的 CA 证书的 ARN。
您将收到以下证书正文和证书链:
-----BEGIN CERTIFICATE----- MIIDMDCCAhigAwIBAgIRAOn36lnqs4DTjbdZK3GoRLwwDQYJKoZIhvcNAQELBQAw IDEeMBwGA1UEAwwVbXktUk9PVC1DQS0yMDI0LTA1LTExMB4XDTI0MDUxMTA1MjMz N1oXDTI0MDUxNzA2MjMzN1owHzEdMBsGA1UEAwwUbXktU1VCLUNBLTIwMjQtMDUt (SNIP) q02OPtAOrFyWSdrc+5LMZaZzeo6xe0Mw2mJHU8FKl66V2CE+MBbUdwqWN1kOWdTs U+FhS5IV4KeST0X+lfYh3SkR+0dZBU5arV13w5MATgEYc1D9GajC25MT7Zy4t/NP zddAJA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDTCCAfWgAwIBAgIRAMQmowipJbQz3jok7kFkPSswDQYJKoZIhvcNAQELBQAw IDEeMBwGA1UEAwwVbXktUk9PVC1DQS0yMDI0LTA1LTExMB4XDTI0MDUxMTA1MTkx OVoXDTI0MDUxODA2MTkxOVowIDEeMBwGA1UEAwwVbXktUk9PVC1DQS0yMDI0LTA1 (SNIP) 2wZ6JqUvN/FyWVKTfyNay/KbQkYQZrclrb7N+zmOJ4LTQnI2firIDYqcqmduYuX9 U8F3MFXrVJFECyn5t+4Qxc/BWJPVAoHnEns+jL5tOJfRKblKHs9VAe02gUcr5/p3 qSy6CwOSAA6fkmZCkVjVvYo= -----END CERTIFICATE-----
证书正文位于第一个 BEGIN CERTIFICATE 和第一个 END CERTIFICATE 之间。证书链位于第二个 BEGIN CERTIFICATE 和第二个 END CERTIFICATE 之间。将证书正文另存为名为 cert.txt 的文本文件。将证书链另存为名为 cert_chain.txt 的文本文件。
将签名的 CA 证书和证书链导入并安装到 CA
要安装已签名的证书,您可以使用 AWS CLI 或 AWS Private CA 控制台。
AWS CLI
运行以下命令并附上证书正文和证书链:
$ aws acm-pca import-certificate-authority-certificate \ --certificate-authority-arn ${ARN_PCA_B} \ --certificate fileb://cert.txt \ --certificate-chain fileb://cert_chain.txt
**注意:**将 ${ARN_PCA_B} 替换为您的私有 CA 的 ARN。
AWS Private CA 控制台
完成以下步骤:
- 打开 AWS Private CA 控制台。
- 选择您的从属 CA。
- 选择 Actions(操作),然后选择 Install CA Certificate(安装 CA 证书)。
- 选择 External private CA(外部私有 CA)。
- 在 Import a signed certificate authority (CA)(导入签名证书颁发机构 (CA))下,输入证书正文和证书链值。
从属 CA 的状态现在为 Active(有效)。
- 语言
- 中文 (简体)

相关内容
AWS 官方已更新 1 年前