These are my current settings on server and client. Both client and server are on my machine The client is a winforms application. The client is connecting to a wcf service which is hosted in a windows service. The connection is done using nettcp. The application both client and server are built on .NET 4.0. It was working great until the customer disabled tls 1.0. Upgrading .NET framework to 4.7 may not be an option right now. I have read posts about setting the security protocol to 3072 so .net 4.0 uses TLS 1.2 instead of defaulting to 4.0. For example: TLS 1.2 in .NET Framework 4.0
Here is what I have done.
In the windows service
private ServiceHost ServiceHost1;
protected override void OnStart(string[] args)
{
try
{
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; // .NET 4.0
this.ServiceHost1= new ServiceHost(typeof (PublishService), new Uri("net.tcp://localhost:1000"));
}
}
I added the same in the client too regarding SecurityProtocol 3072. But I am getting this error:
The client and server cannot communicate, because they do not possess a common algorithm.
In the event viewer: A fatal error occurred while creating a TLS client credential. The internal error state is 10013.
What should I do? I have framework 4.7 also installed on the computer but the application has to be work on 4.0 with TLS 1.2
]2