aws iam upload-server-certificate MalformedCertificate 无法解析证书。 OSX

aws iam upload-server-certificate MalformedCertificate Unable to parse certificate. OSX

我不断收到此错误,但没有更多详细信息。

首先,我通过以下命令验证了密钥与我使用的 crt 匹配:

$ openssl x509 -noout -modulus -in server.crt | openssl md5
$ openssl rsa -noout -modulus -in server.key | openssl md5

找到here

我正在使用命令:

aws iam upload-server-certificate --server-certificate-name server --certificate-body /path/to/cert.crtt --private-key /path/to/key.key  --certificate-chain /path/to/bundle.ca-bundle --path /cloudfront/production/

我使用找到的命令生成了我的 csr 和密钥 here

openssl genrsa -out ~/domain.com.ssl/domain.com.key 2048

然后整个过程再用命令

openssl req -new -key private-key.pem 2048 -out csr.pem

我一直收到相同的错误消息

A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.

这个问题:AWS CloudFront SSL Certificate - MalformedCertificate error 说我需要一个 file:// 作为 dirs 的前缀,但我在 osx。 (尽管我确实尝试过)

我也试过将文件扩展名更改为 .pem

有没有人有什么想法?

首先检查以确保您的 .crt 文件是 PEM 格式。它应该以 -----BEGIN CERTIFICATE----- 开头并以 -----END CERTIFICATE----- 结尾。

如果没有,您可以执行此操作以获取证书文本:

cat server.crt | openssl x509 > server.pem

如果文件不是 PEM 格式而是 DER 格式,您可以使用以下方法转换它:

openssl x509 -inform DER -in server.crt -out server.pem -text