Handshake error without specifying SSPI?

  • Hi There,

    I use a connection string as follows to connect to my SQL Server:

    Data Source=IPADDRESS;Initial Catalog=DATABASENAME;Persist Security Info=True;User ID=USER;Password=PASSWORD;Asynchronous Processing=True;MultipleActiveResultSets=True;Connection Timeout=60;

    This works for most people connecting to it, however one user reports that they are getting an "SSL Provider: Error 31 Encryption (ssl/tls) Handshake Failed" error???

    I have not set SSL on the server, however someone else may have inadvertently switched this on and I am not too clued up on this.

    Could someone tell me how and where to check, and perhaps shed light on why this would work for most and not for one?

    Is there perhaps something on that user's machine that is forcing an SSL connection?

    I wouldn't mind using an SSL connection here and have tested the following Connection String:

    Data Source=IPADDRESS;Initial Catalog=DATABASENAME;Persist Security Info=True;User ID=USER;Password=PASSWORD;Asynchronous Processing=True;MultipleActiveResultSets=True;Connection Timeout=60;Encrypt=true;TrustServerCertificate=true;

    This works on my side, but would it a) work for everyone else and b) fix this one user's handshake error?

    Hope someone can assist 🙂 Thank you in advance...:-D

    Kind Regards,

    Riaan

  • blugecko (2/5/2013)


    Hi There,

    I use a connection string as follows to connect to my SQL Server:

    Data Source=IPADDRESS;Initial Catalog=DATABASENAME;Persist Security Info=True;User ID=USER;Password=PASSWORD;Asynchronous Processing=True;MultipleActiveResultSets=True;Connection Timeout=60;

    This works for most people connecting to it, however one user reports that they are getting an "SSL Provider: Error 31 Encryption (ssl/tls) Handshake Failed" error???

    I have not set SSL on the server, however someone else may have inadvertently switched this on and I am not too clued up on this.

    Could someone tell me how and where to check, and perhaps shed light on why this would work for most and not for one?

    You can check in the SQL Server Configuration Manager. On the left-nav-tree expand SQL Server Network Configuration and then right-click Protocols for <YourInstanceName> and select Properties. Check the 'Force encryption' drop-down. It is No by default. If it is yes then SQL Server is requiring SSL be used to on all connections. Many older or non-Microsoft drivers will not support this option.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • Thank you opc.three,

    I have checked and the Force Encryption setting is indeed set to No.

    It must be something on the user's side.

    Very strange... Boggles the mind...

    Kind Regards,

    Riaan

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply