Skip to content
AdminKit

TLS handshake

The TLS handshake is the sequence of messages a client and server exchange before any application data is sent, during which they agree on a protocol version and cipher suite, the server proves its identity with a certificate, and both sides derive the symmetric keys that will actually encrypt the session. TLS 1.3 (RFC 8446) compressed this to a single round trip in the common case: the client's ClientHello already guesses a key-exchange group and sends key material for it, so the server can reply with its ServerHello, certificate, and a Finished message in one pass, versus the two round trips TLS 1.2 typically needed. Extensions like SNI and ALPN ride inside the same ClientHello/ServerHello exchange, which is why a single handshake can select a certificate for the right hostname and an application protocol like HTTP/2 at the same time the cipher suite and keys are negotiated.

By AdminKit team, Netbase JSC · Updated