Skip to content
ecdsa.com
TLS

TLS extensions (ExtensionType values)

TLS ExtensionType values of the IANA registry with the TLS 1.3 handshake messages each extension may appear in, deprecated code points and GREASE values.

80 of 80 shown

TLS extensions · 80 entries

TLS ExtensionType values and the TLS 1.3 handshake messages each extension may appear in.

ValueNameDescriptionRecommendedReferences
0Noteserver_nameserver_name (extension 0) may appear in TLS 1.3 in ClientHello, EncryptedExtensions, and CertificateRequest.YRFC 6066RFC 9261
1max_fragment_lengthmax_fragment_length (extension 1) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.NRFC 6066RFC 8449
2client_certificate_urlclient_certificate_url (extension 2) is not used in TLS 1.3.YRFC 6066
3trusted_ca_keystrusted_ca_keys (extension 3) is not used in TLS 1.3.YRFC 6066
4truncated_hmactruncated_hmac (extension 4) is not used in TLS 1.3.DRFC 6066IESG Action 2018-08-16RFC 9847Tag Size Does Matter: Attacks and Proofs for the TLS Record Protocol
5status_requeststatus_request (extension 5) may appear in TLS 1.3 in ClientHello, CertificateRequest, and Certificate.YRFC 6066RFC 9846
6user_mappinguser_mapping (extension 6) is not used in TLS 1.3.YRFC 4681
7client_authzclient_authz (extension 7) is not used in TLS 1.3.NRFC 5878
8server_authzserver_authz (extension 8) is not used in TLS 1.3.NRFC 5878
9cert_typecert_type (extension 9) is not used in TLS 1.3.NRFC 6091
10Notesupported_groupssupported_groups (extension 10) may appear in TLS 1.3 in ClientHello and EncryptedExtensions. It was previously called elliptic_curves.YRFC 8422RFC 7919RFC 9846
11ec_point_formatsec_point_formats (extension 11) is not used in TLS 1.3.YRFC 8422
12srpsrp (extension 12) is not used in TLS 1.3.NRFC 5054
13Notesignature_algorithmssignature_algorithms (extension 13) may appear in TLS 1.3 in ClientHello and CertificateRequest.YRFC 9846
14use_srtpuse_srtp (extension 14) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 5764
15heartbeatheartbeat (extension 15) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 6520
16Noteapplication_layer_protocol_negotiationapplication_layer_protocol_negotiation (extension 16) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 7301
17status_request_v2status_request_v2 (extension 17) is not used in TLS 1.3.YRFC 6961
18signed_certificate_timestampsigned_certificate_timestamp (extension 18) may appear in TLS 1.3 in ClientHello, CertificateRequest, and Certificate.NRFC 6962
19client_certificate_typeclient_certificate_type (extension 19) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 7250
20server_certificate_typeserver_certificate_type (extension 20) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 7250
21paddingpadding (extension 21) may appear in TLS 1.3 only in ClientHello.YRFC 7685
22encrypt_then_macencrypt_then_mac (extension 22) is not used in TLS 1.3.YRFC 7366
23Noteextended_main_secretextended_main_secret (extension 23) is not used in TLS 1.3.YRFC 7627RFC 9846
24token_bindingtoken_binding (extension 24) is not used in TLS 1.3.YRFC 8472
25cached_infocached_info (extension 25) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 7924RFC 9846
26tls_ltstls_lts (extension 26) is not used in TLS 1.3.Ndraft-gutmann-tls-lts-11
27compress_certificatecompress_certificate (extension 27) may appear in TLS 1.3 in ClientHello and CertificateRequest.YRFC 8879
28record_size_limitrecord_size_limit (extension 28) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 8449
29pwd_protectpwd_protect (extension 29) may appear in TLS 1.3 only in ClientHello.NRFC 8492
30pwd_clearpwd_clear (extension 30) may appear in TLS 1.3 only in ClientHello.NRFC 8492
31password_saltpassword_salt (extension 31) may appear in TLS 1.3 in ClientHello, ServerHello, and HelloRetryRequest.NRFC 8492
32ticket_pinningticket_pinning (extension 32) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.NRFC 8672
33tls_cert_with_extern_psktls_cert_with_extern_psk (extension 33) may appear in TLS 1.3 in ClientHello and ServerHello.NRFC 9973
34delegated_credentialdelegated_credential (extension 34) may appear in TLS 1.3 in ClientHello, CertificateRequest, and Certificate.YRFC 9345
35session_ticketsession_ticket (extension 35) is not used in TLS 1.3. It was previously called SessionTicket TLS.YRFC 5077RFC 8447
36TLMSPTLMSP (extension 36) is not used in TLS 1.3.NETSI TS 103 523-2
37TLMSP_proxyingTLMSP_proxying (extension 37) is not used in TLS 1.3.NETSI TS 103 523-2
38TLMSP_delegateTLMSP_delegate (extension 38) is not used in TLS 1.3.NETSI TS 103 523-2
39supported_ekt_cipherssupported_ekt_ciphers (extension 39) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 8870
41pre_shared_keypre_shared_key (extension 41) may appear in TLS 1.3 in ClientHello and ServerHello.YRFC 9846
42early_dataearly_data (extension 42) may appear in TLS 1.3 in ClientHello, EncryptedExtensions, and NewSessionTicket.YRFC 9846
43supported_versionssupported_versions (extension 43) may appear in TLS 1.3 in ClientHello, ServerHello, and HelloRetryRequest.YRFC 9846
45psk_key_exchange_modespsk_key_exchange_modes (extension 45) may appear in TLS 1.3 only in ClientHello.YRFC 9846
47certificate_authoritiescertificate_authorities (extension 47) may appear in TLS 1.3 in ClientHello and CertificateRequest.YRFC 9846
48oid_filtersoid_filters (extension 48) may appear in TLS 1.3 only in CertificateRequest.YRFC 9846
49post_handshake_authpost_handshake_auth (extension 49) may appear in TLS 1.3 only in ClientHello.YRFC 9846
50signature_algorithms_certsignature_algorithms_cert (extension 50) may appear in TLS 1.3 in ClientHello and CertificateRequest.YRFC 9846
51Notekey_sharekey_share (extension 51) may appear in TLS 1.3 in ClientHello, ServerHello, and HelloRetryRequest.YRFC 9846RFC Errata 5483
52transparency_infotransparency_info (extension 52) may appear in TLS 1.3 in ClientHello, CertificateRequest, and Certificate.YRFC 9162
53connection_idconnection_id (extension 53) is not used in TLS 1.3. It applies to DTLS only. This code point is deprecated.DRFC 9146RFC 9847
54connection_idconnection_id (extension 54) may appear in TLS 1.3 in ClientHello and ServerHello. It applies to DTLS only.NRFC 9146
55external_id_hashexternal_id_hash (extension 55) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 8844
56external_session_idexternal_session_id (extension 56) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 8844
57quic_transport_parametersquic_transport_parameters (extension 57) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 9001
58ticket_requestticket_request (extension 58) may appear in TLS 1.3 in ClientHello and EncryptedExtensions.YRFC 9149
59dnssec_chaindnssec_chain (extension 59) may appear in TLS 1.3 in ClientHello and Certificate.NRFC 9102RFC Errata 6860
60sequence_number_encryption_algorithmssequence_number_encryption_algorithms (extension 60) may appear in TLS 1.3 in ClientHello, HelloRetryRequest, and ServerHello. It applies to DTLS only.Ndraft-pismenny-tls-dtls-plaintext-sequence-number-01
61rrcrrc (extension 61) may appear in TLS 1.3 in ClientHello and ServerHello. It applies to DTLS only.NRFC 9853
62tls_flagstls_flags (extension 62) may appear in TLS 1.3 in ClientHello, ServerHello, HelloRetryRequest, EncryptedExtensions, CertificateRequest, Certificate, and NewSessionTicket.Ndraft-ietf-tls-tlsflags-14
2570Reserved0x0A0A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
6682Reserved0x1A1A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
10794Reserved0x2A2A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
14906Reserved0x3A3A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
19018Reserved0x4A4A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
23130Reserved0x5A5A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
27242Reserved0x6A6A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
31354Reserved0x7A7A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
35466Reserved0x8A8A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
39578Reserved0x9A9A is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
43690Reserved0xAAAA is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
47802Reserved0xBABA is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
51914Reserved0xCACA is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
56026Reserved0xDADA is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
60138Reserved0xEAEA is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
64250Reserved0xFAFA is a GREASE value (RFC 8701) in the TLS ExtensionType registry: clients send such values at random so that servers learn to ignore unknown entries. It never identifies a real algorithm.NRFC 8701
64768ech_outer_extensionsech_outer_extensions (extension 64768) may appear in TLS 1.3 only in ClientHello.YRFC 9849
65037Noteencrypted_client_helloencrypted_client_hello (extension 65037) may appear in TLS 1.3 in ClientHello, HelloRetryRequest, and EncryptedExtensions.YRFC 9849
65281renegotiation_inforenegotiation_info (extension 65281) is not used in TLS 1.3.YRFC 5746
Unassigned and reserved ranges · 23 entries
RangeStatusDescription
0x0028reservedReserved
0x002EreservedReserved
0x003F–0x0A09unassignedUnassigned
0x0A0B–0x1A19unassignedUnassigned
0x1A1B–0x2A29unassignedUnassigned
0x2A2B–0x3A39unassignedUnassigned
0x3A3B–0x4A49unassignedUnassigned
0x4A4B–0x5A59unassignedUnassigned
0x5A5B–0x6A69unassignedUnassigned
0x6A6B–0x7A79unassignedUnassigned
0x7A7B–0x8A89unassignedUnassigned
0x8A8B–0x9A99unassignedUnassigned
0x9A9B–0xAAA9unassignedUnassigned
0xAAAB–0xBAB9unassignedUnassigned
0xBABB–0xCAC9unassignedUnassigned
0xCACB–0xDAD9unassignedUnassigned
0xDADB–0xEAE9unassignedUnassigned
0xEAEB–0xFAF9unassignedUnassigned
0xFAFB–0xFCFFunassignedUnassigned
0xFD01–0xFE0CunassignedUnassigned
0xFE0E–0xFEFFunassignedUnassigned
0xFF00privateReserved for Private Use
0xFF02–0xFFFFprivateReserved for Private Use

