我不断收到此错误,也没有更多细节。
首先,我验证了密钥与我正在使用的命令匹配:
$ 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
有没有人有任何想法?
答案 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