跳到主要内容
ecdsa.com
TLS

TLS 扩展(ExtensionType 值)

本页收录 IANA 注册表中全部 TLS 扩展的 ExtensionType 值,标明每个扩展可以出现在哪些 TLS 1.3 握手消息中,并列出已经弃用的码点以及 GREASE 保留值。

显示 80 项中的 80 项

TLS 扩展 · 80 个条目

TLS ExtensionType 值,以及每个扩展可以出现在哪些 TLS 1.3 握手消息中。

值名称说明推荐参考文献
0说明server_nameserver_name(扩展 0)在 TLS 1.3 中可以出现在 ClientHello、EncryptedExtensions和CertificateRequest 中。YRFC 6066RFC 9261
1max_fragment_lengthmax_fragment_length(扩展 1)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。NRFC 6066RFC 8449
2client_certificate_urlclient_certificate_url(扩展 2)不在 TLS 1.3 中使用。YRFC 6066
3trusted_ca_keystrusted_ca_keys(扩展 3)不在 TLS 1.3 中使用。YRFC 6066
4truncated_hmactruncated_hmac(扩展 4)不在 TLS 1.3 中使用。DRFC 6066IESG Action 2018-08-16RFC 9847Tag Size Does Matter: Attacks and Proofs for the TLS Record Protocol
5status_requeststatus_request(扩展 5)在 TLS 1.3 中可以出现在 ClientHello、CertificateRequest和Certificate 中。YRFC 6066RFC 9846
6user_mappinguser_mapping(扩展 6)不在 TLS 1.3 中使用。YRFC 4681
7client_authzclient_authz(扩展 7)不在 TLS 1.3 中使用。NRFC 5878
8server_authzserver_authz(扩展 8)不在 TLS 1.3 中使用。NRFC 5878
9cert_typecert_type(扩展 9)不在 TLS 1.3 中使用。NRFC 6091
10说明supported_groupssupported_groups(扩展 10)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。它以前叫作 elliptic_curves。YRFC 8422RFC 7919RFC 9846
11ec_point_formatsec_point_formats(扩展 11)不在 TLS 1.3 中使用。YRFC 8422
12srpsrp(扩展 12)不在 TLS 1.3 中使用。NRFC 5054
13说明signature_algorithmssignature_algorithms(扩展 13)在 TLS 1.3 中可以出现在 ClientHello和CertificateRequest 中。YRFC 9846
14use_srtpuse_srtp(扩展 14)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 5764
15heartbeatheartbeat(扩展 15)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 6520
16说明application_layer_protocol_negotiationapplication_layer_protocol_negotiation(扩展 16)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 7301
17status_request_v2status_request_v2(扩展 17)不在 TLS 1.3 中使用。YRFC 6961
18signed_certificate_timestampsigned_certificate_timestamp(扩展 18)在 TLS 1.3 中可以出现在 ClientHello、CertificateRequest和Certificate 中。NRFC 6962
19client_certificate_typeclient_certificate_type(扩展 19)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 7250
20server_certificate_typeserver_certificate_type(扩展 20)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 7250
21paddingpadding(扩展 21)在 TLS 1.3 中只能出现在 ClientHello 中。YRFC 7685
22encrypt_then_macencrypt_then_mac(扩展 22)不在 TLS 1.3 中使用。YRFC 7366
23说明extended_main_secretextended_main_secret(扩展 23)不在 TLS 1.3 中使用。YRFC 7627RFC 9846
24token_bindingtoken_binding(扩展 24)不在 TLS 1.3 中使用。YRFC 8472
25cached_infocached_info(扩展 25)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 7924RFC 9846
26tls_ltstls_lts(扩展 26)不在 TLS 1.3 中使用。Ndraft-gutmann-tls-lts-11
27compress_certificatecompress_certificate(扩展 27)在 TLS 1.3 中可以出现在 ClientHello和CertificateRequest 中。YRFC 8879
28record_size_limitrecord_size_limit(扩展 28)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 8449
29pwd_protectpwd_protect(扩展 29)在 TLS 1.3 中只能出现在 ClientHello 中。NRFC 8492
30pwd_clearpwd_clear(扩展 30)在 TLS 1.3 中只能出现在 ClientHello 中。NRFC 8492
31password_saltpassword_salt(扩展 31)在 TLS 1.3 中可以出现在 ClientHello、ServerHello和HelloRetryRequest 中。NRFC 8492
32ticket_pinningticket_pinning(扩展 32)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。NRFC 8672
33tls_cert_with_extern_psktls_cert_with_extern_psk(扩展 33)在 TLS 1.3 中可以出现在 ClientHello和ServerHello 中。NRFC 9973
34delegated_credentialdelegated_credential(扩展 34)在 TLS 1.3 中可以出现在 ClientHello、CertificateRequest和Certificate 中。YRFC 9345
35session_ticketsession_ticket(扩展 35)不在 TLS 1.3 中使用。它以前叫作 SessionTicket TLS。YRFC 5077RFC 8447
36TLMSPTLMSP(扩展 36)不在 TLS 1.3 中使用。NETSI TS 103 523-2
37TLMSP_proxyingTLMSP_proxying(扩展 37)不在 TLS 1.3 中使用。NETSI TS 103 523-2
38TLMSP_delegateTLMSP_delegate(扩展 38)不在 TLS 1.3 中使用。NETSI TS 103 523-2
39supported_ekt_cipherssupported_ekt_ciphers(扩展 39)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 8870
41pre_shared_keypre_shared_key(扩展 41)在 TLS 1.3 中可以出现在 ClientHello和ServerHello 中。YRFC 9846
42early_dataearly_data(扩展 42)在 TLS 1.3 中可以出现在 ClientHello、EncryptedExtensions和NewSessionTicket 中。YRFC 9846
43supported_versionssupported_versions(扩展 43)在 TLS 1.3 中可以出现在 ClientHello、ServerHello和HelloRetryRequest 中。YRFC 9846
45psk_key_exchange_modespsk_key_exchange_modes(扩展 45)在 TLS 1.3 中只能出现在 ClientHello 中。YRFC 9846
47certificate_authoritiescertificate_authorities(扩展 47)在 TLS 1.3 中可以出现在 ClientHello和CertificateRequest 中。YRFC 9846
48oid_filtersoid_filters(扩展 48)在 TLS 1.3 中只能出现在 CertificateRequest 中。YRFC 9846
49post_handshake_authpost_handshake_auth(扩展 49)在 TLS 1.3 中只能出现在 ClientHello 中。YRFC 9846
50signature_algorithms_certsignature_algorithms_cert(扩展 50)在 TLS 1.3 中可以出现在 ClientHello和CertificateRequest 中。YRFC 9846
51说明key_sharekey_share(扩展 51)在 TLS 1.3 中可以出现在 ClientHello、ServerHello和HelloRetryRequest 中。YRFC 9846RFC Errata 5483
52transparency_infotransparency_info(扩展 52)在 TLS 1.3 中可以出现在 ClientHello、CertificateRequest和Certificate 中。YRFC 9162
53connection_idconnection_id(扩展 53)不在 TLS 1.3 中使用。它仅适用于 DTLS。此码点已弃用。DRFC 9146RFC 9847
54connection_idconnection_id(扩展 54)在 TLS 1.3 中可以出现在 ClientHello和ServerHello 中。它仅适用于 DTLS。NRFC 9146
55external_id_hashexternal_id_hash(扩展 55)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 8844
56external_session_idexternal_session_id(扩展 56)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 8844
57quic_transport_parametersquic_transport_parameters(扩展 57)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 9001
58ticket_requestticket_request(扩展 58)在 TLS 1.3 中可以出现在 ClientHello和EncryptedExtensions 中。YRFC 9149
59dnssec_chaindnssec_chain(扩展 59)在 TLS 1.3 中可以出现在 ClientHello和Certificate 中。NRFC 9102RFC Errata 6860
60sequence_number_encryption_algorithmssequence_number_encryption_algorithms(扩展 60)在 TLS 1.3 中可以出现在 ClientHello、HelloRetryRequest和ServerHello 中。它仅适用于 DTLS。Ndraft-pismenny-tls-dtls-plaintext-sequence-number-01
61rrcrrc(扩展 61)在 TLS 1.3 中可以出现在 ClientHello和ServerHello 中。它仅适用于 DTLS。NRFC 9853
62tls_flagstls_flags(扩展 62)在 TLS 1.3 中可以出现在 ClientHello、ServerHello、HelloRetryRequest、EncryptedExtensions、CertificateRequest、Certificate和NewSessionTicket 中。Ndraft-ietf-tls-tlsflags-14
2570Reserved0x0A0A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
6682Reserved0x1A1A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
10794Reserved0x2A2A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
14906Reserved0x3A3A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
19018Reserved0x4A4A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
23130Reserved0x5A5A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
27242Reserved0x6A6A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
31354Reserved0x7A7A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
35466Reserved0x8A8A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
39578Reserved0x9A9A 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
43690Reserved0xAAAA 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
47802Reserved0xBABA 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
51914Reserved0xCACA 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
56026Reserved0xDADA 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
60138Reserved0xEAEA 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
64250Reserved0xFAFA 是“TLS ExtensionType”注册表中的 GREASE 值(RFC 8701):客户端会随机发送这类值,让服务器学会忽略未知条目。它从不代表任何真实的算法。NRFC 8701
64768ech_outer_extensionsech_outer_extensions(扩展 64768)在 TLS 1.3 中只能出现在 ClientHello 中。YRFC 9849
65037说明encrypted_client_helloencrypted_client_hello(扩展 65037)在 TLS 1.3 中可以出现在 ClientHello、HelloRetryRequest和EncryptedExtensions 中。YRFC 9849
65281renegotiation_inforenegotiation_info(扩展 65281)不在 TLS 1.3 中使用。YRFC 5746
未分配和保留的范围 · 23 个条目
范围状态说明
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

