【发布时间】: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