Wcf 禁用tls1.0时,服务未对调用方进行身份验证

Wcf 禁用tls1.0时,服务未对调用方进行身份验证,wcf,protocols,tls1.2,tls1.0,Wcf,Protocols,Tls1.2,Tls1.0,使用c#我有两个应用 关于.net framework 4-客户端 在.NETFramework4.5服务器上还有一个 并使用WCF相互通信 使用IISCrypto我关闭了tls1.0,然后我得到了这个错误 “服务未对调用方进行身份验证” 我知道客户机将与服务器协商,并采用服务器提供的最高协议,因此必须强制将协议更改为服务器 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; 但对于框架4的客户机会发生什么呢?我

使用c#我有两个应用

  • 关于.net framework 4-客户端
  • 在.NETFramework4.5服务器上还有一个
  • 并使用WCF相互通信

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

    “服务未对调用方进行身份验证”

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

    ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
    

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

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

    检查

    俗话说

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

    '如果应用程序以.NET Framework v4.6.2或更早版本为目标,并在.NET Framework v4.7或更高版本上运行,请将开关的值设置为false。'

    刚刚加上
    到app.config,并像以前一样工作

    尝试添加windows凭据:calculatorClient.ClientCredentials.windows.ClientCredential.UserName=“Administrator”;calculatorClient.ClientCredentials.Windows.ClientCredential.Password=“Password”;