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

这些是我有可用的文件:

.crt server.csr server.key


当前回答

这是创建.pem文件的最佳选项

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

其他回答

我需要为AWS ELB这样做。在被对话框打了很多次之后,这终于对我有用了:

openssl rsa -in server.key -text > private.pem
openssl x509 -inform PEM -in server.crt > public.pem

谢谢NCZ

编辑:正如@floatingrock所说

使用AWS时,不要忘记在文件名前加上file://。它看起来是这样的:

 aws iam upload-server-certificate --server-certificate-name blah --certificate-body file://path/to/server.crt --private-key file://path/to/private.key --path /cloudfront/static/

http://docs.aws.amazon.com/cli/latest/reference/iam/upload-server-certificate.html

这是创建.pem文件的最佳选项

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

在Windows上,你可以使用certutil工具:

certutil -encode server.crt cert.pem
certutil -encode server.key key.pem

你可以在PowerShell中将两个文件合并为一个文件,如下所示:

Get-Content cert.pem, key.pem | Set-Content cert-and-key.pem

在CMD中,像这样:

copy cert.pem+key.pem cert-and-key.pem /b

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

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

希望它能奏效!!

此外,如果你不希望它要求一个密码短语,那么需要运行以下命令:

openssl rsa -in server.key -out server.key