TLS 1.3 (RFC 9846 §2) braucht einen Roundtrip: Der Client sendet ClientHello mit seinen unterstützten Versionen, Cipher Suites, Gruppen, Key Shares und Signaturalgorithmen; der Server antwortet mit ServerHello (seinem Key Share) und schickt dann, bereits verschlüsselt, EncryptedExtensions, Certificate, CertificateVerify (eine Signatur über den Hash des Transkripts) und Finished; der Client antwortet mit seinem eigenen Finished und kann Daten senden. Hat der Client die falsche Gruppe geraten, kostet ein HelloRetryRequest einen zusätzlichen Roundtrip.
TLS 1.2 braucht zwei Roundtrips, sendet Zertifikate unverschlüsselt und signiert beim RSA-Schlüsseltransport nichts Ephemeres. Die Session Resumption mit einem Pre-Shared Key überspringt die Authentifizierung per Zertifikat, und mit 0-RTT kann der Client Early Data senden – auf Kosten des Replay-Schutzes.
Debugging: openssl s_client -connect host:443 -servername host -tls1_3 -msg gibt jede Nachricht aus; die häufigsten Fehler sind nicht passende Namen, fehlende Zwischenzertifikate, keine gemeinsame Cipher oder Gruppe oder Middleboxes, die große Nachrichten vom Typ ClientHello stören (wieder aktuell durch Key Shares für Post-Quanten-Verfahren, die mehr als 1 KB groß sind).