使用openssl将pfx转换为pem

我从X509证书生成器生成client_ssl.pfx文件。

如何使用opensslclient_ssl.pfx获取root.pemclient_ssl.pem

您可以使用OpenSSL命令行工具。 以下命令应该做的伎俩

openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts 

如果你想要你的文件被密码保护等,那么还有其他的select。

你可以在这里阅读整个文档。

在Linux上做这件事的另一个观点是…这里是如何做到这一点,使得生成的单个文件包含解密后的私钥,这样HAProxy就可以在不提示你input密码的情况下使用它。

 openssl pkcs12 -in file.pfx -out file.pem -nodes 

然后您可以configurationHAProxy使用file.pem文件。


这是以前版本的编辑,我有这些多个步骤,直到我意识到-nodes选项只是绕过私钥encryption。 但是我要把它留在这里,因为它可能只是帮助教学。

 openssl pkcs12 -in file.pfx -out file.nokey.pem -nokeys openssl pkcs12 -in file.pfx -out file.withkey.pem openssl rsa -in file.withkey.pem -out file.key cat file.nokey.pem file.key > file.combo.pem 
  1. 第一步提示您input密码以打开PFX。
  2. 第二步提示你,另外还为密钥组成一个密码。
  3. 第三步提示你input你刚刚制作的密码来存储解密。
  4. 第四把这一切放在一起。

然后,您可以configurationHAProxy以使用file.combo.pem文件。

之所以需要2个单独的步骤,指出使用密钥的文件和没有使用密钥的文件,是因为如果您有一个同时具有encryption和解密密钥的文件,则类似于HAProxy的文件仍会提示您在input密码时它使用它。