在winXP上https请求错误

本文关键字:请求 错误 https winXP | 更新日期: 2023-09-27 18:02:42

我有一个c#控制台应用程序,它使用一个web服务(一个政府的公共web服务)。为了做到这一点,我在我的c#项目中添加了一个Webservice引用,调用适当的方法,一切都工作得很好。除了在一台电脑上。

这是一台Windows XP SP2 PC,我安装了。net framework 4(这是我应用程序的目标框架)。当我在这里调用相同的命令行工具时,我总是得到一个错误消息。100%相同的工具,相同的参数在所有其他客户端(Windows 7, Windows 8, Windows 8.1,甚至其他Windows XP机器)上都能正常工作!

错误信息:

未处理异常:System.ServiceModel.CommunicationException: An的HTTP请求时发生错误https://adress.com/services/TheServiceWSI。

这可能是由于服务器证书不存在正确配置HTTP。HTTPS时为SYS。这也可以由客户端和服务器之间的安全绑定不匹配引起服务器。底层连接已关闭:发送时发生意外错误。--> System.IO.IOException: Received an unexpected EOF or 0 bytes from transport stream.

我试着:

    防火墙处于待发状态
  • 重新安装。net framework 4
  • 停用杀毒软件
  • 安装所有windows更新

but no success…

有谁知道这里的问题是什么吗?

提前感谢!

在winXP上https请求错误

我认识到这个问题,它可能与BEAST漏洞缓解有关(尽管也可能是另一个答案中提到的其他漏洞补丁之一)。在苹果对Mavericks实施了缓解措施后,我在使用旧的Windows服务时也遇到了类似的错误。原因与数据包的碎片化有关,这会在没有完全遵循规范的实现中触发错误(显然微软之前没有,但现在没有)。

无论哪种方式,您都需要放弃SP2并确保运行SP3。

如果您可以控制服务器,则可以尝试禁用BEAST缓解。根据那篇文章,XP SP3 应该与BEAST缓解工作,所以它可能更多的是学术兴趣。在生产环境中禁用与安全相关的修复可能是不明智的。

你可能已经知道,Windows XP的扩展支持已经结束了,而且已经一年多没有安全补丁了。

这里有一些简单的可能性,您可以相当快速地查看:

  1. 问题说明机器正在使用XP SP2,但是所有的Windows更新都被应用了。工作的XP机器是SP2还是SP3?. net 4.0被设计为运行在SP3上,所以如果在你的环境中可能,如果你还没有这样做,这将是一个谨慎的更新,有很多原因。
  2. 由于去年年底的POODLE漏洞,许多服务器放弃了对SSL 3.0(或更低)的支持,现在需要TLS 1.0或更高。您可能需要检查控制面板/Internet属性/高级/安全以查看问题机器上已安装和启用的SSL版本列表,并确保已安装并检查了TLS 1.0。
  3. 检查问题机器上的系统时间是否与其他机器的系统时间相同(没有偏离太多)。