title: System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm
body: <p>Last month I updated a clients site to be secure as standard. No problems whatsoever however this week (05/10 @ approx 10am) I started receiving exceptions detailing the following:</p>
  
  <pre><code>System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm
  </code></pre>
  
  <p>My connection string to my AWS MySQL RDS had included, since the beginning of time the SSLMode=Required.</p>
  
  <p>I spend an age attempting to unpick what the root cause of this was, and in the end set the SSLMode on the database to none.</p>
  
  <p>The only conclusion I arrive at is that there is conflict between the SSL cert on the website, and forcing my MySQL connection SSLMode Required.</p>
  
  <p>I've updated the website to .net 4.6.* to no avail....</p>
  
  <p>Any thoughts or suggestions welcomed....</p>
  
  <p>I'm using: MySQL Connector, AWS MySQL 5.6, .net 4.6</p>
  
  <p>Inner Exception:</p>
  
  <pre><code> System.Data.Entity.Core.ProviderIncompatibleException: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. ---&gt; System.Data.Entity.Core.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---&gt; System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---&gt; System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm
     --- End of inner exception stack trace ---
     at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
     at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
  </code></pre>