ssl2 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ssl2/parameters.py ADDED
@@ -0,0 +1,731 @@
1
+ # generated from the IANA registry CSV files and BoringSSL tls1.h at 8f77af2e, so regenerate rather than edit
2
+ from enum import Enum, IntEnum
3
+ from typing import Final, Self, override
4
+
5
+
6
+ class CodePoint(IntEnum):
7
+ @classmethod
8
+ @override
9
+ def _missing_(cls, value: object) -> Self | None:
10
+ if not isinstance(value, int) or not 0 <= value <= 0xFFFF:
11
+ return None
12
+ member = int.__new__(cls, value)
13
+ member._name_ = f"unassigned_{value:#06x}"
14
+ member._value_ = value
15
+ return member
16
+
17
+ @property
18
+ def is_assigned(self) -> bool:
19
+ return self.name in type(self).__members__
20
+
21
+ @property
22
+ def is_grease(self) -> bool:
23
+ return (self & 0x0F0F) == 0x0A0A and self >> 8 == self & 0xFF
24
+
25
+ @property
26
+ def hex(self) -> str:
27
+ return f"{self:04x}"
28
+
29
+
30
+ class TLSVersion(Enum):
31
+ MINIMUM_SUPPORTED = "MINIMUM_SUPPORTED"
32
+ TLSv1_0 = "TLSv1.0"
33
+ TLSv1_1 = "TLSv1.1"
34
+ TLSv1_2 = "TLSv1.2"
35
+ TLSv1_3 = "TLSv1.3"
36
+ MAXIMUM_SUPPORTED = "MAXIMUM_SUPPORTED"
37
+
38
+ @property
39
+ def protocol_version(self) -> ProtocolVersion | None:
40
+ return PROTOCOL_VERSIONS.get(self)
41
+
42
+
43
+ class ProtocolVersion(CodePoint):
44
+ SSL_3_0 = 0x0300
45
+ TLS_1_0 = 0x0301
46
+ TLS_1_1 = 0x0302
47
+ TLS_1_2 = 0x0303
48
+ TLS_1_3 = 0x0304
49
+ DTLS_1_0 = 0xFEFF
50
+ DTLS_1_2 = 0xFEFD
51
+ DTLS_1_3 = 0xFEFC
52
+
53
+ @property
54
+ def tls_version(self) -> TLSVersion | None:
55
+ return TLS_VERSIONS.get(self)
56
+
57
+
58
+ PROTOCOL_VERSIONS: Final = {
59
+ TLSVersion.TLSv1_0: ProtocolVersion.TLS_1_0,
60
+ TLSVersion.TLSv1_1: ProtocolVersion.TLS_1_1,
61
+ TLSVersion.TLSv1_2: ProtocolVersion.TLS_1_2,
62
+ TLSVersion.TLSv1_3: ProtocolVersion.TLS_1_3,
63
+ }
64
+ TLS_VERSIONS: Final = {protocol: named for named, protocol in PROTOCOL_VERSIONS.items()}
65
+
66
+
67
+ class ServerNameType(CodePoint):
68
+ host_name = 0
69
+
70
+
71
+ class ContentType(CodePoint):
72
+ change_cipher_spec = 20
73
+ alert = 21
74
+ handshake = 22
75
+ application_data = 23
76
+ heartbeat = 24
77
+ tls12_cid = 25
78
+ ACK = 26
79
+ return_routability_check = 27
80
+
81
+
82
+ class HandshakeType(CodePoint):
83
+ hello_request = 0
84
+ client_hello = 1
85
+ server_hello = 2
86
+ hello_verify_request = 3
87
+ new_session_ticket = 4
88
+ end_of_early_data = 5
89
+ hello_retry_request = 6
90
+ encrypted_extensions = 8
91
+ request_connection_id = 9
92
+ new_connection_id = 10
93
+ certificate = 11
94
+ server_key_exchange = 12
95
+ certificate_request = 13
96
+ server_hello_done = 14
97
+ certificate_verify = 15
98
+ client_key_exchange = 16
99
+ client_certificate_request = 17
100
+ finished = 20
101
+ certificate_url = 21
102
+ certificate_status = 22
103
+ supplemental_data = 23
104
+ key_update = 24
105
+ compressed_certificate = 25
106
+ ekt_key = 26
107
+ message_hash = 254
108
+
109
+
110
+ class CipherSuite(CodePoint):
111
+ TLS_NULL_WITH_NULL_NULL = 0x0000
112
+ TLS_RSA_WITH_NULL_MD5 = 0x0001
113
+ TLS_RSA_WITH_NULL_SHA = 0x0002
114
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 0x0003
115
+ TLS_RSA_WITH_RC4_128_MD5 = 0x0004
116
+ TLS_RSA_WITH_RC4_128_SHA = 0x0005
117
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 0x0006
118
+ TLS_RSA_WITH_IDEA_CBC_SHA = 0x0007
119
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0008
120
+ TLS_RSA_WITH_DES_CBC_SHA = 0x0009
121
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x000A
122
+ TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x000B
123
+ TLS_DH_DSS_WITH_DES_CBC_SHA = 0x000C
124
+ TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 0x000D
125
+ TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x000E
126
+ TLS_DH_RSA_WITH_DES_CBC_SHA = 0x000F
127
+ TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 0x0010
128
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x0011
129
+ TLS_DHE_DSS_WITH_DES_CBC_SHA = 0x0012
130
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x0013
131
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0014
132
+ TLS_DHE_RSA_WITH_DES_CBC_SHA = 0x0015
133
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016
134
+ TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 0x0017
135
+ TLS_DH_anon_WITH_RC4_128_MD5 = 0x0018
136
+ TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 0x0019
137
+ TLS_DH_anon_WITH_DES_CBC_SHA = 0x001A
138
+ TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 0x001B
139
+ TLS_KRB5_WITH_DES_CBC_SHA = 0x001E
140
+ TLS_KRB5_WITH_3DES_EDE_CBC_SHA = 0x001F
141
+ TLS_KRB5_WITH_RC4_128_SHA = 0x0020
142
+ TLS_KRB5_WITH_IDEA_CBC_SHA = 0x0021
143
+ TLS_KRB5_WITH_DES_CBC_MD5 = 0x0022
144
+ TLS_KRB5_WITH_3DES_EDE_CBC_MD5 = 0x0023
145
+ TLS_KRB5_WITH_RC4_128_MD5 = 0x0024
146
+ TLS_KRB5_WITH_IDEA_CBC_MD5 = 0x0025
147
+ TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA = 0x0026
148
+ TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA = 0x0027
149
+ TLS_KRB5_EXPORT_WITH_RC4_40_SHA = 0x0028
150
+ TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 = 0x0029
151
+ TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 = 0x002A
152
+ TLS_KRB5_EXPORT_WITH_RC4_40_MD5 = 0x002B
153
+ TLS_PSK_WITH_NULL_SHA = 0x002C
154
+ TLS_DHE_PSK_WITH_NULL_SHA = 0x002D
155
+ TLS_RSA_PSK_WITH_NULL_SHA = 0x002E
156
+ TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F
157
+ TLS_DH_DSS_WITH_AES_128_CBC_SHA = 0x0030
158
+ TLS_DH_RSA_WITH_AES_128_CBC_SHA = 0x0031
159
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032
160
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033
161
+ TLS_DH_anon_WITH_AES_128_CBC_SHA = 0x0034
162
+ TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035
163
+ TLS_DH_DSS_WITH_AES_256_CBC_SHA = 0x0036
164
+ TLS_DH_RSA_WITH_AES_256_CBC_SHA = 0x0037
165
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038
166
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039
167
+ TLS_DH_anon_WITH_AES_256_CBC_SHA = 0x003A
168
+ TLS_RSA_WITH_NULL_SHA256 = 0x003B
169
+ TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C
170
+ TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D
171
+ TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 0x003E
172
+ TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 0x003F
173
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040
174
+ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0041
175
+ TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 0x0042
176
+ TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0043
177
+ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 0x0044
178
+ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0045
179
+ TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = 0x0046
180
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067
181
+ TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 0x0068
182
+ TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 0x0069
183
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A
184
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B
185
+ TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 0x006C
186
+ TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 0x006D
187
+ TLS_ASCONAEAD128_ASCONHASH256 = 0x006E
188
+ TLS_ASCONAEAD128_SHA256 = 0x006F
189
+ TLS_AES_128_GCM_ASCONHASH256 = 0x0070
190
+ TLS_AES_128_CCM_ASCONHASH256 = 0x0071
191
+ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0084
192
+ TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 0x0085
193
+ TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0086
194
+ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 0x0087
195
+ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0088
196
+ TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = 0x0089
197
+ TLS_PSK_WITH_RC4_128_SHA = 0x008A
198
+ TLS_PSK_WITH_3DES_EDE_CBC_SHA = 0x008B
199
+ TLS_PSK_WITH_AES_128_CBC_SHA = 0x008C
200
+ TLS_PSK_WITH_AES_256_CBC_SHA = 0x008D
201
+ TLS_DHE_PSK_WITH_RC4_128_SHA = 0x008E
202
+ TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 0x008F
203
+ TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 0x0090
204
+ TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 0x0091
205
+ TLS_RSA_PSK_WITH_RC4_128_SHA = 0x0092
206
+ TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 0x0093
207
+ TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 0x0094
208
+ TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 0x0095
209
+ TLS_RSA_WITH_SEED_CBC_SHA = 0x0096
210
+ TLS_DH_DSS_WITH_SEED_CBC_SHA = 0x0097
211
+ TLS_DH_RSA_WITH_SEED_CBC_SHA = 0x0098
212
+ TLS_DHE_DSS_WITH_SEED_CBC_SHA = 0x0099
213
+ TLS_DHE_RSA_WITH_SEED_CBC_SHA = 0x009A
214
+ TLS_DH_anon_WITH_SEED_CBC_SHA = 0x009B
215
+ TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C
216
+ TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D
217
+ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E
218
+ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F
219
+ TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 0x00A0
220
+ TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 0x00A1
221
+ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2
222
+ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3
223
+ TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 0x00A4
224
+ TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 0x00A5
225
+ TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 0x00A6
226
+ TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 0x00A7
227
+ TLS_PSK_WITH_AES_128_GCM_SHA256 = 0x00A8
228
+ TLS_PSK_WITH_AES_256_GCM_SHA384 = 0x00A9
229
+ TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 0x00AA
230
+ TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 0x00AB
231
+ TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 0x00AC
232
+ TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 0x00AD
233
+ TLS_PSK_WITH_AES_128_CBC_SHA256 = 0x00AE
234
+ TLS_PSK_WITH_AES_256_CBC_SHA384 = 0x00AF
235
+ TLS_PSK_WITH_NULL_SHA256 = 0x00B0
236
+ TLS_PSK_WITH_NULL_SHA384 = 0x00B1
237
+ TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 0x00B2
238
+ TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 0x00B3
239
+ TLS_DHE_PSK_WITH_NULL_SHA256 = 0x00B4
240
+ TLS_DHE_PSK_WITH_NULL_SHA384 = 0x00B5
241
+ TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 0x00B6
242
+ TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 0x00B7
243
+ TLS_RSA_PSK_WITH_NULL_SHA256 = 0x00B8
244
+ TLS_RSA_PSK_WITH_NULL_SHA384 = 0x00B9
245
+ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BA
246
+ TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BB
247
+ TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BC
248
+ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BD
249
+ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BE
250
+ TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BF
251
+ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C0
252
+ TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C1
253
+ TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C2
254
+ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C3
255
+ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C4
256
+ TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C5
257
+ TLS_SM4_GCM_SM3 = 0x00C6
258
+ TLS_SM4_CCM_SM3 = 0x00C7
259
+ TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 0x00FF
260
+ TLS_AES_128_GCM_SHA256 = 0x1301
261
+ TLS_AES_256_GCM_SHA384 = 0x1302
262
+ TLS_CHACHA20_POLY1305_SHA256 = 0x1303
263
+ TLS_AES_128_CCM_SHA256 = 0x1304
264
+ TLS_AES_128_CCM_8_SHA256 = 0x1305
265
+ TLS_AEGIS_256_SHA512 = 0x1306
266
+ TLS_AEGIS_128L_SHA256 = 0x1307
267
+ TLS_FALLBACK_SCSV = 0x5600
268
+ TLS_ECDH_ECDSA_WITH_NULL_SHA = 0xC001
269
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 0xC002
270
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC003
271
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 0xC004
272
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 0xC005
273
+ TLS_ECDHE_ECDSA_WITH_NULL_SHA = 0xC006
274
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 0xC007
275
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC008
276
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009
277
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A
278
+ TLS_ECDH_RSA_WITH_NULL_SHA = 0xC00B
279
+ TLS_ECDH_RSA_WITH_RC4_128_SHA = 0xC00C
280
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 0xC00D
281
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 0xC00E
282
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 0xC00F
283
+ TLS_ECDHE_RSA_WITH_NULL_SHA = 0xC010
284
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA = 0xC011
285
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 0xC012
286
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013
287
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014
288
+ TLS_ECDH_anon_WITH_NULL_SHA = 0xC015
289
+ TLS_ECDH_anon_WITH_RC4_128_SHA = 0xC016
290
+ TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 0xC017
291
+ TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 0xC018
292
+ TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 0xC019
293
+ TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 0xC01A
294
+ TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 0xC01B
295
+ TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 0xC01C
296
+ TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 0xC01D
297
+ TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 0xC01E
298
+ TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 0xC01F
299
+ TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 0xC020
300
+ TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 0xC021
301
+ TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 0xC022
302
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023
303
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024
304
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC025
305
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC026
306
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027
307
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028
308
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 0xC029
309
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 0xC02A
310
+ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B
311
+ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C
312
+ TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02D
313
+ TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02E
314
+ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F
315
+ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030
316
+ TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 0xC031
317
+ TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 0xC032
318
+ TLS_ECDHE_PSK_WITH_RC4_128_SHA = 0xC033
319
+ TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 0xC034
320
+ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 0xC035
321
+ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 0xC036
322
+ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 0xC037
323
+ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 0xC038
324
+ TLS_ECDHE_PSK_WITH_NULL_SHA = 0xC039
325
+ TLS_ECDHE_PSK_WITH_NULL_SHA256 = 0xC03A
326
+ TLS_ECDHE_PSK_WITH_NULL_SHA384 = 0xC03B
327
+ TLS_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC03C
328
+ TLS_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC03D
329
+ TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = 0xC03E
330
+ TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = 0xC03F
331
+ TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC040
332
+ TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC041
333
+ TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = 0xC042
334
+ TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = 0xC043
335
+ TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC044
336
+ TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC045
337
+ TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 = 0xC046
338
+ TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 = 0xC047
339
+ TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = 0xC048
340
+ TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = 0xC049
341
+ TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = 0xC04A
342
+ TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = 0xC04B
343
+ TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC04C
344
+ TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC04D
345
+ TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC04E
346
+ TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC04F
347
+ TLS_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC050
348
+ TLS_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC051
349
+ TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC052
350
+ TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC053
351
+ TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC054
352
+ TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC055
353
+ TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = 0xC056
354
+ TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = 0xC057
355
+ TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = 0xC058
356
+ TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = 0xC059
357
+ TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 = 0xC05A
358
+ TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 = 0xC05B
359
+ TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = 0xC05C
360
+ TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = 0xC05D
361
+ TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = 0xC05E
362
+ TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = 0xC05F
363
+ TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC060
364
+ TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC061
365
+ TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC062
366
+ TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC063
367
+ TLS_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC064
368
+ TLS_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC065
369
+ TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC066
370
+ TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC067
371
+ TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC068
372
+ TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC069
373
+ TLS_PSK_WITH_ARIA_128_GCM_SHA256 = 0xC06A
374
+ TLS_PSK_WITH_ARIA_256_GCM_SHA384 = 0xC06B
375
+ TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = 0xC06C
376
+ TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = 0xC06D
377
+ TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = 0xC06E
378
+ TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = 0xC06F
379
+ TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC070
380
+ TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC071
381
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC072
382
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC073
383
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC074
384
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC075
385
+ TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC076
386
+ TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC077
387
+ TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC078
388
+ TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC079
389
+ TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC07A
390
+ TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC07B
391
+ TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC07C
392
+ TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC07D
393
+ TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC07E
394
+ TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC07F
395
+ TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 0xC080
396
+ TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 0xC081
397
+ TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 0xC082
398
+ TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 0xC083
399
+ TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = 0xC084
400
+ TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = 0xC085
401
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC086
402
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC087
403
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC088
404
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC089
405
+ TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC08A
406
+ TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC08B
407
+ TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC08C
408
+ TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC08D
409
+ TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 0xC08E
410
+ TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 0xC08F
411
+ TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 0xC090
412
+ TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 0xC091
413
+ TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 0xC092
414
+ TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 0xC093
415
+ TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC094
416
+ TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC095
417
+ TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC096
418
+ TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC097
419
+ TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC098
420
+ TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC099
421
+ TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC09A
422
+ TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC09B
423
+ TLS_RSA_WITH_AES_128_CCM = 0xC09C
424
+ TLS_RSA_WITH_AES_256_CCM = 0xC09D
425
+ TLS_DHE_RSA_WITH_AES_128_CCM = 0xC09E
426
+ TLS_DHE_RSA_WITH_AES_256_CCM = 0xC09F
427
+ TLS_RSA_WITH_AES_128_CCM_8 = 0xC0A0
428
+ TLS_RSA_WITH_AES_256_CCM_8 = 0xC0A1
429
+ TLS_DHE_RSA_WITH_AES_128_CCM_8 = 0xC0A2
430
+ TLS_DHE_RSA_WITH_AES_256_CCM_8 = 0xC0A3
431
+ TLS_PSK_WITH_AES_128_CCM = 0xC0A4
432
+ TLS_PSK_WITH_AES_256_CCM = 0xC0A5
433
+ TLS_DHE_PSK_WITH_AES_128_CCM = 0xC0A6
434
+ TLS_DHE_PSK_WITH_AES_256_CCM = 0xC0A7
435
+ TLS_PSK_WITH_AES_128_CCM_8 = 0xC0A8
436
+ TLS_PSK_WITH_AES_256_CCM_8 = 0xC0A9
437
+ TLS_PSK_DHE_WITH_AES_128_CCM_8 = 0xC0AA
438
+ TLS_PSK_DHE_WITH_AES_256_CCM_8 = 0xC0AB
439
+ TLS_ECDHE_ECDSA_WITH_AES_128_CCM = 0xC0AC
440
+ TLS_ECDHE_ECDSA_WITH_AES_256_CCM = 0xC0AD
441
+ TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 0xC0AE
442
+ TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = 0xC0AF
443
+ TLS_ECCPWD_WITH_AES_128_GCM_SHA256 = 0xC0B0
444
+ TLS_ECCPWD_WITH_AES_256_GCM_SHA384 = 0xC0B1
445
+ TLS_ECCPWD_WITH_AES_128_CCM_SHA256 = 0xC0B2
446
+ TLS_ECCPWD_WITH_AES_256_CCM_SHA384 = 0xC0B3
447
+ TLS_SHA256_SHA256 = 0xC0B4
448
+ TLS_SHA384_SHA384 = 0xC0B5
449
+ TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC = 0xC100
450
+ TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC = 0xC101
451
+ TLS_GOSTR341112_256_WITH_28147_CNT_IMIT = 0xC102
452
+ TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L = 0xC103
453
+ TLS_GOSTR341112_256_WITH_MAGMA_MGM_L = 0xC104
454
+ TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S = 0xC105
455
+ TLS_GOSTR341112_256_WITH_MAGMA_MGM_S = 0xC106
456
+ TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA8
457
+ TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA9
458
+ TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAA
459
+ TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAB
460
+ TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAC
461
+ TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAD
462
+ TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAE
463
+ TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 0xD001
464
+ TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 0xD002
465
+ TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256 = 0xD003
466
+ TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 0xD005
467
+
468
+
469
+ class ExtensionType(CodePoint):
470
+ server_name = 0x0000
471
+ max_fragment_length = 0x0001
472
+ client_certificate_url = 0x0002
473
+ trusted_ca_keys = 0x0003
474
+ truncated_hmac = 0x0004
475
+ status_request = 0x0005
476
+ user_mapping = 0x0006
477
+ client_authz = 0x0007
478
+ server_authz = 0x0008
479
+ cert_type = 0x0009
480
+ supported_groups = 0x000A
481
+ ec_point_formats = 0x000B
482
+ srp = 0x000C
483
+ signature_algorithms = 0x000D
484
+ use_srtp = 0x000E
485
+ heartbeat = 0x000F
486
+ application_layer_protocol_negotiation = 0x0010
487
+ status_request_v2 = 0x0011
488
+ signed_certificate_timestamp = 0x0012
489
+ client_certificate_type = 0x0013
490
+ server_certificate_type = 0x0014
491
+ padding = 0x0015
492
+ encrypt_then_mac = 0x0016
493
+ extended_main_secret = 0x0017
494
+ token_binding = 0x0018
495
+ cached_info = 0x0019
496
+ tls_lts = 0x001A
497
+ compress_certificate = 0x001B
498
+ record_size_limit = 0x001C
499
+ pwd_protect = 0x001D
500
+ pwd_clear = 0x001E
501
+ password_salt = 0x001F
502
+ ticket_pinning = 0x0020
503
+ tls_cert_with_extern_psk = 0x0021
504
+ delegated_credential = 0x0022
505
+ session_ticket = 0x0023
506
+ TLMSP = 0x0024
507
+ TLMSP_proxying = 0x0025
508
+ TLMSP_delegate = 0x0026
509
+ supported_ekt_ciphers = 0x0027
510
+ pre_shared_key = 0x0029
511
+ early_data = 0x002A
512
+ supported_versions = 0x002B
513
+ cookie = 0x002C
514
+ psk_key_exchange_modes = 0x002D
515
+ certificate_authorities = 0x002F
516
+ oid_filters = 0x0030
517
+ post_handshake_auth = 0x0031
518
+ signature_algorithms_cert = 0x0032
519
+ key_share = 0x0033
520
+ transparency_info = 0x0034
521
+ connection_id_deprecated = 0x0035
522
+ connection_id = 0x0036
523
+ external_id_hash = 0x0037
524
+ external_session_id = 0x0038
525
+ quic_transport_parameters = 0x0039
526
+ ticket_request = 0x003A
527
+ dnssec_chain = 0x003B
528
+ sequence_number_encryption_algorithms = 0x003C
529
+ rrc = 0x003D
530
+ tls_flags = 0x003E
531
+ server_padding = 0x12E0
532
+ next_protocol_negotiation = 0x3374
533
+ application_settings_old = 0x4469
534
+ application_settings = 0x44CD
535
+ channel_id = 0x7550
536
+ pake = 0x8A3B
537
+ trust_anchors = 0xCA34
538
+ ech_outer_extensions = 0xFD00
539
+ encrypted_client_hello = 0xFE0D
540
+ renegotiation_info = 0xFF01
541
+ quic_transport_parameters_legacy = 0xFFA5
542
+
543
+
544
+ class NamedGroup(CodePoint):
545
+ sect163k1 = 0x0001
546
+ sect163r1 = 0x0002
547
+ sect163r2 = 0x0003
548
+ sect193r1 = 0x0004
549
+ sect193r2 = 0x0005
550
+ sect233k1 = 0x0006
551
+ sect233r1 = 0x0007
552
+ sect239k1 = 0x0008
553
+ sect283k1 = 0x0009
554
+ sect283r1 = 0x000A
555
+ sect409k1 = 0x000B
556
+ sect409r1 = 0x000C
557
+ sect571k1 = 0x000D
558
+ sect571r1 = 0x000E
559
+ secp160k1 = 0x000F
560
+ secp160r1 = 0x0010
561
+ secp160r2 = 0x0011
562
+ secp192k1 = 0x0012
563
+ secp192r1 = 0x0013
564
+ secp224k1 = 0x0014
565
+ secp224r1 = 0x0015
566
+ secp256k1 = 0x0016
567
+ secp256r1 = 0x0017
568
+ secp384r1 = 0x0018
569
+ secp521r1 = 0x0019
570
+ brainpoolP256r1 = 0x001A
571
+ brainpoolP384r1 = 0x001B
572
+ brainpoolP512r1 = 0x001C
573
+ x25519 = 0x001D
574
+ x448 = 0x001E
575
+ brainpoolP256r1tls13 = 0x001F
576
+ brainpoolP384r1tls13 = 0x0020
577
+ brainpoolP512r1tls13 = 0x0021
578
+ GC256A = 0x0022
579
+ GC256B = 0x0023
580
+ GC256C = 0x0024
581
+ GC256D = 0x0025
582
+ GC512A = 0x0026
583
+ GC512B = 0x0027
584
+ GC512C = 0x0028
585
+ curveSM2 = 0x0029
586
+ ffdhe2048 = 0x0100
587
+ ffdhe3072 = 0x0101
588
+ ffdhe4096 = 0x0102
589
+ ffdhe6144 = 0x0103
590
+ ffdhe8192 = 0x0104
591
+ MLKEM512 = 0x0200
592
+ MLKEM768 = 0x0201
593
+ MLKEM1024 = 0x0202
594
+ SecP256r1MLKEM512 = 0x11E9
595
+ MLKEM512X25519 = 0x11EA
596
+ SecP256r1MLKEM768 = 0x11EB
597
+ X25519MLKEM768 = 0x11EC
598
+ SecP384r1MLKEM1024 = 0x11ED
599
+ curveSM2MLKEM768 = 0x11EE
600
+ X25519Kyber768Draft00_OBSOLETE = 0x6399
601
+ SecP256r1Kyber768Draft00_OBSOLETE = 0x639A
602
+ arbitrary_explicit_prime_curves = 0xFF01
603
+ arbitrary_explicit_char2_curves = 0xFF02
604
+
605
+
606
+ class SignatureScheme(CodePoint):
607
+ rsa_pkcs1_sha1 = 0x0201
608
+ ecdsa_sha1 = 0x0203
609
+ rsa_pkcs1_sha256 = 0x0401
610
+ ecdsa_secp256r1_sha256 = 0x0403
611
+ rsa_pkcs1_sha256_legacy = 0x0420
612
+ rsa_pkcs1_sha384 = 0x0501
613
+ ecdsa_secp384r1_sha384 = 0x0503
614
+ rsa_pkcs1_sha384_legacy = 0x0520
615
+ rsa_pkcs1_sha512 = 0x0601
616
+ ecdsa_secp521r1_sha512 = 0x0603
617
+ rsa_pkcs1_sha512_legacy = 0x0620
618
+ eccsi_sha256 = 0x0704
619
+ iso_ibs1 = 0x0705
620
+ iso_ibs2 = 0x0706
621
+ iso_chinese_ibs = 0x0707
622
+ sm2sig_sm3 = 0x0708
623
+ gostr34102012_256a = 0x0709
624
+ gostr34102012_256b = 0x070A
625
+ gostr34102012_256c = 0x070B
626
+ gostr34102012_256d = 0x070C
627
+ gostr34102012_512a = 0x070D
628
+ gostr34102012_512b = 0x070E
629
+ gostr34102012_512c = 0x070F
630
+ rsa_pss_rsae_sha256 = 0x0804
631
+ rsa_pss_rsae_sha384 = 0x0805
632
+ rsa_pss_rsae_sha512 = 0x0806
633
+ ed25519 = 0x0807
634
+ ed448 = 0x0808
635
+ rsa_pss_pss_sha256 = 0x0809
636
+ rsa_pss_pss_sha384 = 0x080A
637
+ rsa_pss_pss_sha512 = 0x080B
638
+ ecdsa_brainpoolP256r1tls13_sha256 = 0x081A
639
+ ecdsa_brainpoolP384r1tls13_sha384 = 0x081B
640
+ ecdsa_brainpoolP512r1tls13_sha512 = 0x081C
641
+ mldsa44 = 0x0904
642
+ mldsa65 = 0x0905
643
+ mldsa87 = 0x0906
644
+ slhdsa_sha2_128s = 0x0911
645
+ slhdsa_sha2_128f = 0x0912
646
+ slhdsa_sha2_192s = 0x0913
647
+ slhdsa_sha2_192f = 0x0914
648
+ slhdsa_sha2_256s = 0x0915
649
+ slhdsa_sha2_256f = 0x0916
650
+ slhdsa_shake_128s = 0x0917
651
+ slhdsa_shake_128f = 0x0918
652
+ slhdsa_shake_192s = 0x0919
653
+ slhdsa_shake_192f = 0x091A
654
+ slhdsa_shake_256s = 0x091B
655
+ slhdsa_shake_256f = 0x091C
656
+
657
+
658
+ class ECPointFormat(CodePoint):
659
+ uncompressed = 0
660
+ ansiX962_compressed_prime = 1
661
+ ansiX962_compressed_char2 = 2
662
+
663
+
664
+ class PskKeyExchangeMode(CodePoint):
665
+ psk_ke = 0
666
+ psk_dhe_ke = 1
667
+
668
+
669
+ class CertificateCompressionAlgorithm(CodePoint):
670
+ zlib = 1
671
+ brotli = 2
672
+ zstd = 3
673
+
674
+
675
+ class Http2SettingIdentifier(CodePoint):
676
+ HEADER_TABLE_SIZE = 0x0001
677
+ ENABLE_PUSH = 0x0002
678
+ MAX_CONCURRENT_STREAMS = 0x0003
679
+ INITIAL_WINDOW_SIZE = 0x0004
680
+ MAX_FRAME_SIZE = 0x0005
681
+ MAX_HEADER_LIST_SIZE = 0x0006
682
+ ENABLE_CONNECT_PROTOCOL = 0x0008
683
+ NO_RFC7540_PRIORITIES = 0x0009
684
+ TLS_RENEG_PERMITTED = 0x0010
685
+ ENABLE_METADATA = 0x4D44
686
+
687
+
688
+ class NextProtocol(Enum):
689
+ HTTP_0_9 = b"http/0.9"
690
+ HTTP_1_0 = b"http/1.0"
691
+ HTTP1 = b"http/1.1"
692
+ SPDY_1 = b"spdy/1"
693
+ SPDY_2 = b"spdy/2"
694
+ SPDY_3 = b"spdy/3"
695
+ TURN = b"stun.turn"
696
+ STUN = b"stun.nat-discovery"
697
+ H2 = b"h2"
698
+ H2C = b"h2c"
699
+ WEBRTC = b"webrtc"
700
+ C_WEBRTC = b"c-webrtc"
701
+ FTP = b"ftp"
702
+ IMAP = b"imap"
703
+ POP3 = b"pop3"
704
+ MANAGESIEVE = b"managesieve"
705
+ COAP = b"coap"
706
+ CO = b"co"
707
+ XMPP_CLIENT = b"xmpp-client"
708
+ XMPP_SERVER = b"xmpp-server"
709
+ ACME_TLS_1 = b"acme-tls/1"
710
+ MQTT = b"mqtt"
711
+ DOT = b"dot"
712
+ NTSKE_1 = b"ntske/1"
713
+ SUNRPC = b"sunrpc"
714
+ H3 = b"h3"
715
+ SMB = b"smb"
716
+ IRC = b"irc"
717
+ NNTP = b"nntp"
718
+ NNSP = b"nnsp"
719
+ DOQ = b"doq"
720
+ SIP_2 = b"sip/2"
721
+ TDS_8_0 = b"tds/8.0"
722
+ DICOM = b"dicom"
723
+ POSTGRESQL = b"postgresql"
724
+ RADIUS_1_0 = b"radius/1.0"
725
+ RADIUS_1_1 = b"radius/1.1"
726
+ NETPERFMETER_CONTROL = b"netperfmeter/control"
727
+ NETPERFMETER_DATA = b"netperfmeter/data"
728
+ N_PAMP_2 = b"n-pamp/2"
729
+ EOQ = b"EoQ"
730
+ SNIFQ_1 = b"snifq/1"
731
+ N_PAMP_3 = b"n-pamp/3"