SSL (Secure Sockets Layer) is a standard protocol used to establish secure connections to remote machines over untrusted networks. It runs on top of TCP/IP and ensures secure client-server communication by enabling mutual authentication between SSL-enabled clients and servers.
During server authentication, the client uses public-key cryptography to verify the server's identity. This involves checking that the server's certificate is issued by a trusted Certificate Authority and that it correctly corresponds to the server's public key.
Client authentication, on the other hand, allows the server to verify the client's identity. While mutual authentication using self-signed certificates is possible, it is generally discouraged except in controlled environments such as intranets or development servers.
After the SSL connection is established, the client and the server exchange messages that are symmetrically encrypted with a shared secret key. Compared to SSH, SSL is often preferred for connecting to SQL Server due to its simpler configuration and better performance.
See the SQL Server documentation for more information on how to enable SSL encryption for SQL Server.
To establish an SSL connection to SQL Server using UniDAC, enable the Encrypt option.
UniConnection1.SpecificOptions.Values['Encrypt'] := 'True';
UniConnection1.Connect;