来源:Transport Layer Security (TLS) Parameters(IANA),获取于 2026-10-20。数据许可证:CC0-1.0。 TLS ExtensionType Values

重要条目说明

server_name

server_name(SNI)指明客户端要访问的主机,使同一个 IP 地址可以提供多张证书。

客户端在 ClientHello 中以明文发送主机名(RFC 6066 §3)。没有它,托管多个站点的服务器就无法知道该出示哪张证书,这也是直接用 IP 地址连接时往往会拿到默认证书的原因。加密 ClientHello(RFC 9849)把真实名称隐藏在加密的内层 ClientHello 中。

supported_groups

supported_groups 列出客户端接受的密钥交换组——椭圆曲线、有限域组和后量子混合组。

10 号扩展原名 elliptic_curves,RFC 7919 将其推广到有限域组。在 TLS 1.3 中,它与 key_share 配合使用:客户端在这里列出自己接受的组,并为其中一部分发送密钥共享;如果服务器更想使用某个已列出但没有附带密钥共享的组,就会回复 HelloRetryRequest。

signature_algorithms

signature_algorithms 列出对端可以用来对握手签名的签名方案。

在 TLS 1.3 中,它列出 CertificateVerify 可接受的方案;如果没有 signature_algorithms_cert,它同时也规定证书可接受的方案。如果服务器没有与客户端列表相符的证书,握手就会失败。

