wcfwindows-8.1communicationwcf-securitywin32exception

Windows 8.1 wcf communciation common algorithm exception


We encountered a strange problem with a piece of software that works already for 5 years. Recently we changed pc's and we're now developing on windows 8.1

The issue: We have a website that in the background connects to a wcf service that's using a certificate. Then we launch the website and try to logon. First we found out that we had an exception:

The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:19:59.9910127'

A strange message because we had this immediatly so we didn't need to wait 20 minutes to timeout. Because we needed to found out what exactly was going on we tried this setup on another pc with windows 8.1 Everything worked perfectly, the website didn't had any issues. Then we decided to swap the connections and see if we could reproduce so we ended up like this:

  1. My to collegae => ok
  2. Collegae to my => ok
  3. Collegae to itself => ok
  4. My to myself => error

Then I tried to search for answers in the windows log books. In the system log book. I found that there where issues with the tls protocol. Windows eventid 36888, Windows eventid 36874 Then we searched for issues around tls because of those 2 event id's but we couldn't find anything.

What's even more strange is that we have a thick client also locally installed on my machine that connects via the same wcf services and this one works also correctly. The thick client and website are written in C#.

I enabled the wcf trace for the web client connection. I share this file via this link: wcf-log When opened in the Microsoft Service Trace Viewer on the tab page Activity the last message contains the error.

The client and server cannot communicate, because they do not possess a common algorithm


Solution

  • After a lot of research it ended up to be TLS 1.2 As soon as this was disabled everything works like a charm.

    Other tests that we did where creating a project in .net 3.5 and an exact copy in .net 4.0 The result was that .net 3.5 worked like a charm and .net 4.0 failed like described above.

    By this last test we searched the web again and found out a link that maybe could help us. WCF .NET 4.0 doesn't work without TLS 1.0

    The tool showed us that we had enabled everything but by reading the post we saw that we could have another issue because we also had sql server 2014 installed on this machine installed. I really hope if someone has this issue he finds this post. This kept us busy for 3 days.