0

使用 c# 我有两个应用程序

  1. 在 .net 框架 4 上 - 客户端
  2. 还有一个.net framework 4.5 - 服务器

并使用 WCF 相互通信。

使用 IISCrypto 我关闭了 tls1.0 然后我得到了这个错误

'调用者未经服务验证'

我知道客户端将与服务器协商并采用服务器提供的最高协议,因此强制将协议更改为服务器

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

但是框架 4 的客户端会发生什么?我也尝试更改客户端上的协议,但没有任何改变。

4

1 回答 1

0

经过一番搜索,我找到了解决方案..

查看

正如所说

'将 Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols 设置为 true 将 Windows Communication Framework 的 (WCF) 传输层安全性 (TLS) 连接限制为使用 TLS 1.0'

“如果您的应用程序面向 .NET Framework v4.6.2 或更早版本并在 .NET Framework v4.7 或更高版本上运行,请将开关的值设置为 false。”

刚刚添加 <AppContextSwitchOverrides value="Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols=false" />到 app.config 并像以前一样工作!

于 2020-09-03T09:33:56.007 回答