tttls1.3 0.3.6 → 0.3.7

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/lib/tttls1.3/version.rb +1 -1
  4. data/lib/tttls1.3.rb +1 -0
  5. data/tttls1.3.gemspec +5 -2
  6. metadata +3 -113
  7. data/.github/workflows/ci.yml +0 -39
  8. data/.gitignore +0 -17
  9. data/spec/aead_spec.rb +0 -95
  10. data/spec/alert_spec.rb +0 -54
  11. data/spec/alpn_spec.rb +0 -55
  12. data/spec/application_data_spec.rb +0 -26
  13. data/spec/certificate_spec.rb +0 -82
  14. data/spec/certificate_verify_spec.rb +0 -51
  15. data/spec/change_cipher_spec_spec.rb +0 -26
  16. data/spec/cipher_suites_spec.rb +0 -39
  17. data/spec/client_hello_spec.rb +0 -105
  18. data/spec/client_spec.rb +0 -274
  19. data/spec/compress_certificate_spec.rb +0 -54
  20. data/spec/cookie_spec.rb +0 -98
  21. data/spec/early_data_indication_spec.rb +0 -64
  22. data/spec/ech_outer_extensions_spec.rb +0 -42
  23. data/spec/ech_spec.rb +0 -122
  24. data/spec/encrypted_extensions_spec.rb +0 -94
  25. data/spec/end_of_early_data_spec.rb +0 -28
  26. data/spec/endpoint_spec.rb +0 -167
  27. data/spec/error_spec.rb +0 -18
  28. data/spec/extensions_spec.rb +0 -250
  29. data/spec/finished_spec.rb +0 -55
  30. data/spec/fixtures/rsa_ca.crt +0 -18
  31. data/spec/fixtures/rsa_ca.key +0 -27
  32. data/spec/fixtures/rsa_rsa.crt +0 -18
  33. data/spec/fixtures/rsa_rsa.key +0 -27
  34. data/spec/fixtures/rsa_rsa_ocsp.crt +0 -18
  35. data/spec/fixtures/rsa_rsa_ocsp.key +0 -27
  36. data/spec/fixtures/rsa_rsassaPss.crt +0 -20
  37. data/spec/fixtures/rsa_rsassaPss.key +0 -27
  38. data/spec/fixtures/rsa_secp256r1.crt +0 -14
  39. data/spec/fixtures/rsa_secp256r1.key +0 -5
  40. data/spec/fixtures/rsa_secp384r1.crt +0 -14
  41. data/spec/fixtures/rsa_secp384r1.key +0 -6
  42. data/spec/fixtures/rsa_secp521r1.crt +0 -15
  43. data/spec/fixtures/rsa_secp521r1.key +0 -7
  44. data/spec/key_schedule_spec.rb +0 -221
  45. data/spec/key_share_spec.rb +0 -199
  46. data/spec/new_session_ticket_spec.rb +0 -80
  47. data/spec/pre_shared_key_spec.rb +0 -167
  48. data/spec/psk_key_exchange_modes_spec.rb +0 -45
  49. data/spec/record_size_limit_spec.rb +0 -61
  50. data/spec/record_spec.rb +0 -105
  51. data/spec/server_hello_spec.rb +0 -200
  52. data/spec/server_name_spec.rb +0 -110
  53. data/spec/server_spec.rb +0 -232
  54. data/spec/signature_algorithms_cert_spec.rb +0 -77
  55. data/spec/signature_algorithms_spec.rb +0 -104
  56. data/spec/spec_helper.rb +0 -990
  57. data/spec/status_request_spec.rb +0 -140
  58. data/spec/supported_groups_spec.rb +0 -79
  59. data/spec/supported_versions_spec.rb +0 -136
  60. data/spec/transcript_spec.rb +0 -83
  61. data/spec/unknown_extension_spec.rb +0 -90
  62. data/spec/utils_spec.rb +0 -235
