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

时间:2015-06-16 12:09:38

标签: c# wcf ssl windows-store-apps

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

  

发出HTTP请求时发生错误   https://services.companyname.com这可能是由于   服务器证书配置不正确的事实   HTTPS案例中的HTTP.SYS。这也可能是由于不匹配造成的   客户端和服务器之间的安全绑定。

即使是简单的网络请求

WebRequest request = WebRequest.Create(SERVER_URL_PROD);
WebResponse response = await request.GetResponseAsync();

返回以下内容

  

发生了'System.Net.WebException'类型的异常   mscorlib.dll但未在用户代码中处理

     

其他信息:基础连接已关闭:An   发送时发生意外错误。

那么如何让Windows应用商店使用TLS 1.2?

更新

上面的代码适用于控制台应用程序(.NET 4.5),如果

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

ServicePointManager不适用于Windows应用商店

更新2

此外,该代码适用于Windows Phone 8.1,其中ServicePointManager 可用。

1 个答案:

答案 0 :(得分:0)

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

解决方法是使用Windows.Web.Http代替System.Net.Http,如此MSDN forum帖子中所述。