如何从SSL证书创建PEM文件?
这些是我有可用的文件:
.crt server.csr server.key
如何从SSL证书创建PEM文件?
这些是我有可用的文件:
.crt server.csr server.key
当前回答
我观察到的是:如果您使用openssl来生成证书,它会捕获crt文件中的文本部分和base64证书部分。严格的pem格式表示(wiki定义)文件应该以BEGIN和end开始和结束。
.pem -(隐私增强邮件)Base64编码DER证书, 附上证书”——开始——“和”——之间结束 证书——”
因此,对于一些库(我在java中遇到过这种情况),期望严格的pem格式,生成的crt会作为“无效的pem格式”验证失败。
即使您使用BEGIN/END CERTIFICATE复制或grep这些行,并将其粘贴到cert.pem文件中,它也应该可以工作。
以下是我所做的,不是很干净,但对我来说很有用,基本上它从BEGIN行开始过滤文本:
grep -A 1000 BEGIN cert.crt > cert.pem .pem
其他回答
我试着从godaddy转到应用引擎。诀窍是用这句话:
openssl req -new -newkey rsa:2048 -nodes -keyout name.unencrypted.priv.key -out name.csr
完全是一样的,但是用我的域名代替名字(这并不重要)
我回答了所有关于常见名称/组织www.name.com的问题
然后我打开csr,复制它,把它粘贴到go daddy中,然后下载它,解压缩它,用终端导航到解压缩的文件夹,输入:
cat otherfilegodaddygivesyou.crt gd_bundle-g2-g1.crt > name.crt
然后我使用了来自谷歌应用自定义域SSL的麻烦的这些说明,它们是:
openssl rsa -in privateKey.key -text > private.pem
openssl x509 -inform PEM -in www_mydomain_com.crt > public.pem
完全一样,只是不是privateKey。我使用的密钥name.unencrypted.priv。键,而不是www_mydomain_com。我用的是name。crt
然后我上传了公众。pem到管理控制台获取“pem编码的X.509证书”,并上传私有文件。pem为“未加密的pem编码的RSA私钥”。
.. 这最终奏效了。
pem文件包含证书和私钥。这取决于你的证书/密钥的格式,但可能就像这样简单:
cat server.crt server.key > server.pem
此外,如果你不希望它要求一个密码短语,那么需要运行以下命令:
openssl rsa -in server.key -out server.key
我观察到的是:如果您使用openssl来生成证书,它会捕获crt文件中的文本部分和base64证书部分。严格的pem格式表示(wiki定义)文件应该以BEGIN和end开始和结束。
.pem -(隐私增强邮件)Base64编码DER证书, 附上证书”——开始——“和”——之间结束 证书——”
因此,对于一些库(我在java中遇到过这种情况),期望严格的pem格式,生成的crt会作为“无效的pem格式”验证失败。
即使您使用BEGIN/END CERTIFICATE复制或grep这些行,并将其粘贴到cert.pem文件中,它也应该可以工作。
以下是我所做的,不是很干净,但对我来说很有用,基本上它从BEGIN行开始过滤文本:
grep -A 1000 BEGIN cert.crt > cert.pem .pem
我尝试上传GoDaddy证书到AWS失败了几次,但最后还是很简单。不需要将任何东西转换为.pem。你只需要确保在chain参数中包含GoDaddy捆绑包证书。
aws iam upload-server-certificate
--server-certificate-name mycert
--certificate-body file://try2/40271b1b25236fd1.crt
--private-key file://server.key
--path /cloudfront/production/
--certificate-chain file://try2/gdig2_bundle.crt
并删除你以前失败的上传你可以做
aws iam delete-server-certificate --server-certificate-name mypreviouscert