将CERT/PEM证书转换为PFX证书

ben*_*wey 162 certificate

我已经看到了几个关于如何将PFX转换为证书文件的问题,但我需要采取另一种方式.

我有两个文件:

bob_cert.cert

bob_key.pem

我想将它们转换为单个.pfx文件.有没有这样做的工具?

Fra*_*cis 310

openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx
Run Code Online (Sandbox Code Playgroud)

  • Windows版本的OpenSSL可从http://www.slproweb.com/products/Win32OpenSSL.html获得.刚尝试过,它为此目的正常工作. (9认同)
  • 如何在C#中以编程方式实现相同的功能? (6认同)
  • 我正在使用 git bash 并且该命令挂起。事实证明我的证书需要密码。在这种情况下,您必须在命令前添加“winpty”。所以在 git bash 中它看起来像:[winpty openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx]。这对于运行环境可能是相同的。 (5认同)
  • 对于那些在运行此命令时遇到问题的人,您可以使用 git bash 来运行它。 (4认同)
  • 一些新增内容:`-name"友好名称"`设置名称(例如,它将出现在Windows的证书列表中),`-certfile cacert.pem`可用于添加CA证书和生成整个链的`.pfx`文件. (3认同)
  • 您能指出这些例子的方向吗?我似乎找不到任何东西。 (2认同)
  • https://www.sslshopper.com/article-most-common-openssl-commands.html上的常见OpenSSL命令列表 (2认同)

IT *_*DAV 19

以下是在没有第三方工具的情况下在Windows上执行此操作的方法:

  1. 将证书导入证书存储区.在Windows资源管理器中,在上下文菜单中选择"安装证书 在此输入图像描述 按照向导操作并接受默认选项"本地用户"和"自动".

  2. 在证书库中找到您的证书.在Windows 10上运行"管理用户证书"MMC.在Windows 2013上,MMC称为"证书".在Windows 10上,默认情况下,您的证书应位于"个人" - >"证书"节点下.

  3. 出口证明.在上下文菜单中选择"导出..."菜单: 在此输入图像描述

    选择"是,导出私钥": 在此输入图像描述

    在这种情况下,您将看到.PFX选项已启用: 在此输入图像描述

    指定私钥的密码.

  • 在第2步中,我的证书不是"个人" - >"证书".它出现在"其他人" - >"证书"中,导出时,"个人信息交换(PFX)"显示为禁用.你知道如何启用它吗? (11认同)
  • 您无法导入PEM. (11认同)
  • OP的问题是如何在私钥未包含在证书文件中时导入它,但是你有两个文件:一个crt和一个pem(pem包含私钥).在这种情况下,这个答案不起作用. (6认同)
  • 您需要先将 .pem 重命名为 .cer,以便 Windows 将该文件识别为证书/私钥文件。这两个文件扩展名都可能包含 ASCII 铠装纯文本或 Base64/DER 编码二进制格式的证书和/或密钥,但您可以将 cer 文件与 Windows 内置实用程序一起使用。 (2认同)

小智 13

我从.key和.pem文件创建了.pfx文件.

像这样 openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

这不是直接的答案,但仍然可能有助于其他人.

  • 这与弗朗西斯 2009 年的回答有何不同?本质上是相同的命令。 (6认同)

EBl*_*ake 6

如果您有makecert.exeWindows 机器上生成的自签名证书,您将获得两个文件:cert.pvkcert.cer. 这些可以转换为 pfx 使用pvk2pfx

pvk2pfx在与makecert(例如C:\Program Files (x86)\Windows Kits\10\bin\x86或类似的)相同的位置找到

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
Run Code Online (Sandbox Code Playgroud)