如何使Windows应用程序与TLS 1.2一起使用?

And*_*der 9 c# ssl wcf windows-store-apps

有一个Windows应用程序8.1通过WCF连接到Web服务.最近TLS 1.2已在服务器上设置,因此应用程序停止工作.这是例外

https://services.companyname.com发出HTTP请求时发生错误. 这可能是由于在HTTPS情况下未使用HTTP.SYS正确配置服务器证书.这也可能是由客户端和服务器之间的安全绑定不匹配引起的.

即使是简单的网络请求

WebRequest request = WebRequest.Create(SERVER_URL_PROD);
WebResponse response = await request.GetResponseAsync();
Run Code Online (Sandbox Code Playgroud)

返回以下内容

mscorlib.dll中出现"System.Net.WebException"类型的异常,但未在用户代码中处理

附加信息:基础连接已关闭:发送时发生意外错误.

那么如何使Windows应用程序与TLS 1.2一起工作?

更新

上面的代码在控制台应用程序(.NET 4.5)中工作

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)

ServicePointManager不适用于Windows应用商店应用

更新2

此外,该代码在Windows Phone的8.1哪里ServicePointManager没有用.

joz*_*olo 1

我已经处理过 Web 应用程序的 TLS 1.2 问题,正如 OP 提到的,简单的解决方案System.Net.ServicePointManager在 Windows 应用商店应用程序中不起作用。

解决方法是使用此MSDN 论坛Windows.Web.Http帖子中描述的替代方法。System.Net.Http