【问题标题】:IIS TLS Certificate - Chrome says we are using "obsolete cryptography"IIS TLS 证书 - Chrome 说我们正在使用“过时的加密”
【发布时间】:2015-05-26 19:11:01
【问题描述】:

我们在 IIS 中为网站安装了服务器证书。当通过 HTTPS 浏览网站并使用 chrome 检查图标时,我们会收到一条消息“您的连接 ... 已使用过时的加密技术进行了加密”。

如何配置IIS让Chrome停止显示此消息,还需要平衡需要支持IE>=8。

[编辑]:根据截图,我们可以看到使用的加密方法是“AES_256_CBC with SHA1 for message authentication”。问题是我们如何在 IIS 中进行更改,以便 Chrome 不再抱怨“过时的密码学”。

【问题讨论】:

    标签: iis ssl


    【解决方案1】:

    您可能想阅读https://www.chromium.org/Home/chromium-security/education/tls#TOC-Deprecation-of-TLS-Features-Algorithms-in-Chrome,这是查找此特定错误消息时的第一个目标。

    如果不查看您的证书很难确定,但我猜链接页面中的以下描述将与您的证书匹配:

    SHA-1 于 2015 年初在 Chrome 中被弃用。 2016 年到期的证书将被标记为“安全,但有小错误”。 2017 年到期的证书稍后将被视为“肯定不安全”。

    【讨论】:

    • 好的。如何将 IIS 使用的加密从 SHA-1 更改为 Chrome 可以接受的其他加密方式?
    • 问题不在于 IIS,而在于您的证书。就问题联系您的证书供应商。但请注意,这里的解决方案只是根据您不完整的信息进行的猜测。
    • 抱歉,Steffen 这不是真的。 RSA 加密用于交换对称加密的加密密钥,Chrome 抱怨的正是对称加密。根据我的屏幕截图,对称加密使用“带有 SHA-1 的 AES_256_CBC 进行消息身份验证”,这是 chrome 不喜欢的部分,我们需要在 IIS 中进行更改。 (这是我希望有人能和我一起使用的一点)。
    • 密码学在多个地方使用。它不仅用于密钥交换和对称加密,还用于验证证书链。在这种情况下(即作为签名算法),SHA-1 被认为是不安全的,而在对称密码学(即作为 HMAC)的情况下,SHA-1 仍然被认为是安全的。因此问题是证书而不是密码。
    • 这东西读起来很棒!出于好奇,你是如何解决这个问题的?证书供应商是否为您的网站生成了新证书?
    【解决方案2】:

    Steffen 给出的答案不正确(尽管如果您进一步阅读,他提供的链接确实提供了答案)。在这种情况下,Chrome 给出有关过时加密的错误的原因是 CBC 模式下的 AES。

    这与拥有 SHA-1 证书无关。

    TL;DR - 忽略这个错误,没关系。

    如果您真的想消除该错误,则需要启用 AES GCM。然而,这说起来容易做起来难。我最近在 serverfault 上完整回答了这个问题 - 请在此处查看我回答的后半部分;

    https://serverfault.com/questions/683697/change-key-exchange-mechanism-in-iis-8/683705#683705

    【讨论】:

      【解决方案3】:

      由于是 SSL 和证书的新手,我也为此苦苦挣扎。以下是我们解决此问题的方法。请注意,在我们的案例中,我们使用的是内部 Web 应用程序并使用自签名证书。

      1. 在 Linux 上使用 OpenSSL,创建私钥:
        openssl genrsa -out box.key 2048
      2. 然后使用密钥创建并签署证书(我们将过期日期设置为一年零 10 天):
        openssl req -new -x509 -sha256 -days 375 -key box.key -out box.crt
      3. 回答问题(确保 Common Name 与 Web 服务器的 FQDN 匹配)
      4. 使用此密钥和证书将您的 Web 服务器配置为使用 SSL
      5. 在 Windows 上使用 Chrome,输入您的网站 HTTPS URL
      6. 点击地址栏中的锁形图标,然后在弹出的窗口中选择Certificate Information链接
      7. 转到Details 选项卡,选择Copy to File... 按钮以启动Certificate Export Wizard
      8. 使用向导,选择 PKCS #7 作为导出格式,并保存证书(即@9​​87654329@)
      9. Trusted Root Certification Authorities证书存储中安装证书(使用certmgr.msc或右键单击证书并选择Install Certificate
      10. 关闭 Chrome,注销并重新登录 Windows(强制旧站点警告退出缓存)
      11. 重新打开 Chrome 并输入您的网站 HTTPS URL
      12. 欣赏您的shiny green lock 图标与现代密码学

      【讨论】:

      • 秘诀就是open genrsa命令中的位数和openssl req命令中-sha256引擎的使用
      【解决方案4】:

      回答我自己的问题:

      1. 确保已安装最新的 Windows 更新
      2. 下载并运行 IIS Crypto (https://www.nartac.com/Products/IISCrypto)
      3. 确保此密码位于左侧列表的顶部:

        TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

      4. 在 IIS Crypto 中应用更改

      5. 重启服务器

      【讨论】:

        【解决方案5】:

        In this link 有一个关于密码的黑白名单。也许如果你只使用白色的,它会解决你的问题。查看 cmets 中的列表,您会发现它在写完答案后发生了一些变化。

        当我开始遇到 Glassfish 的这个问题时,它帮助了我很多,我希望它也可以帮助你处理 IIS。

        【讨论】:

          猜你喜欢
          • 2020-08-26
          • 2018-11-24
          • 1970-01-01
          • 2020-07-20
          • 2019-10-20
          • 2018-09-27
          • 1970-01-01
          • 2019-06-12
          • 1970-01-01
          相关资源
          最近更新 更多