1. The client sends a request to the server in order to establish a secure connection containing information about its cryptographic settings.
2. The server replies with its cipher settings and its certificate for authentication.
3. The client checks the server’s certificate validity (as described below).
4. The client generates a so-called pre-master secret based on the data exchanged so far,
encrypts it using the server’s public key, and sends it to the server.
5. Client and server generate the master secret based on the pre-master secret.
6. Using the master secret, both client and server generate the symmetric session key.
7. The client in forms the server that future messages will be encrypted. An additional, already encrypted message is sent to the server stating that the client’s part of the SSL handshake is completed.
8. The server informs the client that future messages will be encrypted. Analogously to the client, it sends an additional encrypted message stating that the server part of the SSL handshake is completed.