Client sends SSL version number, cipher settings, randomly generated data and other information server needs. Server sends server SSL version number, cipher settings, randomly generated data, other information and servers own certificate. Server may optionally request client's certificate. See Figure 2. Client sends encrypted data based on own private key if client needs authentication.
Server generates master secret after optional client authentication.
Client and server inform each other session key has been created. SSL handshake is complete. Look at timings for cached and uncached key from IBM technical report.