我正在创建一个 WCF 应用程序,在其中我将 ServicePointManager.SecurityProtocol 设置为接受 TLS1.2。我还将创建此处概述的 SChannel 服务注册表项,以禁用除 TLS1.2 之外的所有客户端/服务器协议(将设置为 Enabled = 0)。
我了解 SChannel 设置会创建操作系统级别设置。我想知道是否在我的代码中明确设置
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
它会覆盖操作系统设置并允许 TLS1.1 连接?
由于这里的陈述,我感到困惑 - 如果您想使用注册表配置安全性,请不要在代码中指定安全协议值;这样做会覆盖注册表设置。
此更新不会更改手动设置安全协议而不是传递默认标志的应用程序的行为。
编辑 1:我正在使用 .Net v4.7。