【问题标题】:How to make windows store app work with TLS 1.2?如何使 Windows 商店应用程序与 TLS 1.2 一起使用?
【发布时间】:2015-09-01 05:57:21
【问题描述】:

有一个通过 WCF 连接到 Web 服务的 Windows 商店应用程序 8.1。最近在服务器上设置了 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 但未在用户代码中处理

附加信息:底层连接已关闭:一个 发送时发生意外错误。

那么如何让 Windows 商店应用与 TLS 1.2 一起工作?

更新

上面的代码可以在控制台应用程序(.NET 4.5)中运行

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

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

更新 2

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

【问题讨论】:

  • 好问题。我也想将 tls 1.2 添加到 windows 手机/平板电脑应用程序中。
  • 您可以使用 ssllabs.com/ssltest/analyze.html 测试您的服务器,以验证 supportet CipherSuits 是否可用。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-20
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多