TLS 1.3(RFC 9846 §2)は 1 往復で完了します。クライアントは、対応するバージョン、暗号スイート、グループ、キーシェア(key share)、署名アルゴリズムを含む ClientHello を送ります。サーバーは ServerHello(自身のキーシェア)で応答し、続いて暗号化された状態で EncryptedExtensions、Certificate、CertificateVerify(トランスクリプトハッシュに対する署名)、Finished を送ります。クライアントは自身の Finished を返し、データを送信できるようになります。クライアントが推測したグループが誤っていた場合は、HelloRetryRequest によって 1 往復が追加されます。
TLS 1.2 は 2 往復を必要とし、証明書を平文で送ります。また RSA 鍵輸送を使う場合は、一時的な値に何も署名しません。事前共有鍵によるセッション再開では証明書による認証が省略され、0-RTT ではリプレイに対する安全性と引き換えに、クライアントが早期データを送信できます。
デバッグ:openssl s_client -connect host:443 -servername host -tls1_3 -msg で各メッセージを表示できます。失敗の原因の多くは、名前の不一致、中間証明書の欠落、共通の暗号やグループがないこと、あるいは大きな ClientHello メッセージへのミドルボックスの干渉です(1 KB を超えるポスト量子のキーシェアで再び問題になっています)。