Durante l'handshake TLS client e server concordano versione e cifrari, il server presenta il certificato e il client verifica che sia valido, corrisponda all'hostname e risalga a una CA fidata. Da lì in poi il traffico è cifrato.
Le versioni attuali sono TLS 1.2 e 1.3. SSLv3, TLS 1.0 e 1.1 sono considerati insicuri e disattivati nei client moderni. Il nome SSL però resta, per esempio in ssl_certificate di nginx.
Quasi tutti gli errori TLS quotidiani sono errori di certificato: scaduto, hostname sbagliato, intermedio mancante. Meno frequenti i conflitti di versione con client vecchi o dispositivi che supportano solo protocolli obsoleti.
Esempio
openssl s_client -connect example.com:443 -servername example.com -brief