Answers:
在Linux上执行此操作的另一个角度...这是如何执行操作,以使生成的单个文件包含已解密的私钥,以便类似HAProxy的东西可以在不提示您输入口令的情况下使用它。
openssl pkcs12 -in file.pfx -out file.pem -nodes
然后,可以将HAProxy配置为使用file.pem文件。
这是来自先前版本的EDIT,在该版本中,我执行了多个步骤,直到意识到-nodes选项仅绕过了私钥加密。但我将其留在这里,因为它可能对教学有所帮助。
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
然后,您可以将HAProxy配置为使用file.combo.pem文件。
之所以需要2个单独的步骤,分别用一个密钥和一个密钥来指示一个文件,是因为如果您有一个既具有加密密钥又具有解密密钥的文件,则HAProxy之类的内容仍会提示您输入密码它使用它。
尽管其他答案是正确的并且经过了详尽的解释,但我发现在理解它们时仍存在一些困难。这是我使用的方法(从此处获取):
openssl pkcs12 -in filename.pfx -out cert.pem -nodes
将私钥从PFX提取到PEM文件:
openssl pkcs12 -in filename.pfx -nocerts -out key.pem
导出证书(仅包括公共密钥):
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
从提取的私钥(可选)中删除密码(释义):
openssl rsa -in key.pem -out server.key