如何将证书从 MMC 导出为 PFX 文件?

如何将证书从 MMC 导出为 PFX 文件?

我正在尝试通过以下步骤更改 Comodo 代码签名证书的 KeySpec 属性本指南指南中提到将证书文件导入 MMC,然后稍后再次导出。但是,我似乎没有导出为 PFX 文件的选项。我已经有一个 PFX 文件;我可以成功导入它,但是当我导出时,该选项变灰/禁用。

pfx 已禁用

我需要做什么才能启用此导出选项?

答案1

证书管理单元确实不喜欢导出 PFX 证书,但 PowerShell 很乐意这样做。您可以使用Export-PfxCertificate执行以下命令:

  1. cd cert:\在 PowerShell 提示符下键入内容,转到证书伪驱动器。
  2. 根据证书所在的位置键入cd CurrentUser或。您可能需要以管理员身份启动 PowerShell 来导出机器证书。cd LocalMachine
  3. cd进入适当的存储(adir可能会有帮助)。MMC 中的个人存储My在这里被调用。
  4. 用于dir识别哪个ID对应您想要的证书。
  5. 键入此命令将其导出为带有密码的 PFX:

    Export-PfxCertificate -Cert .\LONGSTRINGOFHEX -FilePath 'C:\path\to\outfile.pfx' -Password (ConvertTo-SecureString -String 'password' -AsPlainText -Force)
    

    LONGSTRINGOFHEX应替换为您的证书 ID。幸运的是,您可以使用制表符补全功能。

一旦执行该命令,您就会获得一个受您提供的密码保护的 PFX 证书。如果没有密码,PowerShell 拒绝导出证书的私钥,并且密码不能为空。尽管如此,您的 PFX 还是被导出了。

答案2

我的问题是,我在一台机器上创建了 CSR 文件,然后尝试在另一台机器上创建 pfx 文件(Windows 10 昨晚进行了更新,将我锁定在第一台机器之外)。CSR 和 pfx 文件都需要在同一台机器上创建。

答案3

如果您将证书导入 WebHosting 存储,则无法导出私钥。将其移动到个人存储,您将能够导出为 PFX。我能够在 Windows 2012R2 中执行此操作,而无需转到命令行并使用 Export-PfxCertificate(这很麻烦,因为我无法找出证书的 ID 来拯救我的生命)。

答案4

导出 .P7B 文件一次。然后返回并再次尝试导出证书。下次将启用 .PFX 导出。

相关内容