Handshake {22}
External Links
IANA

RFC 5246 ● 7.4 ● Handshake Protocol

The TLS Handshake Protocol is one of the defined higher-level clients of the TLS Record Protocol. This protocol is used to negotiate the secure attributes of a session. Handshake messages are supplied to the TLS record layer, where they are encapsulated within one or more TLSPlaintext structures, which are processed and transmitted as specified by the current active session state.

The handshake protocol messages are presented below in the order they MUST be sent; sending handshake messages in an unexpected order results in a fatal error. Unneeded handshake messages can be omitted, however. Note one exception to the ordering: the Certificate message is used twice in the handshake (from server to client, then from client to server), but described only in its first position. The one message that is not bound by these ordering rules is the HelloRequest message, which can be sent at any time, but which SHOULD be ignored by the client if it arrives in the middle of a handshake.

Type Name Notes
 0 hello_request_RESERVED [RFC8446] Used in TLS versions prior to 1.3.
 1 client_hello [RFC8446]
 2 server_hello [RFC8446]
 3 hello_verify_request_RESERVED [RFC6347][RFC8446] Assigned for interim draft, but the functionality was moved to a different message.
 4 new_session_ticket (renamed from "NewSessionTicket") [RFC4507][RFC8446][RFC8447]
 5 end_of_early_data [RFC8446]
 6 hello_retry_request_RESERVED [RFC8446] Assigned for interim draft, but the functionality was moved to an extension.
 7 Unassigned
 8 encrypted_extensions [RFC8446]
 9-10 Unassigned
11 certificate [RFC8446]
12 server_key_exchange_RESERVED [RFC8446] Used in TLS versions prior to 1.3.
13 certificate_request [RFC8446]
14 server_hello_done_RESERVED [RFC8446] Used in TLS versions prior to 1.3.
15 certificate_verify [RFC8446]
16 client_key_exchange_RESERVED [RFC8446] Used in TLS versions prior to 1.3.
17-19 Unassigned
20 finished [RFC8446]
21 certificate_url_RESERVED [RFC6066][RFC8446] Used in TLS versions prior to 1.3.
22 certificate_status_RESERVED [RFC6066][RFC8446] Used in TLS versions prior to 1.3.
23 supplemental_data_RESERVED [RFC4680][RFC8446] Used in TLS versions prior to 1.3.
24 key_update [RFC8446]
25 compressed_certificate (TEMPORARY - registered 2018-05-23, expires 2019-05-23) [draft-ietf-tls-certificate-compression]
26-253 Unassigned
254 message_hash [RFC8446]
255 Unassigned
The Kozlowski Family ● An Attempt at RestorationFamily.Kozlowski
Help Library

Core

Dev

Kind

Kit

Leaf

Map

Message

Net

Overview

Packet

Primitives

Run

Secure

Session

Site

Socket

Sprint

Stack

Tool

The Tree

Network Help

App

Internet

Hit

Kit

Link

Packet

Session

Socket

Net Tool

Transport

Transport Layer Help

QUIC

SCTP

TCP

TLS

UDP

TLS ● Transport Layer Security

Net_TLS Object

Alert {21}

CipherSuite

Extension

Handshake {22}

Session

Stream

TLS Tool

TLS ● Transport Layer Security
Alert {21}
Handshake {22}
ClientHello {1}
ServerHello {2}
Extension
server_name supported_groups (renamed from "elliptic_curves") ec_point_formats
signature_algorithms heartbeat session_ticket (renamed from "SessionTicket TLS")