【问题标题】:Force WCF to accept only TLS12 protocol强制 WCF 仅接受 TLS12 协议
【发布时间】:2019-12-03 17:10:17
【问题描述】:

我在框架 4.5 上有一个 WCF 目标并托管在 IIS(Windows Server 2012)上,从 c# 客户端调用服务,所有安全协议(SSL、TLS、TLS12)工作正常,是否可以设置 WCF服务只接受 TLS12 安全协议?

【问题讨论】:

  • 如果您谈论的是限制主机端接受的协议,那么这不是编程任务。在 serverfault 上看到这个问题...serverfault.com/questions/733994/…
  • 这仅对强制客户端与 TLS12 通信有效。服务器端无法设置此代码。
  • @quaabaam 我认为这是正确的方式。

标签: c# wcf .net-4.5 tls1.2


【解决方案1】:

根据官方文档指导。
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
我们最好不要指定 TLS 版本,建议让操作系统决定 TLS 版本。
如果operation system和项目的运行环境满足要求,我们可以在客户端通过以下代码指定TLS版本。更多详情,请参考以上链接。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            ServiceReference1.ServiceClient client = new ServiceReference1.ServiceClient();

如果有什么我可以帮忙的,请随时告诉我。

【讨论】:

  • 感谢重播,很棒的文章,但修改注册表(在 Windows 注册表中配置 Schannel 协议)不会强制由 IIS 托管的 WCF 服务仅使用 TLS1.2 它与所有其他协议一起使用跨度>
  • 这可能不是在服务器端配置它的可取方式。
  • 现在工作,我只需要在注册表更改后重新启动服务器。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-03-21
  • 2012-11-18
  • 2021-08-22
  • 2020-12-18
  • 2019-12-17
  • 1970-01-01
  • 2021-09-08
  • 2014-07-03
相关资源
最近更新 更多