【问题标题】:IIS requires certificate to have exportable private keyIIS 要求证书具有可导出的私钥
【发布时间】:2020-04-07 03:44:12
【问题描述】:

我有一个关于我反复看到的 IIS SSL 证书问题的问题。 当我将 CA 颁发的 SSL 证书导入 IIS 时,我发现它不起作用,除非我使用标记为可导出的私钥导入它。 据我所知,每个版本的 IIS 的默认证书导入设置是将私钥标记为不可导出。

因此,如果我将证书导入 IIS,且私钥不可导出,Chrome 和 Edge 等网络浏览器将拒绝它并拒绝加载网页,并且用户会收到错误消息。 (我确认 SSL 证书是问题,因为页面通过启用 http/80 正确加载)。
我发现我必须将证书标记为可导出的私钥才能使其工作。

有没有人发现同样的问题?

有没有人能够让 IIS 在没有标记为可导出的私钥的情况下正常工作? 为什么 Microsoft 设置默认的 IIS 证书导入设置,使其默认不起作用? 有人知道为什么 IIS 需要在安装时将私钥标记为可导出才能正常运行吗?

【问题讨论】:

  • 如果 Chrome 或 Edge 拒绝它,请运行报告以查看问题所在,docs.jexusmanager.com/tutorials/ssl-diagnostics.html。但是,我不记得 IIS 需要可导出的私钥,它的导入向导也没有设置。
  • 由于客户端不应该访问私钥,他们不知道它是否可以导出。别的东西是不同的。 Exportable 允许您将网站移动到新服务器,而无需获得新的 SSL 证书。

标签: ssl iis


【解决方案1】:

您可以手动安装它,而不是使用 IIS 管理器。

  • 双击.pfx文件,将启动导入向导
  • 选择“本地计算机”作为“存储位置”
  • 文件路径是对的,继续
  • 输入密码,不要点击“Mark Key as Exportable”
  • 将其放在个人商店中(虚拟主机也可以工作,尚未测试)
  • 完成向导

您也可以使用certlm.msc 来做到这一点。

然后证书将在 IIS 管理器中可用,并且可以正常工作。

【讨论】:

    【解决方案2】:

    如果您想通过网络服务器使用证书,您必须将私钥与证书一起导出。没有私钥,数据加密(以及安全通信)是不可能的。

    从服务器的个人证书存储中导出服务器证书时,您可能没有导出私钥的选项。如果是这种情况,则在导入证书时,允许导出私钥的选项可能未选中。这是一种安全措施,可防止服务器的私钥可能遭到破坏。由于这可能是潜在的安全风险,因此默认情况下不会选中将私钥标记为可导出的选项。

    确保在导入过程中选中“将私钥标记为可导出”框。

    您在 IIS 网站上安装的每个证书都必须有一个与之关联的私钥。如果没有私钥,证书将根本无法工作 - 它将无法完成初始 SSL 握手。

    【讨论】:

    • 问题不在于要求 IIS 使用公共证书作为服务器证书。它在问为什么如果你通过 IIS 导入证书,你必须允许私钥是可导出的,否则证书将不起作用。
    猜你喜欢
    • 2019-06-21
    • 2011-01-03
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多