【问题标题】:IE vs Chrome certificate handling, and SSL communication on XP vs Windows 7IE 与 Chrome 证书处理,以及 XP 与 Windows 7 上的 SSL 通信
【发布时间】:2011-11-15 10:34:30
【问题描述】:

在使用 IE 和/或依赖 wininet 访问外部世界的程序时,我遇到了一个奇怪的问题(与 this problem 相关)关于 XP 和 Windows 7 上的不同证书处理。

1) 当您在 XP 上尝试使用 IE8 连接到this site 时,IE 拒绝并显示“无法显示网页”消息。

2)如果我在 XP 上使用 Chrome(同一页面),它会出现“选择一个证书来验证自己...”*,我可以选择一个客户端证书。

3) 如果我尝试在 Windows 7 上重复此操作,使用 IE8 我会看到用于选择证书的 Windows 安全对话框。

4) Chrome 在步骤 3) 中弹出与 IE 相同的对话框。

我怀疑安全设置或组策略,但我有点卡住了。 您对如何通过 IE8 使其在 XP 上运行有任何想法吗?

【问题讨论】:

    标签: .net windows-7 ssl windows-xp ssl-certificate


    【解决方案1】:

    检查您在 Windows XP 上的 IE8 设置。大约一年前有一个更新影响了 Windows XP 下 IE 的一些默认设置。

    1. 选中“高级 > 安全”使用 SSL 3.0 和 TLS 1.0。
    2. 也是安全自定义级别的 Internet 区域。

    更新

    您的问题可能是您的 Web 服务器支持的密码与 Windows XP 的功能不匹配。如果 Windows XP IE8 请求您的 Web 服务器不允许的密码,您将无法完成握手。

    Windows XP 支持的密码列表在此处http://msdn.microsoft.com/en-us/library/aa380512(v=vs.85).aspx

    1. 要验证这一点,请尝试数据包捕获。
    2. 要解决此问题,您可能必须在 Web 服务器的 Schannel 注册表项中启用额外的密码。请参阅http://support.microsoft.com/kb/245030 并反转说明以启用 Windows XP 支持的密码。我知道这并不理想,并且有充分的理由禁用这些功能。

    这在 Chrome 下不是问题,因为它不使用 Windows 加密提供程序。当然,较新版本的 Windows 支持这些。

    【讨论】:

    • 感谢伯尼的回答。是的,我没有运气检查过这些设置。
    • @iostriz 希望这会有所帮助。我很想知道这是怎么回事。
    • 问题肯定出在安全性上。该站点需要带有 RSA 的 TLS 用于密钥交换、SHA256 用于签名和 AES256 用于加密(即 TLS_RSA_WITH_AES_256_CBC_SHA256)。我不知道如何启用 Windows XP (schannel & rsaenh) 来做到这一点。有什么想法吗?
    • @iotriz XP 不支持这些密码。这就是为什么不幸的是您必须启用 XP 支持或不使用 IE 的其他密码。我认为除此之外没有其他方法,而且微软不太可能为主流支持之外的产品发布更好的密码支持。
    • 非常感谢,我无法控制服务器端。我将在几天后关闭此任务并将其标记为已解决,必须等待几天才能看到 Microsoft 是否会给出答案。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2012-02-20
    • 2018-09-15
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 2011-11-25
    相关资源
    最近更新 更多