在 Windows 上使用私钥导出 SSL 证书

Posted

技术标签:

【中文标题】在 Windows 上使用私钥导出 SSL 证书【英文标题】:Exporting the SSL certificate with the private Key on windows 【发布时间】:2013-03-29 04:42:20 【问题描述】:

我正在为域名生成 SSL 证书。

我做了什么: 转到 IIS 管理 > 服务器证书并单击创建请求。这会生成一个 *.com 文件,其中包含我提交给 GoDaddy 的哈希值。 从 GoDaddy 我得到了一个包含两个文件的 zip:*.crt 和 *.p7b

我将证书导出到 *.cer 文件并将其上传到 Azure,但是当我尝试部署云项目时出现错误:

带有与 HTTPS 输入端点关联的指纹的证书 不包含私钥

在网上阅读了类似的问题后,我了解到我的 *.cer 文件不包含私钥。 我的问题是,无论我如何尝试将其导出为 *.PFX,证书导出向导中始终禁用 PFX 选项。

也不确定它是否相关,但是当我在 IIS 中单击完成证书请求并选择我从 GoDaddy 获得的证书时。我收到一个错误:

找不到与此关联的证书请求 证书文件。证书申请必须在 创建请求的计算机。

【问题讨论】:

【参考方案1】:

如果您不从同一台机器 em>

那是我的问题。我在两台不同的机器上完成了这两个步骤。

我必须创建一个新请求(在 IIS 中),转到 GoDaddy,重新输入我的证书,下载新证书,然后完成请求(在 IIS 中)。

【讨论】:

哈哈!两年后,我再次寻找这个答案,发现正确答案是我两年前给出的答案。想知道为什么我不能投票给我的答案...【参考方案2】:

结果证明这完全是愚蠢的,像往常一样被微软搞砸了。 为域创建证书的过程是需要在IIS中使用【创建证书请求】。 然后将创建的哈希发送到授权机构并使用 IIS 中的 [完整证书请求],您可以在其中提供授权机构给您的证书。这会将证书安装到您的本地 IIS 中

安装证书后,您需要右键单击它并导出到 *.PFX 文件。现在可以将 PFX 文件上传到 Azure 或任何其他托管...

如果 Microsoft 不确保搞砸,流程可能非常简单。

问题是当你点击[完成证书申请]时,文件打开对话框的文件类型是*.CER,但是这是错误的,因为你需要提供*.CRT!!!解决方法是将文件类型选择更改为所有文件*.*,并选择权威提供的*.CRT文件。

【讨论】:

以上是关于在 Windows 上使用私钥导出 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章

P12证书导出私钥

ActiveMQ配置ssl安全连接

使用私钥加入 SSL .crt 证书以用于 WCF 的 Net.Tcp 绑定

.NET 6学习笔记——SSL证书的导出和格式转换

kafka使用ssl加密和认证

从 .pfx 文件中提取证书和私钥文件