当前位置: 首页 > 知识库问答 >
问题:

使用openssl将pfx转换为pem

王景山
2023-03-14

如何生成<代码>。pem使用OpenSSL从PFX文件中获取CA证书和客户端证书。

共有3个答案

杨征
2023-03-14

尽管其他答案都是正确的,而且解释得很透彻,但我发现理解它们有些困难。以下是我使用的方法(摘自此处):

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
钱华晖
2023-03-14

您可以使用OpenSSL命令行工具。以下命令应该可以解决问题

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

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

如果你想你的文件是密码保护等,那么有额外的选择。

您可以在此处阅读整个文档。

单于骁
2023-03-14

在Linux上执行此操作的另一种观点...这里是如何执行此操作,以便生成的单个文件包含解密的私钥,以便HAProxy之类的东西可以使用它而不会提示您输入密码。

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

然后可以配置HAProxy使用file.pem文件。

这是以前版本的编辑,我有这么多步骤,直到我意识到-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
  1. 第一步提示您输入密码以打开PFX。
  2. 第二步提示您输入that plus,并为密钥创建一个密码。
  3. 第三步提示您输入您刚刚制作的密码以存储解密。
  4. 第4个将它们放在一个文件中。

然后可以配置HAProxy使用file.combo。pem文件。

之所以需要两个单独的步骤,即一个文件有密钥,另一个文件没有密钥,是因为如果你有一个文件既有加密的密钥又有解密的密钥,类似HAProxy的东西在使用它时仍然会提示你输入密码。

 类似资料:
  • 我一直在尝试使用openssl将.crt证书转换为.pem 无法加载证书 1760:错误:0906D06C:PEM例程:PEM_READ_BIO:没有起始行:.\CRYPTO\PEM\PEM_LIB.C:703:需要:受信任的证书 我尝试过访问https://support.ssl.com/knowledgebase/article/view/19/0/der-vs-crt-vs-cer-vs-p

  • 我在Windows7上有OpenSSL x64,这是我从Google代码上的OpenSSL-for Windows下载的。我正试图跑: 但我有个错误。 如何使用OpenSSL从PKCS#12存储中提取PEM中的证书?

  • 问题内容: 我有Java Web服务,并已使用Java Keytool创建的jks文件实现了X.509。 为了在客户端和服务器之间建立信任,我将服务器证书导入到客户端,并将客户端证书导入到服务器。 将服务器公钥(证书)导入客户端。 将客户端公钥(证书)导入服务器 Service和Client都是用Java编写的,并且运行良好。现在我有一个.NET客户端,我的理解是,如果我向.NET客户端(即cli

  • 下载test.cer的链接单击下载

  • 问题内容: 我正在尝试通过openssl将.cer文件转换为.pem,命令是: 那就是我得到的错误: 我究竟做错了什么? 问题答案: 我也有这个问题。只需将CER重命名为PEM就足够了:)

  • 我需要支持Keytool的相同功能。exe通过使用KeyTool类编程将java密钥库转换为PFX文件。由于项目需求的限制,我无法从我的应用程序中使用命令提示符进程,因此通过编程,我也无法打开命令进程。 例如。 C:\keytool-importkeystore-srckeystore。k eystore-srcstoretype JKS-destkeystore-thekeystore。pfx-