我正在使用用C ++编写的带有MFC库的Windows桌面应用程序来创建Web请求。 Web请求在我们90%以上的客户机器上取得了成功 - 从Windows XP到10。
我们客户的机器中有10%未能说SHA-1是弱签名算法且应用无法连接。
我无法控制将服务器上的SHA-1证书更改为更强大的证书,并且我已经确认当应用程序失败时,这是因为它拒绝了证书。
这是IE /安全/网络设置吗?我知道我可以更改我的代码以忽略无效证书,但这会破坏我的应用程序中的安全质量。我不想那样做。
任何人都对我们的客户如何改变他们的互联网设置或我们可以采取的其他措施以使我们的应用程序工作有任何建议?
提前致谢。
答案 0 :(得分:0)
我们在select客户端计算机上发现了问题。某些计算机具有已下载到其证书存储区的旧证书。当过期的旧证书无效时,可能会过去下载证书。出于某种原因,这些计算机决定使用下载的证书而不是具有有效过期日期的服务器上的新证书。删除旧证书可以解决问题。
基于对我的问题的评论,我意识到2017年1月,Google和Microsoft将正式弃用SHA-1。我的理解是,在此之前需要更新服务器才能使用证书有效的签名。在此之前,我们确实看到服务器使用弱签名(SHA-1)的警告,但它并没有完全拒绝该请求。
HTH