如何在Windows XP的.Net 4中将TLS请求发送到禁用SSL3的服务器?
问题描述:
我支持使用.Net 4.0(Visual Studio 2010)构建的Windows应用程序,该应用程序将各种Web服务连接到我们的Apache Web服务器上。由于Poodle bug,这些服务器上的SSL3已被禁用。该应用程序的更新版本使用启用TLS WebClient类,可以成功连接:如何在Windows XP的.Net 4中将TLS请求发送到禁用SSL3的服务器?
using (var client = new WebClient())
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
client.DownloadString(uri);
}
不是我们的客户停留在Windows XP中(然而迫使他们升级操作系统是不幸不可能的)。我可以重现他们的错误报告,SSL/TLS通道无法建立。
即使禁用证书检查(仅供测试)没有帮助:
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
从我的研究,我知道,Windows XP和.NET 4.0支持TLS 1.0,所以理论上这应该还是有可能。由于抛出的异常中提供的信息很少,我无法找到确切的失败。
这可能是服务器配置的问题吗?