如何使用 certutil 将 CER 文件转换为 PFX

如何使用 certutil 将 CER 文件转换为 PFX

我有来自 GoDaddy 的 SSL 证书,格式如下

  • 阴极射线管
  • 质子交换膜
  • P7B

我还将 CSR 和私钥下载为文本文件。

但是,我需要将它们转换为 PFX 格式,以便在 Azure 应用服务上安装证书。我之前尝试过 OpenSSL,但似乎 Azure 不再识别加密方法(我将单独发布这些尝试的详细信息)。

我之前曾使用 certutil 程序成功将 .CER 格式的 SSL 证书转换为 .PFX 格式,语法如下

certutil -MergePFX mycert.cer mycert.pfx

正如帖子的回答中所建议的那样https://stackoverflow.com/q/9971464/14499007(请注意,我之前已将 .CRT 文件转换为 .CER 文件)。

但是,当我尝试使用新的 SSL 证书再次执行此操作时,我收到错误

CertUtil: -MergePFX command FAILED: 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND)
CertUtil: The system cannot find the file specified.

我的证书明确地在目录中 - 我实际上使用制表符补全来输入名称。具体来说,我可以运行命令

certutil -dump mycert.cer

并且文件被转储到屏幕上。

我知道人们在使用 CertUtil 的其他用途时也遇到过类似的错误,所以我认为这可能是程序的一个特殊怪癖,需要提示它识别它所在的目录。

我尝试输入文件的完整路径,但出现相同的错误。

可能是我甚至没有使用正确的方法(因为我之前没有使用过 certutil)。

我将非常感谢任何帮助,因为我以为我已经找到了一种生成 PFX 文件的便捷方法(结果证明这是一个过于复杂的过程),但却被这个神秘的错误难住了!

答案1

我刚刚发现了其中缺失的部分:必须将私钥放在同一个文件夹中,并将其重命名为 mycert.key(其中 mycert 是 CER 文件的名称)。这是无法找到的文件。

在这种情况下,私钥已从 GoDaddy 作为文本文件下载。

相关内容