SSL Protocol

Client / Server Messages Actions

CLIENT HELLO ---------------------> Establish Protocol Version
Establish Session ID
Establish Cipher Suite
Establish Compression Method
Exchange Random Values
<--------------------- SERVER HELLO

<---------------------- SERVER CERT Send Server Certificate (optional?)
Request Client Certificate (optional)
Send Server Keys (optional)
<----------------- SERVER KEY EXCH
<------------ REQUEST CLIENT CERT
<-------------- SERVER HELLO DONE

CLIENT CERT -----------------------> Send Client Certificate (if requested)
Send Client Keys
Verify Client has Private Key (optional)
CLIENT KEY EXCH ------------------>
CLIENT CERT VERIFY --------------->

CHANGE CIPHER SPEC --------------> Switch to Negotiated Cipher
Finish Handshake
Start passing application data
FINISHED -------------------------->
<-------------- CHANGE CIPHER SPEC
<-------------------------- FINISHED