【问题标题】:C++ MFC SHA-1 Weak Signature Algorithm Unable to ConnectC++ MFC SHA-1 弱签名算法无法连接
【发布时间】:2016-02-16 20:36:08
【问题描述】:

我正在使用 C++ 编写的带有 MFC 库的 Windows 桌面应用程序来创建 Web 请求。从 Windows XP 到 10,Web 请求在超过 90% 的客户机器上都能成功。

我们客户的机器中有 10% 表示 SHA-1 是弱签名算法并且应用无法连接。

我无法控制将服务器上的 SHA-1 证书更改为更强大的证书,并且我已经验证,当应用程序失败时,是因为它拒绝了证书。

这是 IE/安全/网络设置吗?我知道我可以更改我的代码以忽略无效证书,但这会破坏我的应用程序的安全质量。我不想那样做。

对于我们的客户如何更改他们的互联网设置或我们可以做些什么来使我们的应用正常运行,是否有任何建议?

提前致谢。

【问题讨论】:

  • 这太糟糕了! windowsitpro.com/security/… 。您可以考虑用证书固定检查替换正常的 PKI 签名检查。但是,请注意,从长远来看,服务器将不得不升级到 SHA2 证书,否则会产生安全后果。
  • 我无法控制将服务器上的 SHA-1 证书更改为更强大的证书,并且我已经验证,当应用程序失败时,是因为它拒绝了证书。 你需要获得控制权。 SHA-1 证书已被弃用:blog.qualys.com/ssllabs/2014/09/09/… 如果您不将证书替换为更安全的证书,那么越来越多的客户将会遇到连接问题。或者,您可以尝试让您的客户相信您的应用程序要求他们牺牲安全性。
  • 谢谢大家,非常感谢。这就是我所相信/害怕的。我想与 SO 社区核实一下是否有任何安全的方法可以解决这个问题,然后再将其告知客户端升级服务器是唯一的答案。

标签: c++ security ssl https sha1


【解决方案1】:

我们在选定的客户端计算机上发现了问题。有些机器有一个旧证书,该证书已下载到其证书存储区。当旧的过期证书无效时,证书可能是在过去下载的。出于某种原因,这些机器决定使用下载的证书而不是服务器上具有有效到期日期的新证书。删除旧证书解决了这个问题。

基于我的问题的 cmets,我意识到 SHA-1 将于 2017 年 1 月被 Google 和 Microsoft 正式弃用。我的理解是,服务器需要在此之前更新才能使用证书一个有效的签名。在那之前,我们确实看到了服务器正在使用弱签名 (SHA-1) 的警告,但它并没有完全拒绝该请求。

HTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-15
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 2014-04-30
    相关资源
    最近更新 更多