0

我们有这个 web 服务客户端运行在 windows XP 和 windows 2003 上,内置于 .Net 框架 1.1。然而,在贵宾犬攻击和严格的 PCI/DSS 规则之后,我们必须禁用服务器上的 SSLv3,所有在 .net framework 2.0 中工作的客户端仍然可以正常工作,但在 .net fx 1.1 上运行的那些客户端停止工作。

因此,我创建了一个示例应用程序,它只调用一个名为“LinkTest”的函数,并使用 .net 框架 1.1 构建它,它甚至没有在我的“Windows 7”机器上运行。我在 .net 2.0 中重建了相同的应用程序,它工作正常。

因此,显然不是 Windows 阻止了它,而是与框架本身有关。

更新

请记住,我们无法将 .net 1.1 客户端升级到 .net 2.0,因此这不是我们的选择。此外,正如 Dia 在评论中指出的那样,我已经尝试过kb-907829但仍然相同。

为了完整起见,以下是我们在客户端收到的错误消息。

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive.
   at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Sample.SampleWebService.SampleWebServiceStub.LinkTest() in c:\dir\web references\samplewebapp\reference.cs:line 78
   at ParkbankServerQnDFx11.Form1.btnLinkTest_Click(Object sender, EventArgs e) in c:\dir\app\formname.cs:line 150

更新2

昨天我注意到 SSL 握手工作正常,双方都同意密码,甚至一条数据消息正在从服务器接受的客户端发送并响应,并且该消息也可以在服务器端以明文形式看到。但不知何故,它在接收数据时以上述异常结束。我已经尝试增加超时。

更新3

在这个主题上有更多进展我开发了一个小型示例 Web 服务,将其部署在 IIS7 上的 Windows 7 机器上并禁用 SSLv3 并使用其他 .net 1.1 测试应用程序对其进行测试,它运行良好。

然后我们更新了在 linux box 中运行 stunnel 的实际服务器,并更改了密码套件并添加了较弱的密码,然后测试也顺利进行。所以显然这似乎是密码的问题。现在在之前的更新中,我提到双方似乎就密码达成了一致,这似乎有点矛盾,但是我们有理由相信 windows 框可能会就密码达成一致,但 .net fx 1.1 可能不支持我们所使用的强密码在我们的服务器上使用。

4

0 回答 0