【问题标题】:Convert a CERT/PEM certificate to a PFX certificate将 CERT/PEM 证书转换为 PFX 证书
【发布时间】:2010-10-22 23:03:40
【问题描述】:

我看到了几个关于如何将 PFX 转换为证书文件的问题,但我需要另辟蹊径。

我有两个文件:

bob_cert.cert

bob_key.pem

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

【问题讨论】:

标签: certificate


【解决方案1】:
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx

【讨论】:

  • 如何在 C# 中以编程方式实现相同的功能?
  • 你能给我指出这些例子的方向吗?我似乎找不到任何东西。
  • OpenSSL 的 Windows 版本可在 slproweb.com/products/Win32OpenSSL.html 获得。刚刚试了一下,它可以正常工作。
  • 一些补充:-name "friendly name" 设置名称(例如会出现在 Windows 的证书列表中),-certfile cacert.pem 可用于添加 CA 证书并生成带有整个链的.pfx 文件。
【解决方案2】:

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

点赞openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

这不是直接的答案,但仍然可能对其他人有所帮助。

【讨论】:

    【解决方案3】:

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

    1. 将证书导入证书存储区。 在 Windows 资源管理器的上下文菜单中选择“安装证书”。 按照向导并接受默认选项“本地用户”和“自动”。

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

    3. 导出证书。 在上下文菜单中选择“导出...”菜单:

      选择“是,导出私钥”:

      您将看到在这种情况下启用了 .PFX 选项:

      指定私钥的密码。

    【讨论】:

    • 在第 2 步中,我的证书不是“个人”->“证书”。它出现在“其他人”->“证书”中,并且在导出时,“个人信息交换 (PFX)”显示为禁用。你知道如何启用它吗?
    • 您无法导入 PEM。
    • 您需要先将 .pem 重命名为 .cer,以便 Windows 将文件识别为证书/私钥文件。两个文件扩展名都可能包含 ASCII 铠装明文或 Base64/DER 编码二进制格式的证书和/或密钥,但您可以将 cer 文件与 Windows 内置实用程序一起使用。
    • OP 的问题是,当证书文件中不包含私钥但您有两个文件时如何导入它:crt 和 pem(包含私钥的 pem)。这个答案在这种情况下不起作用。
    • @Bigeyes 我认为这是更新后的链接:digicert.com/kb/util/…
    【解决方案4】:

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

    pvk2pfxmakecert 位于同一位置(例如 C:\Program Files (x86)\Windows Kits\10\bin\x86 或类似名称)

    pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      • 2011-03-07
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多