Source: Transport Layer Security (TLS) Parameters (IANA), retrieved 2026-10-20. Data license: CC0-1.0. TLS ExtensionType Values

Notes on notable entries

server_name

server_name (SNI) names the host the client wants, so one IP address can serve many certificates.

The client sends the host name in clear text in its ClientHello (RFC 6066 §3). Without it a server with several sites cannot know which certificate to present, which is why connecting by IP address often returns a default certificate. Encrypted Client Hello (RFC 9849) hides the real name inside an encrypted inner ClientHello.

supported_groups

supported_groups lists the key-exchange groups a client accepts — elliptic curves, finite-field groups and post-quantum hybrids.

Formerly called elliptic_curves, extension 10 was generalised by RFC 7919 to cover finite-field groups. In TLS 1.3 it works together with key_share: the client lists the groups it accepts here and sends shares for some of them; if the server prefers a listed group without a share, it answers with a HelloRetryRequest.

signature_algorithms

signature_algorithms lists the signature schemes the peer may use to sign the handshake.

In TLS 1.3 it lists the schemes acceptable for CertificateVerify and, unless signature_algorithms_cert is present, for certificates too. A server with no certificate matching the client's list fails the handshake.

application_layer_protocol_negotiation

ALPN agrees on the application protocol (h2, http/1.1) during the TLS handshake.

Extension 16 (RFC 7301) lets the client offer protocols such as h2 and http/1.1 and the server choose one, saving a round trip. HTTP/2 over TLS is negotiated only through ALPN.

extended_main_secret

extended_main_secret binds the TLS 1.2 master secret to the handshake transcript, fixing the triple-handshake attack.

Extension 23 was introduced as extended_master_secret by RFC 7627 after the 2014 triple-handshake attack, in which two sessions could be made to share a master secret. The name changed to extended_main_secret in RFC 9846. TLS 1.3 binds its secrets to the transcript by design.

key_share

key_share carries the client's and the server's Diffie–Hellman or KEM shares in TLS 1.3.

Sending shares in the first flight lets TLS 1.3 finish the handshake in one round trip. Clients usually send one or two shares (for example X25519MLKEM768 and X25519); if none matches a group the server accepts, a HelloRetryRequest costs an extra round trip.

encrypted_client_hello

encrypted_client_hello (ECH) encrypts the ClientHello, including the server name, with a key published in DNS.

ECH (RFC 9849) wraps the real ClientHello in an outer one that names a shared front end. The inner ClientHello is encrypted with HPKE to a key the server publishes in an ECHConfig, typically delivered in the HTTPS DNS record, so observers on the network see only the public name.

All registries