本文介绍了WCF:启用TLS 1.2并禁用SSL后无法连接到服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在升级 产品使用TLS 1.2版本。为此,我们将所有项目从.net 4.6.2升级到.net 4.7.2版本,并将
升级为。

我看到一个问题,特定于打开频道时的WCF服务" (proxy  as   ICommunicationObject )。Open(); "

我的代码中已经有了这个:

// https://docs.microsoft.com/en-us/dotnet/framework/whats-new/#wcf47AppContext.SetSwitch("Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols",     false); AppContext.SetSwitch("Switch.System.Net.DontEnableSchUseStrongCrypto",     false);

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

例外:

由于身份验证失败,无法满足安全令牌请求。

The request for security token could not be satisfied because authentication failed.

该服务未对来电者进行身份验证。

The caller was not authenticated by the service.

我使用证书(包括客户端和服务器)进行身份验证 

Security.Message.ClientCredentialType = MessageCredentialType.Certificate;

 请帮助! 

 Kindly help! 

推荐答案

Client Side:

b.Security.Message.EstablishSecurityContext  =  false ;
b.Security.Message.NegotiateServiceCredential  =  false ;

b.Security.Message.EstablishSecurityContext = false;b.Security.Message.NegotiateServiceCredential = false;

服务器端: 

Server side: 

<message clientCredentialType="Certificate" establishSecurityContext="false" negotiateServiceCredential="false"/>

 

https://blogs.msdn.microsoft.com/dsnotes/2017/04/13/wcf-message-security-limitation-with-tls-1-2-protocol/ 


 

 


这篇关于WCF:启用TLS 1.2并禁用SSL后无法连接到服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-26 15:28