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

时间:2016-01-06 21:27:55

标签: macos amazon-web-services openssl amazon-cloudfront aws-cli

我不断收到此错误,也没有更多细节。

首先,我验证了密钥与我正在使用的命令匹配:

$ 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/

我使用找到here

的命令生成了我的csr和密钥
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说我需要一个文件://作为dirs的前缀,但我在osx上。 (尽管我确实试过了)

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

有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

检查以确保您的.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