data/spec/spec_helper.rb DELETED
@@ -1,990 +0,0 @@
1
- # encoding: ascii-8bit
2
- # frozen_string_literal: true
3
-
4
- RSpec.configure(&:disable_monkey_patching!)
5
-
6
- # rubocop: disable Style/MixinUsage
7
- require 'date'
8
- require 'tttls1.3'
9
- include TTTLS13
10
- include TTTLS13::Error
11
- include TTTLS13::CipherSuite
12
- include TTTLS13::SignatureScheme
13
- include TTTLS13::NamedGroup
14
- include TTTLS13::Cryptograph
15
- include TTTLS13::Message
16
- include TTTLS13::Message::Extension
17
- # rubocop: enable Style/MixinUsage
18
-
19
- class SimpleStream
20
- def initialize(binary = '')
21
- @buffer = binary
22
- end
23
-
24
- def write(binary)
25
- @buffer += binary
26
- end
27
-
28
- def read(len = @buffer.length)
29
- res = @buffer.slice(0, len)
30
- @buffer = @buffer[len..]
31
- res
32
- end
33
- end
34
-
35
- # TTTLS13::CipherSuites
36
- TESTBINARY_CIPHER_SUITES = <<BIN.split.map(&:hex).map(&:chr).join
37
- 13 02 13 03 13 01
38
- BIN
39
-
40
- # TTTLS13::Message::Extension::$Object
41
- TESTBINARY_SERVER_NAME = <<BIN.split.map(&:hex).map(&:chr).join
42
- 00 0d 00 00 0a 67 69 74 68 75 62 2e 63 6f 6d
43
- BIN
44
-
45
- TESTBINARY_OCSP_STATUS_REQUEST = <<BIN.split.map(&:hex).map(&:chr).join
46
- 01 00 00 00 00
47
- BIN
48
-
49
- TESTBINARY_OCSP_RESPONSE = <<BIN.split.map(&:hex).map(&:chr).join
50
- 01 00 01 d0 30 82 01 cc 0a 01 00 a0 82 01 c5 30
51
- 82 01 c1 06 09 2b 06 01 05 05 07 30 01 01 04 82
52
- 01 b2 30 82 01 ae 30 81 97 a1 16 30 14 31 12 30
53
- 10 06 03 55 04 03 0c 09 74 65 73 74 2d 6f 63 73
54
- 70 18 0f 32 30 31 39 31 31 32 38 32 30 34 32 32
55
- 38 5a 30 6c 30 6a 30 42 30 09 06 05 2b 0e 03 02
56
- 1a 05 00 04 14 71 02 ca 0e ca 3e be d8 31 e6 37
57
- 40 80 9e 37 f6 da 9f a5 27 04 14 ac c2 63 89 fe
58
- 4d c6 08 1f 1f 4d 77 9e 12 7a bf 32 b6 d6 12 02
59
- 09 00 cf 1a 4c 8a cc cc 78 33 80 00 18 0f 32 30
60
- 31 39 31 31 32 38 32 30 34 32 32 38 5a a0 11 18
61
- 0f 32 30 32 39 31 31 32 38 32 30 34 32 32 38 5a
62
- 30 0d 06 09 2a 86 48 86 f7 0d 01 01 05 05 00 03
63
- 82 01 01 00 42 90 e2 2f f0 25 3b cf 11 75 56 83
64
- c2 dc 10 d1 e8 d3 74 67 9e df db 0e 03 36 9f 64
65
- 48 61 8b 50 ca 2c dd fc 82 5b 52 d5 9b 06 64 86
66
- 70 08 c2 0b ca c9 50 b8 42 42 19 80 8f 6e f0 42
67
- 92 ac 67 4f 74 fa 2a d2 f4 2f 82 15 11 71 4b bd
68
- 54 d0 21 fb 0a 91 d3 ba 67 5e cb 7d b2 e6 a2 da
69
- 30 3d b3 92 3d a9 4e 2c f6 4a 0b 22 96 b2 1d 06
70
- c3 0a c7 41 5f 9e 22 c0 e0 3f 52 cc ff be dd 52
71
- 80 3f 68 36 ce c0 02 df ae ab 96 a9 be d8 51 b2
72
- bd ec f9 e7 98 5e 8a 77 69 b6 f1 60 19 49 f0 58
73
- 26 70 2f 7b 19 cc d0 13 9e 9c ed 8a 5c 87 34 4c
74
- fd bd 0f 41 3f 5c d8 1e 26 ce bb dd 17 a7 a4 37
75
- 8f d8 19 39 5b c9 17 18 ca c3 7a eb 5d e7 ba a1
76
- 12 23 d6 cb 22 0e e1 bf 9e 40 9b e3 5c b5 6b e3
77
- aa 6e 93 56 4f da da a1 c6 79 13 9d 5c d6 87 2b
78
- f7 6a 0f fc 2c 03 b2 41 c4 90 b8 3d 50 1c 8a 9b
79
- 11 1b 41 83
80
- BIN
81
-
82
- TESTBINARY_SUPPORTED_GROUPS = <<BIN.split.map(&:hex).map(&:chr).join
83
- 00 06 00 17 00 18 00 19
84
- BIN
85
-
86
- TESTBINARY_SUPPORTED_VERSIONS_CH = <<BIN.split.map(&:hex).map(&:chr).join
87
- 04 03 04 03 03
88
- BIN
89
-
90
- TESTBINARY_SUPPORTED_VERSIONS_SH = <<BIN.split.map(&:hex).map(&:chr).join
91
- 03 04
92
- BIN
93
-
94
- TESTBINARY_KEY_SHARE_CH = <<BIN.split.map(&:hex).map(&:chr).join
95
- 00 45 00 17 00 41 00 01 02 03 04 05 06 07 08 09
96
- 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19
97
- 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29
98
- 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39
99
- 3a 3b 3c 3d 3e 3f 40
100
- BIN
101
-
102
- TESTBINARY_KEY_SHARE_SH = <<BIN.split.map(&:hex).map(&:chr).join
103
- 00 17 00 41 00 01 02 03 04 05 06 07 08 09 0a 0b
104
- 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b
105
- 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b
106
- 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b
107
- 3c 3d 3e 3f 40
108
- BIN
109
-
110
- TESTBINARY_KEY_SHARE_HRR = <<BIN.split.map(&:hex).map(&:chr).join
111
- 00 17
112
- BIN
113
-
114
- TESTBINARY_SIGNATURE_ALGORITHMS = <<BIN.split.map(&:hex).map(&:chr).join
115
- 00 10 04 03 08 04 04 01 05 03 08 05 05 01 08 06
116
- 06 01
117
- BIN
118
-
119
- TESTBINARY_SIGNATURE_ALGORITHMS_CERT = TESTBINARY_SIGNATURE_ALGORITHMS
120
-
121
- TESTBINARY_COOKIE = <<BIN.split.map(&:hex).map(&:chr).join
122
- 00 20 6a d9 1d 2c d6 cc f1 3b 3d 48 cc 5d cb bd
123
- 84 77 6b c3 f4 f0 9f 8d 53 dc 11 7a dd c0 9c 40
124
- 8d 4a
125
- BIN
126
-
127
- TESTBINARY_PSK_KEY_EXCHANGE_MODES = <<BIN.split.map(&:hex).map(&:chr).join
128
- 02 00 01
129
- BIN
130
-
131
- TESTBINARY_RECORD_SIZE_LIMIT = <<BIN.split.map(&:hex).map(&:chr).join
132
- 40 00
133
- BIN
134
-
135
- TESTBINARY_PRE_SHARED_KEY_CH = <<BIN.split.map(&:hex).map(&:chr).join
136
- 00 b8 00 b2 2c 03 5d 82 93 59 ee 5f f7 af 4e c9
137
- 00 00 00 00 26 2a 64 94 dc 48 6d 2c 8a 34 cb 33
138
- fa 90 bf 1b 00 70 ad 3c 49 88 83 c9 36 7c 09 a2
139
- be 78 5a bc 55 cd 22 60 97 a3 a9 82 11 72 83 f8
140
- 2a 03 a1 43 ef d3 ff 5d d3 6d 64 e8 61 be 7f d6
141
- 1d 28 27 db 27 9c ce 14 50 77 d4 54 a3 66 4d 4e
142
- 6d a4 d2 9e e0 37 25 a6 a4 da fc d0 fc 67 d2 ae
143
- a7 05 29 51 3e 3d a2 67 7f a5 90 6c 5b 3f 7d 8f
144
- 92 f2 28 bd a4 0d da 72 14 70 f9 fb f2 97 b5 ae
145
- a6 17 64 6f ac 5c 03 27 2e 97 07 27 c6 21 a7 91
146
- 41 ef 5f 7d e6 50 5e 5b fb c3 88 e9 33 43 69 40
147
- 93 93 4a e4 d3 57 fa d6 aa cb 00 21 20 3a dd 4f
148
- b2 d8 fd f8 22 a0 ca 3c f7 67 8e f5 e8 8d ae 99
149
- 01 41 c5 92 4d 57 bb 6f a3 1b 9e 5f 9d
150
- BIN
151
-
152
- TESTBINARY_PRE_SHARED_KEY_SH = <<BIN.split.map(&:hex).map(&:chr).join
153
- 00 00
154
- BIN
155
-
156
- TESTBINARY_ALPN = <<BIN.split.map(&:hex).map(&:chr).join
157
- 00 0c 02 68 32 08 68 74 74 70 2f 31 2e 31
158
- BIN
159
-
160
- TESTBINARY_EARLY_DATA_INDICATION_NST = <<BIN.split.map(&:hex).map(&:chr).join
161
- 00 00 04 00
162
- BIN
163
-
164
- TESTBINARY_EARLY_DATA_INDICATION_CH = ''
165
-
166
- TESTBINARY_COMPRESS_CERTIFICATE = <<BIN.split.map(&:hex).map(&:chr).join
167
- 02 00 01
168
- BIN
169
-
170
- # https://datatracker.ietf.org/doc/html/rfc8448#section-3
171
- # 2. Private Keys
172
- TESTBINARY_PKEY_MODULUS = <<BIN.split.map(&:hex).map(&:chr).join
173
- b4 bb 49 8f 82 79 30 3d 98 08 36 39 9b 36 c6 98
174
- 8c 0c 68 de 55 e1 bd b8 26 d3 90 1a 24 61 ea fd
175
- 2d e4 9a 91 d0 15 ab bc 9a 95 13 7a ce 6c 1a f1
176
- 9e aa 6a f9 8c 7c ed 43 12 09 98 e1 87 a8 0e e0
177
- cc b0 52 4b 1b 01 8c 3e 0b 63 26 4d 44 9a 6d 38
178
- e2 2a 5f da 43 08 46 74 80 30 53 0e f0 46 1c 8c
179
- a9 d9 ef bf ae 8e a6 d1 d0 3e 2b d1 93 ef f0 ab
180
- 9a 80 02 c4 74 28 a6 d3 5a 8d 88 d7 9f 7f 1e 3f
181
- BIN
182
-
183
- TESTBINARY_PKEY_PUBLIC_EXPONENT = <<BIN.split.map(&:hex).map(&:chr).join
184
- 01 00 01
185
- BIN
186
-
187
- TESTBINARY_PKEY_PRIME1 = <<BIN.split.map(&:hex).map(&:chr).join
188
- e4 35 fb 7c c8 37 37 75 6d ac ea 96 ab 7f 59 a2
189
- cc 10 69 db 7d eb 19 0e 17 e3 3a 53 2b 27 3f 30
190
- a3 27 aa 0a aa bc 58 cd 67 46 6a f9 84 5f ad c6
191
- 75 fe 09 4a f9 2c 4b d1 f2 c1 bc 33 dd 2e 05 15
192
- BIN
193
-
194
- TESTBINARY_PKEY_PRIME2 = <<BIN.split.map(&:hex).map(&:chr).join
195
- ca bd 3b c0 e0 43 86 64 c8 d4 cc 9f 99 97 7a 94
196
- d9 bb fe ad 8e 43 87 0a ba e3 f7 eb 8b 4e 0e ee
197
- 8a f1 d9 b4 71 9b a6 19 6c f2 cb ba ee eb f8 b3
198
- 49 0a fe 9e 9f fa 74 a8 8a a5 1f c6 45 62 93 03
199
- BIN
200
-
201
- TESTBINARY_PKEY_PRIVATE_EXPONENT = <<BIN.split.map(&:hex).map(&:chr).join
202
- 04 de a7 05 d4 3a 6e a7 20 9d d8 07 21 11 a8 3c
203
- 81 e3 22 a5 92 78 b3 34 80 64 1e af 7c 0a 69 85
204
- b8 e3 1c 44 f6 de 62 e1 b4 c2 30 9f 61 26 e7 7b
205
- 7c 41 e9 23 31 4b bf a3 88 13 05 dc 12 17 f1 6c
206
- 81 9c e5 38 e9 22 f3 69 82 8d 0e 57 19 5d 8c 84
207
- 88 46 02 07 b2 fa a7 26 bc f7 08 bb d7 db 7f 67
208
- 9f 89 34 92 fc 2a 62 2e 08 97 0a ac 44 1c e4 e0
209
- c3 08 8d f2 5a e6 79 23 3d f8 a3 bd a2 ff 99 41
210
- BIN
211
-
212
- TESTBINARY_ECH_OUTER = <<BIN.split.map(&:hex).map(&:chr).join
213
- 00 00 01 00 01 20 00 20 00 01 02 03 04 05 06 07
214
- 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17
215
- 18 19 1a 1b 1c 1d 1e 1f 00 ef 00 01 02 03 04 05
216
- 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15
217
- 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25
218
- 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35
219
- 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45
220
- 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55
221
- 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65
222
- 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75
223
- 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85
224
- 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95
225
- 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5
226
- a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5
227
- b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5
228
- c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5
229
- d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5
230
- e6 e7 e8 e9 ea eb ec ed ee
231
- BIN
232
-
233
- TESTBINARY_ECH_INNER = <<BIN.split.map(&:hex).map(&:chr).join
234
- 01
235
- BIN
236
-
237
- TESTBINARY_ECH_EE = <<BIN.split.map(&:hex).map(&:chr).join
238
- 00 3a fe 0d 00 36 00 00 20 00 1e 00 00 00 00 00
239
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
240
- 00 00 00 00 00 00 00 00 00 00 04 00 01 00 01 00
241
- 09 6c 6f 63 61 6c 68 6f 73 74 00 00
242
- BIN
243
-
244
- TESTBINARY_ECH_HRR = <<BIN.split.map(&:hex).map(&:chr).join
245
- 00 00 00 00 00 00 00 00
246
- BIN
247
-
248
- TESTBINARY_ECH_OUTER_EXTENSIONS = <<BIN.split.map(&:hex).map(&:chr).join
249
- 02 00 33
250
- BIN
251
-
252
- # https://datatracker.ietf.org/doc/html/rfc8448#section-3
253
- # 3. Simple 1-RTT Handshake
254
- TESTBINARY_CLIENT_HELLO = <<BIN.split.map(&:hex).map(&:chr).join
255
- 01 00 00 c0 03 03 cb 34 ec b1 e7 81 63 ba 1c 38
256
- c6 da cb 19 6a 6d ff a2 1a 8d 99 12 ec 18 a2 ef
257
- 62 83 02 4d ec e7 00 00 06 13 01 13 03 13 02 01
258
- 00 00 91 00 00 00 0b 00 09 00 00 06 73 65 72 76
259
- 65 72 ff 01 00 01 00 00 0a 00 14 00 12 00 1d 00
260
- 17 00 18 00 19 01 00 01 01 01 02 01 03 01 04 00
261
- 23 00 00 00 33 00 26 00 24 00 1d 00 20 99 38 1d
262
- e5 60 e4 bd 43 d2 3d 8e 43 5a 7d ba fe b3 c0 6e
263
- 51 c1 3c ae 4d 54 13 69 1e 52 9a af 2c 00 2b 00
264
- 03 02 03 04 00 0d 00 20 00 1e 04 03 05 03 06 03
265
- 02 03 08 04 08 05 08 06 04 01 05 01 06 01 02 01
266
- 04 02 05 02 06 02 02 02 00 2d 00 02 01 01 00 1c
267
- 00 02 40 01
268
- BIN
269
-
270
- TESTBINARY_EXTENSIONS = <<BIN.split.map(&:hex).map(&:chr).join
271
- 00 91 00 00 00 0b 00 09 00 00 06 73 65 72 76 65
272
- 72 ff 01 00 01 00 00 0a 00 14 00 12 00 1d 00 17
273
- 00 18 00 19 01 00 01 01 01 02 01 03 01 04 00 23
274
- 00 00 00 33 00 26 00 24 00 1d 00 20 99 38 1d e5
275
- 60 e4 bd 43 d2 3d 8e 43 5a 7d ba fe b3 c0 6e 51
276
- c1 3c ae 4d 54 13 69 1e 52 9a af 2c 00 2b 00 03
277
- 02 03 04 00 0d 00 20 00 1e 04 03 05 03 06 03 02
278
- 03 08 04 08 05 08 06 04 01 05 01 06 01 02 01 04
279
- 02 05 02 06 02 02 02 00 2d 00 02 01 01 00 1c 00
280
- 02 40 01
281
- BIN
282
-
283
- TESTBINARY_SERVER_HELLO = <<BIN.split.map(&:hex).map(&:chr).join
284
- 02 00 00 56 03 03 a6 af 06 a4 12 18 60 dc 5e 6e
285
- 60 24 9c d3 4c 95 93 0c 8a c5 cb 14 34 da c1 55
286
- 77 2e d3 e2 69 28 00 13 01 00 00 2e 00 33 00 24
287
- 00 1d 00 20 c9 82 88 76 11 20 95 fe 66 76 2b db
288
- f7 c6 72 e1 56 d6 cc 25 3b 83 3d f1 dd 69 b1 b0
289
- 4e 75 1f 0f 00 2b 00 02 03 04
290
- BIN
291
-
292
- TESTBINARY_ENCRYPTED_EXTENSIONS = <<BIN.split.map(&:hex).map(&:chr).join
293
- 08 00 00 24 00 22 00 0a 00 14 00 12 00 1d 00 17
294
- 00 18 00 19 01 00 01 01 01 02 01 03 01 04 00 1c
295
- 00 02 40 01 00 00 00 00
296
- BIN
297
-
298
- TESTBINARY_CERTIFICATE = <<BIN.split.map(&:hex).map(&:chr).join
299
- 0b 00 01 b9 00 00 01 b5 00 01 b0 30 82 01 ac 30
300
- 82 01 15 a0 03 02 01 02 02 01 02 30 0d 06 09 2a
301
- 86 48 86 f7 0d 01 01 0b 05 00 30 0e 31 0c 30 0a
302
- 06 03 55 04 03 13 03 72 73 61 30 1e 17 0d 31 36
303
- 30 37 33 30 30 31 32 33 35 39 5a 17 0d 32 36 30
304
- 37 33 30 30 31 32 33 35 39 5a 30 0e 31 0c 30 0a
305
- 06 03 55 04 03 13 03 72 73 61 30 81 9f 30 0d 06
306
- 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00
307
- 30 81 89 02 81 81 00 b4 bb 49 8f 82 79 30 3d 98
308
- 08 36 39 9b 36 c6 98 8c 0c 68 de 55 e1 bd b8 26
309
- d3 90 1a 24 61 ea fd 2d e4 9a 91 d0 15 ab bc 9a
310
- 95 13 7a ce 6c 1a f1 9e aa 6a f9 8c 7c ed 43 12
311
- 09 98 e1 87 a8 0e e0 cc b0 52 4b 1b 01 8c 3e 0b
312
- 63 26 4d 44 9a 6d 38 e2 2a 5f da 43 08 46 74 80
313
- 30 53 0e f0 46 1c 8c a9 d9 ef bf ae 8e a6 d1 d0
314
- 3e 2b d1 93 ef f0 ab 9a 80 02 c4 74 28 a6 d3 5a
315
- 8d 88 d7 9f 7f 1e 3f 02 03 01 00 01 a3 1a 30 18
316
- 30 09 06 03 55 1d 13 04 02 30 00 30 0b 06 03 55
317
- 1d 0f 04 04 03 02 05 a0 30 0d 06 09 2a 86 48 86
318
- f7 0d 01 01 0b 05 00 03 81 81 00 85 aa d2 a0 e5
319
- b9 27 6b 90 8c 65 f7 3a 72 67 17 06 18 a5 4c 5f
320
- 8a 7b 33 7d 2d f7 a5 94 36 54 17 f2 ea e8 f8 a5
321
- 8c 8f 81 72 f9 31 9c f3 6b 7f d6 c5 5b 80 f2 1a
322
- 03 01 51 56 72 60 96 fd 33 5e 5e 67 f2 db f1 02
323
- 70 2e 60 8c ca e6 be c1 fc 63 a4 2a 99 be 5c 3e
324
- b7 10 7c 3c 54 e9 b9 eb 2b d5 20 3b 1c 3b 84 e0
325
- a8 b2 f7 59 40 9b a3 ea c9 d9 1d 40 2d cc 0c c8
326
- f8 96 12 29 ac 91 87 b4 2b 4d e1 00 00
327
- BIN
328
-
329
- TESTBINARY_CERTIFICATE_VERIFY = <<BIN.split.map(&:hex).map(&:chr).join
330
- 0f 00 00 84 08 04 00 80 5a 74 7c 5d 88 fa 9b d2
331
- e5 5a b0 85 a6 10 15 b7 21 1f 82 4c d4 84 14 5a
332
- b3 ff 52 f1 fd a8 47 7b 0b 7a bc 90 db 78 e2 d3
333
- 3a 5c 14 1a 07 86 53 fa 6b ef 78 0c 5e a2 48 ee
334
- aa a7 85 c4 f3 94 ca b6 d3 0b be 8d 48 59 ee 51
335
- 1f 60 29 57 b1 54 11 ac 02 76 71 45 9e 46 44 5c
336
- 9e a5 8c 18 1e 81 8e 95 b8 c3 fb 0b f3 27 84 09
337
- d3 be 15 2a 3d a5 04 3e 06 3d da 65 cd f5 ae a2
338
- 0d 53 df ac d4 2f 74 f3
339
- BIN
340
-
341
- TESTBINARY_SERVER_FINISHED = <<BIN.split.map(&:hex).map(&:chr).join
342
- 14 00 00 20 9b 9b 14 1d 90 63 37 fb d2 cb dc e7
343
- 1d f4 de da 4a b4 2c 30 95 72 cb 7f ff ee 54 54
344
- b7 8f 07 18
345
- BIN
346
-
347
- TESTBINARY_SERVER_PARAMETERS = <<BIN.split.map(&:hex).map(&:chr).join
348
- 08 00 00 24 00 22 00 0a 00 14 00 12 00 1d 00 17
349
- 00 18 00 19 01 00 01 01 01 02 01 03 01 04 00 1c
350
- 00 02 40 01 00 00 00 00 0b 00 01 b9 00 00 01 b5
351
- 00 01 b0 30 82 01 ac 30 82 01 15 a0 03 02 01 02
352
- 02 01 02 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b
353
- 05 00 30 0e 31 0c 30 0a 06 03 55 04 03 13 03 72
354
- 73 61 30 1e 17 0d 31 36 30 37 33 30 30 31 32 33
355
- 35 39 5a 17 0d 32 36 30 37 33 30 30 31 32 33 35
356
- 39 5a 30 0e 31 0c 30 0a 06 03 55 04 03 13 03 72
357
- 73 61 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01
358
- 01 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 b4
359
- bb 49 8f 82 79 30 3d 98 08 36 39 9b 36 c6 98 8c
360
- 0c 68 de 55 e1 bd b8 26 d3 90 1a 24 61 ea fd 2d
361
- e4 9a 91 d0 15 ab bc 9a 95 13 7a ce 6c 1a f1 9e
362
- aa 6a f9 8c 7c ed 43 12 09 98 e1 87 a8 0e e0 cc
363
- b0 52 4b 1b 01 8c 3e 0b 63 26 4d 44 9a 6d 38 e2
364
- 2a 5f da 43 08 46 74 80 30 53 0e f0 46 1c 8c a9
365
- d9 ef bf ae 8e a6 d1 d0 3e 2b d1 93 ef f0 ab 9a
366
- 80 02 c4 74 28 a6 d3 5a 8d 88 d7 9f 7f 1e 3f 02
367
- 03 01 00 01 a3 1a 30 18 30 09 06 03 55 1d 13 04
368
- 02 30 00 30 0b 06 03 55 1d 0f 04 04 03 02 05 a0
369
- 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 03
370
- 81 81 00 85 aa d2 a0 e5 b9 27 6b 90 8c 65 f7 3a
371
- 72 67 17 06 18 a5 4c 5f 8a 7b 33 7d 2d f7 a5 94
372
- 36 54 17 f2 ea e8 f8 a5 8c 8f 81 72 f9 31 9c f3
373
- 6b 7f d6 c5 5b 80 f2 1a 03 01 51 56 72 60 96 fd
374
- 33 5e 5e 67 f2 db f1 02 70 2e 60 8c ca e6 be c1
375
- fc 63 a4 2a 99 be 5c 3e b7 10 7c 3c 54 e9 b9 eb
376
- 2b d5 20 3b 1c 3b 84 e0 a8 b2 f7 59 40 9b a3 ea
377
- c9 d9 1d 40 2d cc 0c c8 f8 96 12 29 ac 91 87 b4
378
- 2b 4d e1 00 00 0f 00 00 84 08 04 00 80 5a 74 7c
379
- 5d 88 fa 9b d2 e5 5a b0 85 a6 10 15 b7 21 1f 82
380
- 4c d4 84 14 5a b3 ff 52 f1 fd a8 47 7b 0b 7a bc
381
- 90 db 78 e2 d3 3a 5c 14 1a 07 86 53 fa 6b ef 78
382
- 0c 5e a2 48 ee aa a7 85 c4 f3 94 ca b6 d3 0b be
383
- 8d 48 59 ee 51 1f 60 29 57 b1 54 11 ac 02 76 71
384
- 45 9e 46 44 5c 9e a5 8c 18 1e 81 8e 95 b8 c3 fb
385
- 0b f3 27 84 09 d3 be 15 2a 3d a5 04 3e 06 3d da
386
- 65 cd f5 ae a2 0d 53 df ac d4 2f 74 f3 14 00 00
387
- 20 9b 9b 14 1d 90 63 37 fb d2 cb dc e7 1d f4 de
388
- da 4a b4 2c 30 95 72 cb 7f ff ee 54 54 b7 8f 07
389
- 18
390
- BIN
391
-
392
- TESTBINARY_SERVER_PARAMETERS_RECORD = <<BIN.split.map(&:hex).map(&:chr).join
393
- 17 03 03 02 a2 d1 ff 33 4a 56 f5 bf f6 59 4a 07
394
- cc 87 b5 80 23 3f 50 0f 45 e4 89 e7 f3 3a f3 5e
395
- df 78 69 fc f4 0a a4 0a a2 b8 ea 73 f8 48 a7 ca
396
- 07 61 2e f9 f9 45 cb 96 0b 40 68 90 51 23 ea 78
397
- b1 11 b4 29 ba 91 91 cd 05 d2 a3 89 28 0f 52 61
398
- 34 aa dc 7f c7 8c 4b 72 9d f8 28 b5 ec f7 b1 3b
399
- d9 ae fb 0e 57 f2 71 58 5b 8e a9 bb 35 5c 7c 79
400
- 02 07 16 cf b9 b1 18 3e f3 ab 20 e3 7d 57 a6 b9
401
- d7 47 76 09 ae e6 e1 22 a4 cf 51 42 73 25 25 0c
402
- 7d 0e 50 92 89 44 4c 9b 3a 64 8f 1d 71 03 5d 2e
403
- d6 5b 0e 3c dd 0c ba e8 bf 2d 0b 22 78 12 cb b3
404
- 60 98 72 55 cc 74 41 10 c4 53 ba a4 fc d6 10 92
405
- 8d 80 98 10 e4 b7 ed 1a 8f d9 91 f0 6a a6 24 82
406
- 04 79 7e 36 a6 a7 3b 70 a2 55 9c 09 ea d6 86 94
407
- 5b a2 46 ab 66 e5 ed d8 04 4b 4c 6d e3 fc f2 a8
408
- 94 41 ac 66 27 2f d8 fb 33 0e f8 19 05 79 b3 68
409
- 45 96 c9 60 bd 59 6e ea 52 0a 56 a8 d6 50 f5 63
410
- aa d2 74 09 96 0d ca 63 d3 e6 88 61 1e a5 e2 2f
411
- 44 15 cf 95 38 d5 1a 20 0c 27 03 42 72 96 8a 26
412
- 4e d6 54 0c 84 83 8d 89 f7 2c 24 46 1a ad 6d 26
413
- f5 9e ca ba 9a cb bb 31 7b 66 d9 02 f4 f2 92 a3
414
- 6a c1 b6 39 c6 37 ce 34 31 17 b6 59 62 22 45 31
415
- 7b 49 ee da 0c 62 58 f1 00 d7 d9 61 ff b1 38 64
416
- 7e 92 ea 33 0f ae ea 6d fa 31 c7 a8 4d c3 bd 7e
417
- 1b 7a 6c 71 78 af 36 87 90 18 e3 f2 52 10 7f 24
418
- 3d 24 3d c7 33 9d 56 84 c8 b0 37 8b f3 02 44 da
419
- 8c 87 c8 43 f5 e5 6e b4 c5 e8 28 0a 2b 48 05 2c
420
- f9 3b 16 49 9a 66 db 7c ca 71 e4 59 94 26 f7 d4
421
- 61 e6 6f 99 88 2b d8 9f c5 08 00 be cc a6 2d 6c
422
- 74 11 6d bd 29 72 fd a1 fa 80 f8 5d f8 81 ed be
423
- 5a 37 66 89 36 b3 35 58 3b 59 91 86 dc 5c 69 18
424
- a3 96 fa 48 a1 81 d6 b6 fa 4f 9d 62 d5 13 af bb
425
- 99 2f 2b 99 2f 67 f8 af e6 7f 76 91 3f a3 88 cb
426
- 56 30 c8 ca 01 e0 c6 5d 11 c6 6a 1e 2a c4 c8 59
427
- 77 b7 c7 a6 99 9b bf 10 dc 35 ae 69 f5 51 56 14
428
- 63 6c 0b 9b 68 c1 9e d2 e3 1c 0b 3b 66 76 30 38
429
- eb ba 42 f3 b3 8e dc 03 99 f3 a9 f2 3f aa 63 97
430
- 8c 31 7f c9 fa 66 a7 3f 60 f0 50 4d e9 3b 5b 84
431
- 5e 27 55 92 c1 23 35 ee 34 0b bc 4f dd d5 02 78
432
- 40 16 e4 b3 be 7e f0 4d da 49 f4 b4 40 a3 0c b5
433
- d2 af 93 98 28 fd 4a e3 79 4e 44 f9 4d f5 a6 31
434
- ed e4 2c 17 19 bf da bf 02 53 fe 51 75 be 89 8e
435
- 75 0e dc 53 37 0d 2b
436
- BIN
437
-
438
- TESTBINARY_CLIENT_FINISHED = <<BIN.split.map(&:hex).map(&:chr).join
439
- 14 00 00 20 a8 ec 43 6d 67 76 34 ae 52 5a c1 fc
440
- eb e1 1a 03 9e c1 76 94 fa c6 e9 85 27 b6 42 f2
441
- ed d5 ce 61
442
- BIN
443
-
444
- TESTBINARY_CLIENT_FINISHED_RECORD = <<BIN.split.map(&:hex).map(&:chr).join
445
- 17 03 03 00 35 75 ec 4d c2 38 cc e6 0b 29 80 44
446
- a7 1e 21 9c 56 cc 77 b0 51 7f e9 b9 3c 7a 4b fc
447
- 44 d8 7f 38 f8 03 38 ac 98 fc 46 de b3 84 bd 1c
448
- ae ac ab 68 67 d7 26 c4 05 46
449
- BIN
450
-
451
- TESTBINARY_NEW_SESSION_TICKET = <<BIN.split.map(&:hex).map(&:chr).join
452
- 04 00 00 c9 00 00 00 1e fa d6 aa c5 02 00 00 00
453
- b2 2c 03 5d 82 93 59 ee 5f f7 af 4e c9 00 00 00
454
- 00 26 2a 64 94 dc 48 6d 2c 8a 34 cb 33 fa 90 bf
455
- 1b 00 70 ad 3c 49 88 83 c9 36 7c 09 a2 be 78 5a
456
- bc 55 cd 22 60 97 a3 a9 82 11 72 83 f8 2a 03 a1
457
- 43 ef d3 ff 5d d3 6d 64 e8 61 be 7f d6 1d 28 27
458
- db 27 9c ce 14 50 77 d4 54 a3 66 4d 4e 6d a4 d2
459
- 9e e0 37 25 a6 a4 da fc d0 fc 67 d2 ae a7 05 29
460
- 51 3e 3d a2 67 7f a5 90 6c 5b 3f 7d 8f 92 f2 28
461
- bd a4 0d da 72 14 70 f9 fb f2 97 b5 ae a6 17 64
462
- 6f ac 5c 03 27 2e 97 07 27 c6 21 a7 91 41 ef 5f
463
- 7d e6 50 5e 5b fb c3 88 e9 33 43 69 40 93 93 4a
464
- e4 d3 57 00 08 00 2a 00 04 00 00 04 00
465
- BIN
466
-
467
- TESTBINARY_CLIENT_APPLICATION_DATA = <<BIN.split.map(&:hex).map(&:chr).join
468
- 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
469
- 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
470
- 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
471
- 30 31
472
- BIN
473
-
474
- TESTBINARY_ALERT = <<BIN.split.map(&:hex).map(&:chr).join
475
- 01 00
476
- BIN
477
-
478
- TESTBINARY_SERVER_FINISHED_KEY = <<BIN.split.map(&:hex).map(&:chr).join
479
- 00 8d 3b 66 f8 16 ea 55 9f 96 b5 37 e8 85 c3 1f
480
- c0 68 bf 49 2c 65 2f 01 f2 88 a1 d8 cd c1 9f c8
481
- BIN
482
-
483
- TESTBINARY_SERVER_PARAMETERS_WRITE_KEY = <<BIN.split.map(&:hex).map(&:chr).join
484
- 3f ce 51 60 09 c2 17 27 d0 f2 e4 e8 6e e4 03 bc
485
- BIN
486
-
487
- TESTBINARY_SERVER_PARAMETERS_WRITE_IV = <<BIN.split.map(&:hex).map(&:chr).join
488
- 5d 31 3e b2 67 12 76 ee 13 00 0b 30
489
- BIN
490
-
491
- TESTBINARY_CLIENT_FINISHED_KEY = <<BIN.split.map(&:hex).map(&:chr).join
492
- b8 0a d0 10 15 fb 2f 0b d6 5f f7 d4 da 5d 6b f8
493
- 3f 84 82 1d 1f 87 fd c7 d3 c7 5b 5a 7b 42 d9 c4
494
- BIN
495
-
496
- TESTBINARY_CLIENT_FINISHED_WRITE_KEY = <<BIN.split.map(&:hex).map(&:chr).join
497
- db fa a6 93 d1 76 2c 5b 66 6a f5 d9 50 25 8d 01
498
- BIN
499
-
500
- TESTBINARY_CLIENT_FINISHED_WRITE_IV = <<BIN.split.map(&:hex).map(&:chr).join
501
- 5b d3 c7 1b 83 6e 0b 76 bb 73 26 5f
502
- BIN
503
-
504
- TESTBINARY_SERVER_APPLICATION_WRITE_KEY = <<BIN.split.map(&:hex).map(&:chr).join
505
- 9f 02 28 3b 6c 9c 07 ef c2 6b b9 f2 ac 92 e3 56
506
- BIN
507
-
508
- TESTBINARY_SERVER_APPLICATION_WRITE_IV = <<BIN.split.map(&:hex).map(&:chr).join
509
- cf 78 2b 88 dd 83 54 9a ad f1 e9 84
510
- BIN
511
-
512
- TESTBINARY_CLIENT_APPLICATION_WRITE_KEY = <<BIN.split.map(&:hex).map(&:chr).join
513
- 17 42 2d da 59 6e d5 d9 ac d8 90 e3 c6 3f 50 51
514
- BIN
515
-
516
- TESTBINARY_CLIENT_APPLICATION_WRITE_IV = <<BIN.split.map(&:hex).map(&:chr).join
517
- 5b 78 92 3d ee 08 57 90 33 e5 23 d9
518
- BIN
519
-
520
- TESTBINARY_SHARED_SECRET = <<BIN.split.map(&:hex).map(&:chr).join
521
- 8b d4 05 4f b5 5b 9d 63 fd fb ac f9 f0 4b 9f 0d
522
- 35 e6 d6 3f 53 75 63 ef d4 62 72 90 0f 89 49 2d
523
- BIN
524
-
525
- TESTBINARY_C_HS_TRAFFIC = <<BIN.split.map(&:hex).map(&:chr).join
526
- b3 ed db 12 6e 06 7f 35 a7 80 b3 ab f4 5e 2d 8f
527
- 3b 1a 95 07 38 f5 2e 96 00 74 6a 0e 27 a5 5a 21
528
- BIN
529
-
530
- TESTBINARY_S_HS_TRAFFIC = <<BIN.split.map(&:hex).map(&:chr).join
531
- b6 7b 7d 69 0c c1 6c 4e 75 e5 42 13 cb 2d 37 b4
532
- e9 c9 12 bc de d9 10 5d 42 be fd 59 d3 91 ad 38
533
- BIN
534
-
535
- TESTBINARY_C_AP_TRAFFIC = <<BIN.split.map(&:hex).map(&:chr).join
536
- 9e 40 64 6c e7 9a 7f 9d c0 5a f8 88 9b ce 65 52
537
- 87 5a fa 0b 06 df 00 87 f7 92 eb b7 c1 75 04 a5
538
- BIN
539
-
540
- TESTBINARY_S_AP_TRAFFIC = <<BIN.split.map(&:hex).map(&:chr).join
541
- a1 1a f9 f0 55 31 f8 56 ad 47 11 6b 45 a9 50 32
542
- 82 04 b4 f4 4b fb 6b 3a 4b 4f 1f 3f cb 63 16 43
543
- BIN
544
-
545
- TESTBINARY_EXP_MASTER = <<BIN.split.map(&:hex).map(&:chr).join
546
- fe 22 f8 81 17 6e da 18 eb 8f 44 52 9e 67 92 c5
547
- 0c 9a 3f 89 45 2f 68 d8 ae 31 1b 43 09 d3 cf 50
548
- BIN
549
-
550
- TESTBINARY_RES_MASTER = <<BIN.split.map(&:hex).map(&:chr).join
551
- 7d f2 35 f2 03 1d 2a 05 12 87 d0 2b 02 41 b0 bf
552
- da f8 6c c8 56 23 1f 2d 5a ba 46 c4 34 ec 19 6c
553
- BIN
554
-
555
- TESTBINARY_CH_CF_TRANSCRIPT_HASH = <<BIN.split.map(&:hex).map(&:chr).join
556
- 20 91 45 a9 6e e8 e2 a1 22 ff 81 00 47 cc 95 26
557
- 84 65 8d 60 49 e8 64 29 42 6d b8 7c 54 ad 14 3d
558
- BIN
559
-
560
- # https://datatracker.ietf.org/doc/html/rfc8448#section-4
561
- # 4. Resumed 0-RTT Handshake
562
- TESTBINARY_0_RTT_CLIENT_HELLO = <<BIN.split.map(&:hex).map(&:chr).join
563
- 01 00 01 fc 03 03 1b c3 ce b6 bb e3 9c ff 93 83
564
- 55 b5 a5 0a db 6d b2 1b 7a 6a f6 49 d7 b4 bc 41
565
- 9d 78 76 48 7d 95 00 00 06 13 01 13 03 13 02 01
566
- 00 01 cd 00 00 00 0b 00 09 00 00 06 73 65 72 76
567
- 65 72 ff 01 00 01 00 00 0a 00 14 00 12 00 1d 00
568
- 17 00 18 00 19 01 00 01 01 01 02 01 03 01 04 00
569
- 33 00 26 00 24 00 1d 00 20 e4 ff b6 8a c0 5f 8d
570
- 96 c9 9d a2 66 98 34 6c 6b e1 64 82 ba dd da fe
571
- 05 1a 66 b4 f1 8d 66 8f 0b 00 2a 00 00 00 2b 00
572
- 03 02 03 04 00 0d 00 20 00 1e 04 03 05 03 06 03
573
- 02 03 08 04 08 05 08 06 04 01 05 01 06 01 02 01
574
- 04 02 05 02 06 02 02 02 00 2d 00 02 01 01 00 1c
575
- 00 02 40 01 00 15 00 57 00 00 00 00 00 00 00 00
576
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
577
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
578
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
579
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
580
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
581
- 29 00 dd 00 b8 00 b2 2c 03 5d 82 93 59 ee 5f f7
582
- af 4e c9 00 00 00 00 26 2a 64 94 dc 48 6d 2c 8a
583
- 34 cb 33 fa 90 bf 1b 00 70 ad 3c 49 88 83 c9 36
584
- 7c 09 a2 be 78 5a bc 55 cd 22 60 97 a3 a9 82 11
585
- 72 83 f8 2a 03 a1 43 ef d3 ff 5d d3 6d 64 e8 61
586
- be 7f d6 1d 28 27 db 27 9c ce 14 50 77 d4 54 a3
587
- 66 4d 4e 6d a4 d2 9e e0 37 25 a6 a4 da fc d0 fc
588
- 67 d2 ae a7 05 29 51 3e 3d a2 67 7f a5 90 6c 5b
589
- 3f 7d 8f 92 f2 28 bd a4 0d da 72 14 70 f9 fb f2
590
- 97 b5 ae a6 17 64 6f ac 5c 03 27 2e 97 07 27 c6
591
- 21 a7 91 41 ef 5f 7d e6 50 5e 5b fb c3 88 e9 33
592
- 43 69 40 93 93 4a e4 d3 57 fa d6 aa cb 00 21 20
593
- 3a dd 4f b2 d8 fd f8 22 a0 ca 3c f7 67 8e f5 e8
594
- 8d ae 99 01 41 c5 92 4d 57 bb 6f a3 1b 9e 5f 9d
595
- BIN
596
-
597
- TESTBINARY_0_RTT_SERVER_HELLO = <<BIN.split.map(&:hex).map(&:chr).join
598
- 02 00 00 5c 03 03 3c cf d2 de c8 90 22 27 63 47
599
- 2a e8 13 67 77 c9 d7 35 87 77 bb 66 e9 1e a5 12
600
- 24 95 f5 59 ea 2d 00 13 01 00 00 34 00 29 00 02
601
- 00 00 00 33 00 24 00 1d 00 20 12 17 61 ee 42 c3
602
- 33 e1 b9 e7 7b 60 dd 57 c2 05 3c d9 45 12 ab 47
603
- f1 15 e8 6e ff 50 94 2c ea 31 00 2b 00 02 03 04
604
- BIN
605
-
606
- TESTBINARY_0_RTT_ENCRYPTED_EXTENSIONS = <<BIN.split.map(&:hex).map(&:chr).join
607
- 08 00 00 28 00 26 00 0a 00 14 00 12 00 1d 00 17
608
- 00 18 00 19 01 00 01 01 01 02 01 03 01 04 00 1c
609
- 00 02 40 01 00 00 00 00 00 2a 00 00
610
- BIN
611
-
612
- TESTBINARY_0_RTT_SERVER_FINISHED = <<BIN.split.map(&:hex).map(&:chr).join
613
- 14 00 00 20 48 d3 e0 e1 b3 d9 07 c6 ac ff 14 5e
614
- 16 09 03 88 c7 7b 05 c0 50 b6 34 ab 1a 88 bb d0
615
- dd 1a 34 b2
616
- BIN
617
-
618
- TESTBINARY_0_RTT_END_OF_EARLY_DATA = <<BIN.split.map(&:hex).map(&:chr).join
619
- 05 00 00 00
620
- BIN
621
-
622
- TESTBINARY_0_RTT_CLIENT_FINISHED = <<BIN.split.map(&:hex).map(&:chr).join
623
- 14 00 00 20 72 30 a9 c9 52 c2 5c d6 13 8f c5 e6
624
- 62 83 08 c4 1c 53 35 dd 81 b9 f9 6b ce a5 0f d3
625
- 2b da 41 6d
626
- BIN
627
-
628
- TESTBINARY_0_RTT_PSK = <<BIN.split.map(&:hex).map(&:chr).join
629
- 4e cd 0e b6 ec 3b 4d 87 f5 d6 02 8f 92 2c a4 c5
630
- 85 1a 27 7f d4 13 11 c9 e6 2d 2c 94 92 e1 c4 f3
631
- BIN
632
-
633
- TESTBINARY_0_RTT_SHARED_SECRET = <<BIN.split.map(&:hex).map(&:chr).join
634
- f4 41 94 75 6f f9 ec 9d 25 18 06 35 d6 6e a6 82
635
- 4c 6a b3 bf 17 99 77 be 37 f7 23 57 0e 7c cb 2e
636
- BIN
637
-
638
- TESTBINARY_0_RTT_BINDER_HASH = <<BIN.split.map(&:hex).map(&:chr).join
639
- 63 22 4b 2e 45 73 f2 d3 45 4c a8 4b 9d 00 9a 04
640
- f6 be 9e 05 71 1a 83 96 47 3a ef a0 1e 92 4a 14
641
- BIN
642
-
643
- TESTBINARY_0_RTT_BINDER_KEY_RES = <<BIN.split.map(&:hex).map(&:chr).join
644
- 55 88 67 3e 72 cb 59 c8 7d 22 0c af fe 94 f2 de
645
- a9 a3 b1 60 9f 7d 50 e9 0a 48 22 7d b9 ed 7e aa
646
- BIN
647
-
648
- TESTBINARY_0_RTT_C_E_TRAFFIC = <<BIN.split.map(&:hex).map(&:chr).join
649
- 3f bb e6 a6 0d eb 66 c3 0a 32 79 5a ba 0e ff 7e
650
- aa 10 10 55 86 e7 be 5c 09 67 8d 63 b6 ca ab 62
651
- BIN
652
-
653
- TESTBINARY_0_RTT_EARLY_DATA_WRITE_KEY = <<BIN.split.map(&:hex).map(&:chr).join
654
- 92 02 05 a5 b7 bf 21 15 e6 fc 5c 29 42 83 4f 54
655
- BIN
656
-
657
- TESTBINARY_0_RTT_EARLY_DATA_WRITE_IV = <<BIN.split.map(&:hex).map(&:chr).join
658
- 6d 47 5f 09 93 c8 e5 64 61 0d b2 b9
659
- BIN
660
-
661
- testbinary = <<BIN
662
- 27 c6 bd c0 a3 dc ea 39 a4 73 26 d7 9b c9 e4 ee
663
- BIN
664
- TESTBINARY_0_RTT_SERVER_PARAMETERS_WRITE_KEY \
665
- = testbinary.split.map(&:hex).map(&:chr).join
666
-
667
- testbinary = <<BIN
668
- 95 69 ec dd 4d 05 36 70 5e 9e f7 25
669
- BIN
670
- TESTBINARY_0_RTT_SERVER_PARAMETERS_WRITE_IV \
671
- = testbinary.split.map(&:hex).map(&:chr).join
672
-
673
- testbinary = <<BIN
674
- 3c f1 22 f3 01 c6 35 8c a7 98 95 53 25 0e fd 72
675
- BIN
676
- TESTBINARY_0_RTT_CLIENT_APPLICATION_WRITE_KEY \
677
- = testbinary.split.map(&:hex).map(&:chr).join
678
-
679
- testbinary = <<BIN
680
- ab 1a ec 26 aa 78 b8 fc 11 76 b9 ac
681
- BIN
682
- TESTBINARY_0_RTT_CLIENT_APPLICATION_WRITE_IV \
683
- = testbinary.split.map(&:hex).map(&:chr).join
684
-
685
- # https://datatracker.ietf.org/doc/html/rfc8448#section-5
686
- # 5. HelloRetryRequest
687
- TESTBINARY_HRR_CLIENT_HELLO1 = <<BIN.split.map(&:hex).map(&:chr).join
688
- 01 00 00 b0 03 03 b0 b1 c5 a5 aa 37 c5 91 9f 2e
689
- d1 d5 c6 ff f7 fc b7 84 97 16 94 5a 2b 8c ee 92
690
- 58 a3 46 67 7b 6f 00 00 06 13 01 13 03 13 02 01
691
- 00 00 81 00 00 00 0b 00 09 00 00 06 73 65 72 76
692
- 65 72 ff 01 00 01 00 00 0a 00 08 00 06 00 1d 00
693
- 17 00 18 00 33 00 26 00 24 00 1d 00 20 e8 e8 e3
694
- f3 b9 3a 25 ed 97 a1 4a 7d ca cb 8a 27 2c 62 88
695
- e5 85 c6 48 4d 05 26 2f ca d0 62 ad 1f 00 2b 00
696
- 03 02 03 04 00 0d 00 20 00 1e 04 03 05 03 06 03
697
- 02 03 08 04 08 05 08 06 04 01 05 01 06 01 02 01
698
- 04 02 05 02 06 02 02 02 00 2d 00 02 01 01 00 1c
699
- 00 02 40 01
700
- BIN
701
-
702
- TESTBINARY_HRR_HELLO_RETRY_REQUEST = <<BIN.split.map(&:hex).map(&:chr).join
703
- 02 00 00 ac 03 03 cf 21 ad 74 e5 9a 61 11 be 1d
704
- 8c 02 1e 65 b8 91 c2 a2 11 16 7a bb 8c 5e 07 9e
705
- 09 e2 c8 a8 33 9c 00 13 01 00 00 84 00 33 00 02
706
- 00 17 00 2c 00 74 00 72 71 dc d0 4b b8 8b c3 18
707
- 91 19 39 8a 00 00 00 00 ee fa fc 76 c1 46 b8 23
708
- b0 96 f8 aa ca d3 65 dd 00 30 95 3f 4e df 62 56
709
- 36 e5 f2 1b b2 e2 3f cc 65 4b 1b 5b 40 31 8d 10
710
- d1 37 ab cb b8 75 74 e3 6e 8a 1f 02 5f 7d fa 5d
711
- 6e 50 78 1b 5e da 4a a1 5b 0c 8b e7 78 25 7d 16
712
- aa 30 30 e9 e7 84 1d d9 e4 c0 34 22 67 e8 ca 0c
713
- af 57 1f b2 b7 cf f0 f9 34 b0 00 2b 00 02 03 04
714
- BIN
715
-
716
- TESTBINARY_HRR_CLIENT_HELLO = <<BIN.split.map(&:hex).map(&:chr).join
717
- 01 00 01 fc 03 03 b0 b1 c5 a5 aa 37 c5 91 9f 2e
718
- d1 d5 c6 ff f7 fc b7 84 97 16 94 5a 2b 8c ee 92
719
- 58 a3 46 67 7b 6f 00 00 06 13 01 13 03 13 02 01
720
- 00 01 cd 00 00 00 0b 00 09 00 00 06 73 65 72 76
721
- 65 72 ff 01 00 01 00 00 0a 00 08 00 06 00 1d 00
722
- 17 00 18 00 33 00 47 00 45 00 17 00 41 04 a6 da
723
- 73 92 ec 59 1e 17 ab fd 53 59 64 b9 98 94 d1 3b
724
- ef b2 21 b3 de f2 eb e3 83 0e ac 8f 01 51 81 26
725
- 77 c4 d6 d2 23 7e 85 cf 01 d6 91 0c fb 83 95 4e
726
- 76 ba 73 52 83 05 34 15 98 97 e8 06 57 80 00 2b
727
- 00 03 02 03 04 00 0d 00 20 00 1e 04 03 05 03 06
728
- 03 02 03 08 04 08 05 08 06 04 01 05 01 06 01 02
729
- 01 04 02 05 02 06 02 02 02 00 2c 00 74 00 72 71
730
- dc d0 4b b8 8b c3 18 91 19 39 8a 00 00 00 00 ee
731
- fa fc 76 c1 46 b8 23 b0 96 f8 aa ca d3 65 dd 00
732
- 30 95 3f 4e df 62 56 36 e5 f2 1b b2 e2 3f cc 65
733
- 4b 1b 5b 40 31 8d 10 d1 37 ab cb b8 75 74 e3 6e
734
- 8a 1f 02 5f 7d fa 5d 6e 50 78 1b 5e da 4a a1 5b
735
- 0c 8b e7 78 25 7d 16 aa 30 30 e9 e7 84 1d d9 e4
736
- c0 34 22 67 e8 ca 0c af 57 1f b2 b7 cf f0 f9 34
737
- b0 00 2d 00 02 01 01 00 1c 00 02 40 01 00 15 00
738
- af 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
739
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
740
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
741
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
742
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
743
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
744
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
745
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
746
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
747
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
748
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
749
- BIN
750
-
751
- TESTBINARY_HRR_SERVER_HELLO = <<BIN.split.map(&:hex).map(&:chr).join
752
- 02 00 00 77 03 03 bb 34 1d 84 7f d7 89 c4 7c 38
753
- 71 72 dc 0c 9b f1 47 fc ca cb 50 43 d8 6c a4 c5
754
- 98 d3 ff 57 1b 98 00 13 01 00 00 4f 00 33 00 45
755
- 00 17 00 41 04 58 3e 05 4b 7a 66 67 2a e0 20 ad
756
- 9d 26 86 fc c8 5b 5a d4 1a 13 4a 0f 03 ee 72 b8
757
- 93 05 2b d8 5b 4c 8d e6 77 6f 5b 04 ac 07 d8 35
758
- 40 ea b3 e3 d9 c5 47 bc 65 28 c4 31 7d 29 46 86
759
- 09 3a 6c ad 7d 00 2b 00 02 03 04
760
- BIN
761
-
762
- TESTBINARY_HRR_ENCRYPTED_EXTENSIONS = <<BIN.split.map(&:hex).map(&:chr).join
763
- 08 00 00 18 00 16 00 0a 00 08 00 06 00 17 00 18
764
- 00 1d 00 1c 00 02 40 01 00 00 00 00
765
- BIN
766
-
767
- TESTBINARY_HRR_CERTIFICATE = <<BIN.split.map(&:hex).map(&:chr).join
768
- 0b 00 01 b9 00 00 01 b5 00 01 b0 30 82 01 ac 30
769
- 82 01 15 a0 03 02 01 02 02 01 02 30 0d 06 09 2a
770
- 86 48 86 f7 0d 01 01 0b 05 00 30 0e 31 0c 30 0a
771
- 06 03 55 04 03 13 03 72 73 61 30 1e 17 0d 31 36
772
- 30 37 33 30 30 31 32 33 35 39 5a 17 0d 32 36 30
773
- 37 33 30 30 31 32 33 35 39 5a 30 0e 31 0c 30 0a
774
- 06 03 55 04 03 13 03 72 73 61 30 81 9f 30 0d 06
775
- 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00
776
- 30 81 89 02 81 81 00 b4 bb 49 8f 82 79 30 3d 98
777
- 08 36 39 9b 36 c6 98 8c 0c 68 de 55 e1 bd b8 26
778
- d3 90 1a 24 61 ea fd 2d e4 9a 91 d0 15 ab bc 9a
779
- 95 13 7a ce 6c 1a f1 9e aa 6a f9 8c 7c ed 43 12
780
- 09 98 e1 87 a8 0e e0 cc b0 52 4b 1b 01 8c 3e 0b
781
- 63 26 4d 44 9a 6d 38 e2 2a 5f da 43 08 46 74 80
782
- 30 53 0e f0 46 1c 8c a9 d9 ef bf ae 8e a6 d1 d0
783
- 3e 2b d1 93 ef f0 ab 9a 80 02 c4 74 28 a6 d3 5a
784
- 8d 88 d7 9f 7f 1e 3f 02 03 01 00 01 a3 1a 30 18
785
- 30 09 06 03 55 1d 13 04 02 30 00 30 0b 06 03 55
786
- 1d 0f 04 04 03 02 05 a0 30 0d 06 09 2a 86 48 86
787
- f7 0d 01 01 0b 05 00 03 81 81 00 85 aa d2 a0 e5
788
- b9 27 6b 90 8c 65 f7 3a 72 67 17 06 18 a5 4c 5f
789
- 8a 7b 33 7d 2d f7 a5 94 36 54 17 f2 ea e8 f8 a5
790
- 8c 8f 81 72 f9 31 9c f3 6b 7f d6 c5 5b 80 f2 1a
791
- 03 01 51 56 72 60 96 fd 33 5e 5e 67 f2 db f1 02
792
- 70 2e 60 8c ca e6 be c1 fc 63 a4 2a 99 be 5c 3e
793
- b7 10 7c 3c 54 e9 b9 eb 2b d5 20 3b 1c 3b 84 e0
794
- a8 b2 f7 59 40 9b a3 ea c9 d9 1d 40 2d cc 0c c8
795
- f8 96 12 29 ac 91 87 b4 2b 4d e1 00 00
796
- BIN
797
-
798
- TESTBINARY_HRR_CERTIFICATE_VERIFY = <<BIN.split.map(&:hex).map(&:chr).join
799
- 0f 00 00 84 08 04 00 80 33 ab 13 d4 46 27 07 23
800
- 1b 5d ca e6 c8 19 0b 63 d1 da bc 74 f2 8c 39 53
801
- 70 da 0b 07 e5 b8 30 66 d0 24 6a 31 ac d9 5d f4
802
- 75 bf d7 99 a4 a7 0d 33 ad 93 d3 a3 17 a9 b2 c0
803
- d2 37 a5 68 5b 21 9e 77 41 12 e3 91 a2 47 60 7d
804
- 1a ef f1 bb d0 a3 9f 38 2e e1 a5 fe 88 ae 99 ec
805
- 59 22 8e 64 97 e4 5d 48 ce 27 5a 6d 5e f4 0d 16
806
- 9f b6 f9 d3 3b 05 2e d3 dc dd 6b 5a 48 ba af ff
807
- bc b2 90 12 84 15 bd 38
808
- BIN
809
-
810
- TESTBINARY_HRR_SERVER_FINISHED = <<BIN.split.map(&:hex).map(&:chr).join
811
- 14 00 00 20 88 63 e6 bf b0 42 0a 92 7f a2 7f 34
812
- 33 6a 70 ae 42 6e 96 8e 3e b8 84 94 5b 96 85 6d
813
- ba 39 76 d1
814
- BIN
815
-
816
- TESTBINARY_HRR_SERVER_PARAMETERS = <<BIN.split.map(&:hex).map(&:chr).join
817
- 08 00 00 18 00 16 00 0a 00 08 00 06 00 17 00 18
818
- 00 1d 00 1c 00 02 40 01 00 00 00 00 0b 00 01 b9
819
- 00 00 01 b5 00 01 b0 30 82 01 ac 30 82 01 15 a0
820
- 03 02 01 02 02 01 02 30 0d 06 09 2a 86 48 86 f7
821
- 0d 01 01 0b 05 00 30 0e 31 0c 30 0a 06 03 55 04
822
- 03 13 03 72 73 61 30 1e 17 0d 31 36 30 37 33 30
823
- 30 31 32 33 35 39 5a 17 0d 32 36 30 37 33 30 30
824
- 31 32 33 35 39 5a 30 0e 31 0c 30 0a 06 03 55 04
825
- 03 13 03 72 73 61 30 81 9f 30 0d 06 09 2a 86 48
826
- 86 f7 0d 01 01 01 05 00 03 81 8d 00 30 81 89 02
827
- 81 81 00 b4 bb 49 8f 82 79 30 3d 98 08 36 39 9b
828
- 36 c6 98 8c 0c 68 de 55 e1 bd b8 26 d3 90 1a 24
829
- 61 ea fd 2d e4 9a 91 d0 15 ab bc 9a 95 13 7a ce
830
- 6c 1a f1 9e aa 6a f9 8c 7c ed 43 12 09 98 e1 87
831
- a8 0e e0 cc b0 52 4b 1b 01 8c 3e 0b 63 26 4d 44
832
- 9a 6d 38 e2 2a 5f da 43 08 46 74 80 30 53 0e f0
833
- 46 1c 8c a9 d9 ef bf ae 8e a6 d1 d0 3e 2b d1 93
834
- ef f0 ab 9a 80 02 c4 74 28 a6 d3 5a 8d 88 d7 9f
835
- 7f 1e 3f 02 03 01 00 01 a3 1a 30 18 30 09 06 03
836
- 55 1d 13 04 02 30 00 30 0b 06 03 55 1d 0f 04 04
837
- 03 02 05 a0 30 0d 06 09 2a 86 48 86 f7 0d 01 01
838
- 0b 05 00 03 81 81 00 85 aa d2 a0 e5 b9 27 6b 90
839
- 8c 65 f7 3a 72 67 17 06 18 a5 4c 5f 8a 7b 33 7d
840
- 2d f7 a5 94 36 54 17 f2 ea e8 f8 a5 8c 8f 81 72
841
- f9 31 9c f3 6b 7f d6 c5 5b 80 f2 1a 03 01 51 56
842
- 72 60 96 fd 33 5e 5e 67 f2 db f1 02 70 2e 60 8c
843
- ca e6 be c1 fc 63 a4 2a 99 be 5c 3e b7 10 7c 3c
844
- 54 e9 b9 eb 2b d5 20 3b 1c 3b 84 e0 a8 b2 f7 59
845
- 40 9b a3 ea c9 d9 1d 40 2d cc 0c c8 f8 96 12 29
846
- ac 91 87 b4 2b 4d e1 00 00 0f 00 00 84 08 04 00
847
- 80 33 ab 13 d4 46 27 07 23 1b 5d ca e6 c8 19 0b
848
- 63 d1 da bc 74 f2 8c 39 53 70 da 0b 07 e5 b8 30
849
- 66 d0 24 6a 31 ac d9 5d f4 75 bf d7 99 a4 a7 0d
850
- 33 ad 93 d3 a3 17 a9 b2 c0 d2 37 a5 68 5b 21 9e
851
- 77 41 12 e3 91 a2 47 60 7d 1a ef f1 bb d0 a3 9f
852
- 38 2e e1 a5 fe 88 ae 99 ec 59 22 8e 64 97 e4 5d
853
- 48 ce 27 5a 6d 5e f4 0d 16 9f b6 f9 d3 3b 05 2e
854
- d3 dc dd 6b 5a 48 ba af ff bc b2 90 12 84 15 bd
855
- 38 14 00 00 20 88 63 e6 bf b0 42 0a 92 7f a2 7f
856
- 34 33 6a 70 ae 42 6e 96 8e 3e b8 84 94 5b 96 85
857
- 6d ba 39 76 d1
858
- BIN
859
-
860
- TESTBINARY_HRR_SERVER_PARAMETERS_RECORD = <<BIN.split.map(&:hex).map(&:chr).join
861
- 17 03 03 02 96 99 be e2 0b af 5b 7f c7 27 bf ab
862
- 62 23 92 8a 38 1e 6d 0c f9 c4 da 65 3f 9d 2a 7b
863
- 23 f7 de 11 cc e8 42 d5 cf 75 63 17 63 45 0f fb
864
- 8b 0c c1 d2 38 e6 58 af 7a 12 ad c8 62 43 11 4a
865
- b1 4a 1d a2 fa e4 26 21 ce 48 3f b6 24 2e ab fa
866
- ad 52 56 6b 02 b3 1d 2e dd ed ef eb 80 e6 6a 99
867
- 00 d5 f9 73 b4 0c 4f df 74 71 9e cf 1b 68 d7 f9
868
- c3 b6 ce b9 03 ca 13 dd 1b b8 f8 18 7a e3 34 17
869
- e1 d1 52 52 2c 58 22 a1 a0 3a d5 2c 83 8c 55 95
870
- 3d 61 02 22 87 4c ce 8e 17 90 b2 29 a2 aa 0b 53
871
- c8 d3 77 ee 72 01 82 95 1d c6 18 1d c5 d9 0b d1
872
- f0 10 5e d1 e8 4a a5 f7 59 57 c6 66 18 97 07 9e
873
- 5e a5 00 74 49 e3 19 7b dc 7c 9b ee ed dd ea fd
874
- d8 44 af a5 c3 15 ec fe 65 e5 76 af e9 09 81 28
875
- 80 62 0e c7 04 8b 42 d7 f5 c7 8d 76 f2 99 d6 d8
876
- 25 34 bd d8 f5 12 fe bc 0e d3 81 4a ca 47 0c d8
877
- 00 0d 3e 1c b9 96 2b 05 2f bb 95 0d f6 83 a5 2c
878
- 2b a7 7e d3 71 3b 12 29 37 a6 e5 17 09 64 e2 ab
879
- 79 69 dc d9 80 b3 db 9b 45 8d a7 60 31 24 d6 dc
880
- 00 5e 4d 6e 04 b4 d0 c4 ba f3 27 5d b8 27 db ba
881
- 0a 6d b0 96 72 17 1f c0 57 b3 85 1d 7e 02 68 41
882
- e2 97 8f bd 23 46 bb ef dd 03 76 bb 11 08 fe 9a
883
- cc 92 18 9f 56 50 aa 5e 85 d8 e8 c7 b6 7a c5 10
884
- db a0 03 d3 d7 e1 63 50 bb 66 d4 50 13 ef d4 4c
885
- 9b 60 7c 0d 31 8c 4c 7d 1a 1f 5c bc 57 e2 06 11
886
- 80 4e 37 87 d7 b4 a4 b5 f0 8e d8 fd 70 bd ae ad
887
- e0 22 60 b1 2a b8 42 ef 69 0b 4a 3e e7 91 1e 84
888
- 1b 37 4e cd 5e bb bc 2a 54 d0 47 b6 00 33 6d d7
889
- d0 c8 8b 4b c1 0e 58 ee 6c b6 56 de 72 47 fa 20
890
- d8 e9 1d eb 84 62 86 08 cf 80 61 5b 62 e9 6c 14
891
- 91 c7 ac 37 55 eb 69 01 40 5d 34 74 fe 1a c7 9d
892
- 10 6a 0c ee 56 c2 57 7f c8 84 80 f9 6c b6 b8 c6
893
- 81 b7 b6 8b 53 c1 46 09 39 08 f3 50 88 81 75 bd
894
- fb 0b 1e 31 ad 61 e3 0b a0 ad fe 6d 22 3a a0 3c
895
- 07 83 b5 00 1a 57 58 7c 32 8a 9a fc fc fb 97 8d
896
- 1c d4 32 8f 7d 9d 60 53 0e 63 0b ef d9 6c 0c 81
897
- 6e e2 0b 01 00 76 8a e2 a6 df 51 fc 68 f1 72 74
898
- 0a 79 af 11 39 8e e3 be 12 52 49 1f a9 c6 93 47
899
- 9e 87 7f 94 ab 7c 5f 8c ad 48 02 03 e6 ab 7b 87
900
- dd 71 e8 a0 72 91 13 df 17 f5 ee e8 6c e1 08 d1
901
- d7 20 07 ec 1c d1 3c 85 a6 c1 49 62 1e 77 b7 d7
902
- 8d 80 5a 30 f0 be 03 0c 31 5e 54
903
- BIN
904
-
905
- TESTBINARY_HRR_CLIENT_FINISHED = <<BIN.split.map(&:hex).map(&:chr).join
906
- 14 00 00 20 23 f5 2f db 07 09 a5 5b d7 f7 9b 99
907
- 1f 25 48 40 87 bc fd 4d 43 80 b1 23 26 a5 2a 28
908
- b2 e3 68 e1
909
- BIN
910
-
911
- TESTBINARY_HRR_SHARED_SECRET = <<BIN.split.map(&:hex).map(&:chr).join
912
- c1 42 ce 13 ca 11 b5 c2 23 36 52 e6 3a d3 d9 78
913
- 44 f1 62 1f bf b9 de 69 d5 47 dc 8f ed ea be b4
914
- BIN
915
-
916
- TESTBINARY_HRR_SERVER_FINISHED_KEY = <<BIN.split.map(&:hex).map(&:chr).join
917
- e7 f8 bb 3e a4 b6 c3 0c 47 10 b3 d0 9c 33 13 65
918
- 81 17 e7 0b 09 7e 85 03 68 e2 51 0c a5 63 1f 74
919
- BIN
920
-
921
- testbinary = <<BIN
922
- 46 46 bf ac 17 12 c4 26 cd 78 d8 a2 4a 8a 6f 6b
923
- BIN
924
- TESTBINARY_HRR_SERVER_PARAMETERS_WRITE_KEY \
925
- = testbinary.split.map(&:hex).map(&:chr).join
926
-
927
- testbinary = <<BIN
928
- c7 d3 95 c0 8d 62 f2 97 d1 37 68 ea
929
- BIN
930
- TESTBINARY_HRR_SERVER_PARAMETERS_WRITE_IV \
931
- = testbinary.split.map(&:hex).map(&:chr).join
932
-
933
- TESTBINARY_HRR_CLIENT_FINISHED_KEY = <<BIN.split.map(&:hex).map(&:chr).join
934
- 81 be 41 31 fb b9 b6 f4 47 14 50 84 6f 74 fd 1e
935
- 68 c5 22 4b a7 c2 a8 67 7f 5c 53 ad 22 6f dc 13
936
- BIN
937
-
938
- testbinary = <<BIN
939
- 2f 1f 91 86 63 d5 90 e7 42 11 49 a2 9d 94 b0 b6
940
- BIN
941
- TESTBINARY_HRR_CLIENT_FINISHED_WRITE_KEY \
942
- = testbinary.split.map(&:hex).map(&:chr).join
943
-
944
- TESTBINARY_HRR_CLIENT_FINISHED_WRITE_IV = <<BIN.split.map(&:hex).map(&:chr).join
945
- 41 4d 54 85 23 5e 1a 68 87 93 bd 74
946
- BIN
947
-
948
- testbinary = <<BIN
949
- f2 7a 5d 97 bd 25 55 0c 48 23 b0 f3 e5 d2 93 88
950
- BIN
951
- TESTBINARY_HRR_SERVER_APPLICATION_WRITE_KEY \
952
- = testbinary.split.map(&:hex).map(&:chr).join
953
-
954
- testbinary = <<BIN
955
- 0d d6 31 f7 b7 1c bb c7 97 c3 5f e7
956
- BIN
957
- TESTBINARY_HRR_SERVER_APPLICATION_WRITE_IV \
958
- = testbinary.split.map(&:hex).map(&:chr).join
959
-
960
- testbinary = <<BIN
961
- a7 eb 2a 05 25 eb 43 31 d5 8f cb f9 f7 ca 2e 9c
962
- BIN
963
- TESTBINARY_HRR_CLIENT_APPLICATION_WRITE_KEY \
964
- = testbinary.split.map(&:hex).map(&:chr).join
965
-
966
- testbinary = <<BIN
967
- 86 e8 be 22 7c 1b d2 b3 e3 9c b4 44
968
- BIN
969
- TESTBINARY_HRR_CLIENT_APPLICATION_WRITE_IV \
970
- = testbinary.split.map(&:hex).map(&:chr).join
971
-
972
- TESTBINARY_HRR_CH1_SH_TRANSCRIPT_HASH = <<BIN.split.map(&:hex).map(&:chr).join
973
- 8a a8 e8 28 ec 2f 8a 88 4f ec 95 a3 13 9d e0 1c
974
- 15 a3 da a7 ff 5b fc 3f 4b fc c2 1b 43 8d 7b f8
975
- BIN
976
-
977
- TESTBINARY_HRR_CH1_CF_TRANSCRIPT_HASH = <<BIN.split.map(&:hex).map(&:chr).join
978
- 0e 8b 34 91 58 b8 55 fd cd 0c 11 db bc 4e 83 e4
979
- 3c aa 6e 48 3c 6c 65 df 53 15 18 88 e5 01 65 f4
980
- BIN
981
-
982
- # https://datatracker.ietf.org/doc/html/rfc8448#section-7
983
- # 7. Compatibility Mode
984
- TESTBINARY_RECORD_CCS = <<BIN.split.map(&:hex).map(&:chr).join
985
- 14 03 03 00 01 01
986
- BIN
987
-
988
- TESTBINARY_CHANGE_CIPHER_SPEC = <<BIN.split.map(&:hex).map(&:chr).join
989
- 01
990
- BIN