SSL selbst ist wiederum in zwei Schichten unterteilt. Die untere Schicht besteht aus dem SSL-Record-Protokoll, welches für die Sicherung der Datenverbindung zuständig ist. Seine Aufgaben bestehen in der Komprimierung und Verschlüsselung der Daten, dem Berechnen und Prüfen der Hash-Werte, sowie der Erzeugung der Sequenznummern. Die folgenden vier Protokolle verwenden das Record-Protokoll für ihre Datenübertragung:
Bevor jetzt Daten der Anwendung übertragen werden können, müssen sich die Kommunikationspartner mit Hilfe des Handshake-Protokolls über die gewünschten Verschlüsselungsparameter einigen. Hierzu sendet der Client eine ClientHello Nachricht, in der er mitteilt, welche Kryptoverfahren und Kompressionsalgorithmen von ihm unterstützt werden. Außerdem enthält diese Nachricht eine 28-Byte lange Zufallszahl. Der Server antwortet mit einer ServerHello Nachricht, die das von ihm gewählte Kryptoverfahren, den Kompressionsalgorithmus, eine Session-ID und ebenfalls eine 28-Byte lange Zufallszahl enthält. Sofern sich der Server authentifizieren will, sendet er daraufhin eine Certificate Nachricht, welche ein Zertifikat nach X.509v3[8] enthält. Falls der Server sich nicht authentifiziert oder sein Zertifikat nur zum digitalen Signieren und nicht zum Schlüsselaustausch geeignet ist, erzeugt er ein temporäres Public/Private-Key-Paar und übermittelt den Public-Key durch eine ServerKeyExchange Nachricht. Wenn eine Authentifizierung des Clients erwünscht ist, kann der Server diese mittels einer CertificateRequest Nachricht anfordern. Anschließend sendet er eine ServerHelloDone Nachricht, um anzuzeigen, daß er jetzt eine Antwort des Clients erwartet.
Der Client antwortet zunächst mit einer Certificate Nachricht, sofern diese angefordert worden war. Daraufhin erzeugt er den sogenannten PreMaster-Key aus dem später die geheimen Schlüssel für die Datenübertragung berechnet werden und übermittelt ihn in einer ClientKeyExchange Nachricht. Der Inhalt dieser Nachricht wird entweder mit dem Public-Key des Server-Zertifikats oder mit dem temporären Public-Key der ServerKeyExchange Nachricht verschlüsselt. Sofern sich der Client authentifizieren sollte, leistet er daraufhin mittels der CertificateVerify Nachricht eine digitale Signatur, mit der er beweist, daß er im Besitz des zugehörigen Private-Key zu seiner Certificate Nachricht ist.
Zu diesem Zeitpunkt sind sowohl Client als auch Server im Besitz des PreMaster-Key, der geschützt durch den Public-Key des Servers übertragen wurde. Aus dem PreMaster-Key und den beiden Zufallszahlen aus den Hello Nachrichten berechnen jetzt Client und Server nach einem vorgegebenem Algorithmus den Master-Key und aus diesem wiederum eine Reihe von geheimen Schlüsseln. Diese Schlüssel dienen zur Verschlüsselung der Nachrichten und zur Generierung der Hash-Werte. Client und Server senden daraufhin ChangeCipherSpec Nachrichten und verwenden von diesem Zeitpunkt an die soeben ausgehandelten Verschlüsselungsparameter. Abschließend senden beide noch eine Finished Nachricht, um sich zu vergewissern, daß sie im Besitz der gleichen geheimen Schlüssel sind.