application_layer_protocol_negotiation

ALPN 在 TLS 握手期间协商应用层协议(h2、http/1.1)。

16 号扩展(RFC 7301)让客户端提供 h2、http/1.1 等协议,由服务器从中选择一个,从而省去一次往返。基于 TLS 的 HTTP/2 只能通过 ALPN 协商。

extended_main_secret

extended_main_secret 把 TLS 1.2 的主密钥绑定到握手记录上,修复了三重握手攻击。

23 号扩展由 RFC 7627 以 extended_master_secret 之名引入,起因是2014年的三重握手攻击:攻击者可以让两个会话共用同一个主密钥。RFC 9846 将其更名为 extended_main_secret。TLS 1.3 在设计上就把各个密钥绑定到握手记录。

key_share

在 TLS 1.3 中,key_share 携带客户端和服务器的 Diffie–Hellman 或 KEM 密钥共享。

在第一轮消息中就发送密钥共享,使 TLS 1.3 只需一次往返即可完成握手。客户端通常发送一到两个密钥共享(例如 X25519MLKEM768 和 X25519);如果没有一个与服务器接受的组匹配,就需要通过 HelloRetryRequest 多花一次往返。

encrypted_client_hello

encrypted_client_hello(ECH)用发布在 DNS 中的密钥加密 ClientHello,其中包括服务器名称。

ECH(RFC 9849)把真实的 ClientHello 包裹在一个外层 ClientHello 中,外层只写明共享前端的名称。内层 ClientHello 用 HPKE 加密,所用密钥由服务器发布在 ECHConfig 中,ECHConfig 通常通过 HTTPS 类型的 DNS 记录分发,因此网络上的观察者只能看到公开名称。

全部注册表