Het SSL-handshakeproces omvat de volgende stappen:
1. Client Hello: De client (bijvoorbeeld een browser) stuurt een bericht naar de server waarin hij zijn SSL-versie, cryptografische algoritmen en de sessie-ID vermeldt.
1. Server Hello: De server antwoordt met een bericht met zijn SSL-versie, cryptografische algoritmen en de sessie-ID.
1. SSL-certificaat: De server stuurt zijn SSL-certificaat naar de client, dat bevat informatie over de identiteit van de server. Dit certificaat is uitgegeven door een vertrouwde instantie, zodat de client de server kan verifiëren.
1. Server Hello done: De server stuurt een bericht om aan te geven dat het SSL-handshakeproces is voltooid.
1. Client Key Exchange: De client genereert een voorlopige sessiesleutel en stuurt deze naar de server die deze ontsleutelt.
1. Client Change Cipher Spec: De client stuurt een bericht naar de server om aan te geven dat hij klaar is om de gegevens te versleutelen.
1. Client Finished: De client stuurt een cryptografisch bericht naar de server als bewijs dat de sleuteluitwisseling correct is verlopen.
1. Server Change Cipher Spec: De server antwoordt dat hij klaar is om de gegevens te versleutelen.
1. Server Finished: De server stuurt een cryptografisch bericht naar de client om aan te geven dat de handshaketransactie succesvol is afgerond.
Vanaf nu worden alle gegevens tussen de client en de server versleuteld met behulp van de nieuwe sessiesleutel.