有一个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
不可用。
答案 0 :(得分:0)
我已经针对Web应用程序处理了TLS 1.2问题,正如OP所提到的,System.Net.ServicePointManager
的简单解决方案在Windows应用商店应用中不起作用。
解决方法是使用Windows.Web.Http
代替System.Net.Http
,如此MSDN forum帖子中所述。