如何从SSL证书创建PEM文件?

这些是我有可用的文件:

.crt server.csr server.key


当前回答

您的密钥可能已经是PEM格式,但只是以.crt或.key命名。

如果文件的内容以-----BEGIN开头,你可以在文本编辑器中阅读它:

该文件使用base64,它在ASCII中可读,而不是二进制格式。证书已经是PEM格式。只需将扩展名更改为.pem。

如果文件是二进制文件:

对于服务器。Crt,你会用

openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem

为服务器。密钥,使用openssl rsa代替openssl x509。

服务器。Key可能是您的私钥,.crt文件是返回的、签名的x509证书。

如果这是针对Web服务器,并且您不能指定加载单独的私钥和公钥:

您可能需要连接这两个文件。对于这种用途:

cat server.crt server.key > server.includesprivatekey.pem

我建议使用“inclesprivatekey”来命名文件,以帮助您管理与此文件保持的权限。

其他回答

pem文件包含证书和私钥。这取决于你的证书/密钥的格式,但可能就像这样简单:

cat server.crt server.key > server.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文件的最佳选项

openssl pkcs12 -in MyPushApp.p12 -out MyPushApp.pem -nodes -clcerts

打开终端。 转到证书所在的文件夹。 执行以下命令,用证书替换名称。

openssl pkcs12 -in YOUR_CERTIFICATE. inp12 -out YOUR_CERTIFICATE. outPem -nodes -clcerts

希望它能奏效!!

您的密钥可能已经是PEM格式,但只是以.crt或.key命名。

如果文件的内容以-----BEGIN开头,你可以在文本编辑器中阅读它:

该文件使用base64,它在ASCII中可读,而不是二进制格式。证书已经是PEM格式。只需将扩展名更改为.pem。

如果文件是二进制文件:

对于服务器。Crt,你会用

openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem

为服务器。密钥,使用openssl rsa代替openssl x509。

服务器。Key可能是您的私钥,.crt文件是返回的、签名的x509证书。

如果这是针对Web服务器,并且您不能指定加载单独的私钥和公钥:

您可能需要连接这两个文件。对于这种用途:

cat server.crt server.key > server.includesprivatekey.pem

我建议使用“inclesprivatekey”来命名文件,以帮助您管理与此文件保持的权限。