【问题标题】:No private key in SSL Certificate for IIS 6.0IIS 6.0 的 SSL 证书中没有私钥
【发布时间】:2012-07-20 18:42:52
【问题描述】:

我们在工作中使用 IIS 6.0 (Win2003 SP2),需要更新我们的 SSL 证书。 我使用 openssl 创建了一个证书请求。因此,我首先使用 openssl 创建了一个 2048 位密钥。我没有使用那个 certreq.txt 请求文件,因为它在我们使用的 CA 的网站上产生了格式错误。 同时该请求已被接受,我从我们组织的 CA 获得了一个 .pem 文件。到现在为止还挺好。我什至能够导入证书。但不幸的是,私钥现在丢失了。我认为,Windows(或 IIS)只是不知道在哪里寻找它。私钥当然存在于我用于创建请求的 *.key 文件中。

但是如何将密钥集成到证书中或使用它来制作 Windows/IIS?

【问题讨论】:

  • 投票迁移到 ServerFault。
  • 对不起,下次我会直接将此类问题发布到服务器故障。只是那一刻我没有想到......

标签: ssl iis-6 openssl certificate ssl-certificate


【解决方案1】:

您应该能够使用 OpenSSL 构建 PKCS#12 文件:

openssl pkcs12 -export -in cert.pem -inkey file.key -out cert.p12

然后,使用.p12 文件,同时导入证书及其私钥。

更多关于openssl的信息https://www.openssl.org/docs/apps/pkcs12.html

【讨论】:

【解决方案2】:

由于您正在运行 Windows Server,因此您可以利用 DigiCert 的免费实用程序 (http://www.digicert.com/util)。

如果您计划将 CSR 导入回 OpenSSL 并使用 Apache,则可以从 OpenSSL 创建 CSR。

否则,您将从 IIS 或运行 DigiCert 实用程序并单击“创建 CSR”选项发出 CSR 请求。一旦您有了新的 CSR,请将其提交给您的 CA,以便让他们颁发一个新证书,该证书将与 IIS 中的正确私钥相匹配。

收到新的证书文件后,使用实用程序上的“导入”功能将证书文件加载到本地 MMC。

最后一步是将 SSL 证书绑定到 IIS 控制台中站点的端口 443 连接。

如果您碰巧需要私钥,您可以使用“导出”功能创建一个包含您的域证书和私钥的 .key 文件或 PFX 文件。

某些防火墙设备需要 PFX 上的 PKCS#12 文件。如果是这样,将文件扩展名从 .pfx 重命名为 .p12

【讨论】:

  • 问题是:“我如何将密钥集成到证书中或使用它来制作 Windows/IIS?”。布鲁诺用 PFX/P12 命令给了他。 DigiCert 免费实用程序的信息应该是评论。您的大多数其他指令,例如绑定到端口 443,完全是题外话。我们称这些为“我也是”的答案。另见What is a “protected” question?
猜你喜欢
  • 2019-06-21
  • 2016-10-07
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多