SSL is an industry standard for sending wire- or socket-level encrypted data over client-to-server and server-to-server connections. Before the SSL connection is established, the server and the client exchange a series of I/O round trips to negotiate and agree upon a secure, encrypted session. This is called the “SSL handshake.”
When a client application requests a connection, the SSL-enabled server presents its certificate to prove its identity before data is transmitted. Essentially, the SSL handshake consists of the following steps:
The client sends a connection request to the server. The request includes the SSL (or Transport Layer Security, TLS) options that the client supports.
The server returns its certificate and a list of supported CipherSuites, which includes SSL/TLS support options, the algorithms used for key exchange and digital signatures.
A secure, encrypted session is established when both client and server have agreed upon a CipherSuite.
For specific information about the SSL handshake and the SSL/TLS protocol, see the Internet Engineering Task Force Web site.
For a list of CipherSuites that Open Client and Open Server supports, see the Open Client Client-Library/C Reference Manual.