title: SoapHttpClientProtocol and TLS 1.2 - The client and server cannot communicate, because they do not possess a common algorithm
body: <p>There are numerous posts on SO about this and I have scoured them, but still don't have a solution. I am hoping that someone can point me in the right direction.</p>
  
  <p>We have a requirement now to use TLS 1.2 to connect to a remote provider. So I have installed Windows Server 2016 and configured it as needed:</p>
  
  <p><a href="https://i.stack.imgur.com/AJY5B.png" rel="noreferrer"><img src="https://i.stack.imgur.com/AJY5B.png" alt="enter image description here"></a>
  <a href="https://i.stack.imgur.com/KCDzI.png" rel="noreferrer"><img src="https://i.stack.imgur.com/KCDzI.png" alt="enter image description here"></a></p>
  
  <p>I know the remote server is running TLS 1.2 and that it supports the highlighted cipher.</p>
  
  <p>We connect to the remote end point using C# proxy class generated by the WSDL provided by the provider - before they converted their end to TLS (System.Web.Services.Protocols.SoapHttpClientProtocol).</p>
  
  <p>When I connect using the proxy I get an exception with the inner exception being "The client and server cannot communicate, because they do not possess a common algorithm".</p>
  
  <p>I cannot see anywhere that ServicePointManager.SecurityProtocol so I am assuming .NET is picking up TLS 1.2 as it is the only enabled protocol? No idea how it is doing the cipher.</p>
  
  <p>Can someone tell me how I go about attempting to fix this? If possible I don't want to regenerate the WSDL proxy class.</p>