如何将 SSL 证书上传和导入到 AWS Identity and Access Management (IAM)?

我们建议您将 SSL 证书上传到 AWS Certificate Manager (ACM),但如果 ACM 或相关的 AWS 资源不支持您使用的证书算法和密钥大小,那么您还可以使用 AWS 命令行界面 (AWS CLI) 将 SSL 证书上传到 IAM。

将 SSL 证书导入到 IAM 之前:

  • 证书在上传时必须是有效的。您无法在证书有效期开始之前或到期之后上传证书。
  • 证书、私钥和证书链必须采用 PEM 编码。有关更多信息,请参阅使用服务器证书 >> 故障排除

确认您的证书符合这些标准后,确保证书链的顺序正确,然后上传证书。

确认证书链的顺序正确

证书链必须从证书颁发机构 (CA) 生成的证书开始,并以 CA 的根证书结束。如果证书链并非正确的顺序,您可能会收到以下错误消息:“An error occurred (MalformedCertificate) when calling the UploadServerCertificate operation: Unable to validate certificate chain. The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order.The index within the chain of the invalid certificate is: -1(调用 UploadServerCertificate 操作时发生错误 (MalformedCertificate):无法验证证书链。证书链必须从中间签名证书开始,按顺序后跟任何中介。无效证书链内的索引为:-1)”

证书链必须以“-----BEGIN CERTIFICATE-----”开头并以“-----END CERTIFICATE-----”结尾。请参阅以下 PEM 编码证书链示例:

-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Base64-encoded Root certificate
-----END CERTIFICATE-----

注意:确保证书不包含前导或尾随空格。

上传证书

通过运行以下命令上传证书:

$ aws iam upload-server-certificate --server-certificate-name ExampleCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem

注意:将文件名和 ExampleCertificate 替换为您上传的文件和证书。有关更多信息,请参阅 upload-server-certificate

证书上传后,该命令返回关于已上传证书的元数据,包括证书的 Amazon 资源名称 (ARN)、友好名称、标识符 (ID) 和到期日期。通过运行以下命令,您可以查看上传的证书:

aws iam list-server-certificates

注意:如果您上传的服务器证书要与 Amazon CloudFront 一起使用,则必须使用 --path 指定路径。路径必须以 /cloudfront 开头,并且路径必须包括尾部斜线,例如 /cloudfront/test/。有关更多信息,请参阅如何确保可从 AWS 控制台访问我上传的用于 Amazon CloudFront 的证书?


此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2018 年 5 月 11 日