blob: 4abae0bb4c81146a2c6b769f3bde50c43f4dd8f2 [file] [log] [blame]
Gilles Peskine27d806f2019-03-01 18:02:53 +01001Empty length
2parse_prefixes:"04":0:MBEDTLS_ERR_ASN1_INVALID_LENGTH
3
4Prefixes of OCTET STRING, length=0
5parse_prefixes:"04007e":2:0
6
7Prefixes of OCTET STRING, length=0 (0 length bytes)
8parse_prefixes:"04807e":2:MBEDTLS_ERR_ASN1_INVALID_LENGTH
9
10Prefixes of OCTET STRING, length=1
11parse_prefixes:"0401417e":3:0
12
13Prefixes of OCTET STRING, length=2
14parse_prefixes:"040241427e":4:0
15
16Prefixes of BOOLEAN, length=0
17parse_prefixes:"01007e":2:MBEDTLS_ERR_ASN1_INVALID_LENGTH
18
19Prefixes of BOOLEAN, length=1
20parse_prefixes:"0101007e":3:0
21
22Prefixes of BOOLEAN, length=2
23parse_prefixes:"010200007e":4:MBEDTLS_ERR_ASN1_INVALID_LENGTH
24
25Prefixes of INTEGER, length=1
26parse_prefixes:"0201417e":3:0
27
28Prefixes of INTEGER, length=2
29parse_prefixes:"020241427e":4:0
30
31Prefixes of INTEGER, length=5
32parse_prefixes:"020541424344457e":7:0
33
34Prefixes of empty BIT STRING
35parse_prefixes:"03007e":2:MBEDTLS_ERR_ASN1_OUT_OF_DATA
36
37Prefixes of BIT STRING, unused_bits=0, payload_length=0
38parse_prefixes:"030100":3:0
39
40Prefixes of BIT STRING, unused_bits=0, payload_length=1
41parse_prefixes:"0302002a":4:0
42
43Prefixes of BIT STRING, unused_bits=1, payload_length=1
44parse_prefixes:"0302012a":4:0
45
46Prefixes of empty SEQUENCE
47parse_prefixes:"30007e":2:0
48
49Prefixes of SEQUENCE of BOOLEAN, INTEGER, INTEGER
50parse_prefixes:"300b01010102012a02031234567e":13:0
51
52Prefixes of SEQUENCE of (SEQUENCE of INTEGER, INTEGER), INTEGER
53parse_prefixes:"300b30060201410201420201617e":13:0
54
55length=0 (short form)
56get_len:"00":0
57
58length=0 (1 length byte)
59get_len:"8100":0
60
61length=0 (2 length bytes)
62get_len:"820000":0
63
64length=1 (short form)
65get_len:"01":1
66
67length=1 (1 length byte)
68get_len:"8101":1
69
70length=1 (2 length bytes)
71get_len:"820001":1
72
73length=1 (3 length bytes)
74get_len:"83000001":1
75
76length=1 (4 length bytes)
77get_len:"8400000001":1
78
79length=2 (short form)
80get_len:"02":2
81
82length=2 (1 length byte)
83get_len:"8102":2
84
85length=2 (2 length bytes)
86get_len:"820002":2
87
88length=2 (3 length bytes)
89get_len:"83000002":2
90
91length=2 (4 length bytes)
92get_len:"8400000002":2
93
94length=127 (short form)
95get_len:"7f":127
96
97length=128 (1 length byte)
98get_len:"8180":128
99
100length=128 (2 length bytes)
101get_len:"820080":128
102
103length=255 (1 length byte)
104get_len:"81ff":255
105
106length=255 (2 length bytes)
107get_len:"8200ff":255
108
109length=256 (2 length bytes)
110get_len:"820100":256
111
112length=256 (3 length bytes)
113get_len:"83000100":256
114
115length=258 (2 length bytes)
116get_len:"820102":258
117
118length=258 (3 length bytes)
119get_len:"83000102":258
120
121length=65535 (2 length bytes)
122get_len:"82ffff":65535
123
124length=65535 (3 length bytes)
125get_len:"8300ffff":65535
126
127length=65535 (4 length bytes)
128get_len:"840000ffff":65535
129
130length=65536 (3 length bytes)
131get_len:"83010000":65536
132
133length=65536 (4 length bytes)
134get_len:"8400010000":65536
135
136length=16777215 (3 length bytes)
137get_len:"83ffffff":16777215
138
139length=16777215 (4 length bytes)
140get_len:"8400ffffff":16777215
141
142length=16777216 (4 length bytes)
143get_len:"8401000000":16777216
144
145length=16909060 (4 length bytes)
146get_len:"8401020304":16909060
147
148BOOLEAN FALSE
149get_boolean:"010100":0:0
150
151BOOLEAN TRUE (1)
152get_boolean:"010101":1:0
153
154BOOLEAN TRUE (2)
155get_boolean:"010101":1:0
156
157BOOLEAN TRUE (128)
158get_boolean:"010180":1:0
159
160BOOLEAN TRUE (255)
161get_boolean:"0101ff":1:0
162
163Not BOOLEAN
164get_boolean:"020101":0:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
165
166Empty INTEGER
Gilles Peskine321adb22019-10-10 19:18:21 +0200167empty_integer:"0200"
Gilles Peskine27d806f2019-03-01 18:02:53 +0100168
169INTEGER 0
170get_integer:"020100":"0":0
171
172INTEGER 0, extra leading 0
173get_integer:"02020000":"0":0
174
Gilles Peskine27d806f2019-03-01 18:02:53 +0100175INTEGER 1
176get_integer:"020101":"1":0:
177
178INTEGER 1, extra leading 0
179get_integer:"02020001":"1":0:
180
Gilles Peskine27d806f2019-03-01 18:02:53 +0100181INTEGER 0x7f
182get_integer:"02017f":"7f":0
183
Gilles Peskine27d806f2019-03-01 18:02:53 +0100184INTEGER 0x80
185get_integer:"02020080":"80":0
186
187INTEGER 0x80, extra leading 0
188get_integer:"0203000080":"80":0
189
190INTEGER 0xff
191get_integer:"020200ff":"ff":0
192
193INTEGER 0x7fff
194get_integer:"02027fff":"7fff":0
195
196INTEGER 0x12345678
197get_integer:"020412345678":"12345678":0
198
199INTEGER 0x12345678, extra leading 0
200get_integer:"02050012345678":"12345678":0
201
Gilles Peskine0370b1b2019-10-10 19:25:39 +0200202INTEGER 0x7fffffff
203get_integer:"02047fffffff":"7fffffff":0
204
205INTEGER 0x7fffffff, extra leading 0
206get_integer:"0205007fffffff":"7fffffff":0
207
208INTEGER 0x80000000
209get_integer:"02050080000000":"80000000":0
210
211INTEGER 0xffffffff
212get_integer:"020500ffffffff":"ffffffff":0
213
214INTEGER 0x100000000
215get_integer:"02050100000000":"0100000000":0
216
Gilles Peskine27d806f2019-03-01 18:02:53 +0100217INTEGER 0x123456789abcdef0
218get_integer:"0208123456789abcdef0":"123456789abcdef0":0
219
Gilles Peskine0370b1b2019-10-10 19:25:39 +0200220INTEGER 0xfedcab9876543210
221get_integer:"020900fedcab9876543210":"fedcab9876543210":0
222
223INTEGER 0x1fedcab9876543210
224get_integer:"020901fedcab9876543210":"1fedcab9876543210":0
225
Gilles Peskine27d806f2019-03-01 18:02:53 +0100226INTEGER with 127 value octets
227get_integer:"027f0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":0
228
229INTEGER with 127 value octets (long length encoding)
230get_integer:"02817f0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":0
231
232INTEGER with 128 value octets
233get_integer:"0281800123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":0
234
235INTEGER with 128 value octets (leading 0 in length)
236get_integer:"028200800123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":0
237
Gilles Peskine970dcbf2019-10-10 19:21:12 +0200238INTEGER -1
239get_integer:"0201ff":"-1":0
240
Gilles Peskine0370b1b2019-10-10 19:25:39 +0200241INTEGER -1, extra leading ff
242get_integer:"0202ffff":"-1":0
243
Gilles Peskine970dcbf2019-10-10 19:21:12 +0200244INTEGER -0x7f
245get_integer:"020181":"-7f":0
246
Gilles Peskine0370b1b2019-10-10 19:25:39 +0200247INTEGER -0x80
248get_integer:"020180":"-80":0
249
250INTEGER -0x81
251get_integer:"0202ff7f":"-81":0
252
253INTEGER -0xff
254get_integer:"0202ff01":"-ff":0
255
256INTEGER -0x100
257get_integer:"0202ff00":"-100":0
258
259INTEGER -0x7fffffff
260get_integer:"020480000001":"-7fffffff":0
261
262INTEGER -0x80000000
263get_integer:"020480000000":"-80000000":0
264
265INTEGER -0x80000001
266get_integer:"0205ff7fffffff":"-80000001":0
267
268INTEGER -0xffffffff
269get_integer:"0205ff00000001":"-ffffffff":0
270
271INTEGER -0x100000000
272get_integer:"0205ff00000000":"-100000000":0
273
274INTEGER -0x123456789abcdef0
275get_integer:"0208edcba98765432110":"-123456789abcdef0":0
276
277INTEGER -0xfedcba9876543210
278get_integer:"0209ff0123456789abcdf0":"-fedcba9876543210":0
279
280INTEGER -0x1fedcab9876543210
281get_integer:"0209fe0123546789abcdf0":"-1fedcab9876543210":0
282
Gilles Peskine27d806f2019-03-01 18:02:53 +0100283Not INTEGER
284get_integer:"010101":"":MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
285
286INTEGER too large for mpi
287get_mpi_too_large:
288
289BIT STRING: empty
290get_bitstring:"0300":0:0:MBEDTLS_ERR_ASN1_OUT_OF_DATA:MBEDTLS_ERR_ASN1_INVALID_DATA
291
292BIT STRING: octets=0, unused_bits=0
293get_bitstring:"030100":0:0:0:0
294
295BIT STRING: octets=0, unused_bits=7
296get_bitstring:"030107":0:7:0:MBEDTLS_ERR_ASN1_INVALID_DATA
297
298BIT STRING: octets=0, unused_bits=8
299get_bitstring:"030108":0:0:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
300
301BIT STRING: octets=1, unused_bits=0
302get_bitstring:"03020041":1:0:0:0
303
304BIT STRING: octets=1, unused_bits=7
305get_bitstring:"03020741":1:7:0:MBEDTLS_ERR_ASN1_INVALID_DATA
306
307BIT STRING: octets=1, unused_bits=8
308get_bitstring:"03020841":1:8:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
309
310BIT STRING: octets=2, unused_bits=0
311get_bitstring:"0303004142":2:0:0:0
312
313BIT STRING: octets=2, unused_bits=7
314get_bitstring:"0303074142":2:7:0:MBEDTLS_ERR_ASN1_INVALID_DATA
315
316BIT STRING: octets=2, unused_bits=8
317get_bitstring:"0303084142":2:8:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
318
319BIT STRING with trailing garbage, unused_bits=0
320get_bitstring:"030200417e":1:0:MBEDTLS_ERR_ASN1_LENGTH_MISMATCH:0
321
322BIT STRING with trailing garbage, unused_bits=7
323get_bitstring:"030207417e":1:7:MBEDTLS_ERR_ASN1_LENGTH_MISMATCH:MBEDTLS_ERR_ASN1_INVALID_DATA
324
325BIT STRING with trailing garbage, unused_bits=8
326get_bitstring:"030208417e":1:8:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
327
328Not BIT STRING
329get_bitstring:"04020100":0:0:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
330
331SEQUENCE OF 0 OCTET STRING
332get_sequence_of:"3000":0x04:"":0
333
334SEQUENCE OF 0 OCTET STRING plus trailing garbage
335get_sequence_of:"30007e":0x04:"":MBEDTLS_ERR_ASN1_LENGTH_MISMATCH
336
337SEQUENCE of 1 OCTET STRING truncated after tag
338get_sequence_of:"300104":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
339
340SEQUENCE of 1 OCTET STRING truncated in length #1
341get_sequence_of:"30020481":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
342
343SEQUENCE of 1 OCTET STRING truncated in length #2
344get_sequence_of:"3003048201":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
345
346SEQUENCE of 1 OCTET STRING truncated in content #1
347get_sequence_of:"30020401":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
348
349SEQUENCE of 1 OCTET STRING truncated in content #2
350get_sequence_of:"3003040241":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
351
352SEQUENCE of 1 OCTET STRING truncated in content #3
353get_sequence_of:"300404034142":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
354
355SEQUENCE of 1 OCTET STRING (0)
356get_sequence_of:"30020400":0x04:"4,0":0
357
358SEQUENCE of 1 OCTET STRING (1)
359get_sequence_of:"3003040141":0x04:"4,1":0
360
361SEQUENCE of 1 OCTET STRING (126)
362get_sequence_of:"308180047e414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141":0x04:"5,126":0
363
364SEQUENCE of 2 OCTET STRINGs, second truncated after tag
365get_sequence_of:"30050402414104":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
366
367SEQUENCE of 2 OCTET STRINGs, second truncated in length #1
368get_sequence_of:"3006040241410481":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
369
370SEQUENCE of 2 OCTET STRINGs, second truncated in length #2
371get_sequence_of:"300704024141048201":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
372
373SEQUENCE of 2 OCTET STRINGs, second truncated in content #1
374get_sequence_of:"3006040241410401":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
375
376SEQUENCE of 2 OCTET STRINGs, second truncated in content #2
377get_sequence_of:"300704024141040241":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
378
379SEQUENCE of 2 OCTET STRINGs, second truncated in content #3
380get_sequence_of:"30080402414104034142":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
381
382SEQUENCE of 2 OCTET STRINGs (2, 0)
383get_sequence_of:"3006040241410400":0x04:"4,2,8,0":0
384
385SEQUENCE of 2 OCTET STRINGs (2, 1)
386get_sequence_of:"300704024141040142":0x04:"4,2,8,1":0
387
388SEQUENCE of 2 OCTET STRINGs (0, 2)
389get_sequence_of:"3006040004024141":0x04:"4,0,6,2":0
390
391SEQUENCE of 2 OCTET STRINGs (1, 2)
392get_sequence_of:"300704014104024242":0x04:"4,1,7,2":0
393
394Not a SEQUENCE (not CONSTRUCTED)
395get_sequence_of:"1000":0x04:"":MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
396
397Not a SEQUENCE (not SEQUENCE)
398get_sequence_of:"3100":0x04:"":MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
399
400AlgorithmIdentifier, no params
401get_alg:"300506034f4944":4:3:0:0:0:7:0
402
403AlgorithmIdentifier, no params, trailing garbage
404get_alg:"300506034f49447e":4:3:0:0:0:7:0
405
406AlgorithmIdentifier, null params
407get_alg:"300706034f49440500":4:3:0x05:9:0:9:0
408
409AlgorithmIdentifier, null params, trailing garbage
410get_alg:"300706034f494405007e":4:3:0x05:9:0:9:0
411
412AlgorithmIdentifier, OCTET STRING params
413get_alg:"300c06034f494404056162636465":4:3:0x04:9:5:14:0
414
415AlgorithmIdentifier, truncated before OID
416get_alg:"3000":4:3:0:0:0:2:MBEDTLS_ERR_ASN1_OUT_OF_DATA
417
418AlgorithmIdentifier, truncated in OID after tag
419get_alg:"300106":0:0:0:0:0:3:MBEDTLS_ERR_ASN1_OUT_OF_DATA
420
421AlgorithmIdentifier, truncated in OID after length
422get_alg:"30020603":4:3:0:0:0:4:MBEDTLS_ERR_ASN1_OUT_OF_DATA
423
424AlgorithmIdentifier, truncated inside OID content
425get_alg:"300406034f49":4:3:0:0:0:6:MBEDTLS_ERR_ASN1_OUT_OF_DATA
426
427AlgorithmIdentifier, truncated in params after tag
428get_alg:"300606034f494404":4:3:0x04:0:0:8:MBEDTLS_ERR_ASN1_OUT_OF_DATA
429
430AlgorithmIdentifier, truncated in params after length
431get_alg:"300706034f49440405":4:3:0x04:9:0:9:MBEDTLS_ERR_ASN1_OUT_OF_DATA
432
433AlgorithmIdentifier, truncated inside params content
434get_alg:"300806034f4944040561":4:3:0x04:9:5:10:MBEDTLS_ERR_ASN1_OUT_OF_DATA
435
436Not an AlgorithmIdentifier (not a SEQUENCE)
437get_alg:"310506034f4944":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
438
439Not an AlgorithmIdentifier (empty SEQUENCE)
440get_alg:"3000":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_OUT_OF_DATA
441
442Not an AlgorithmIdentifier (not an OID)
443get_alg:"3006050006034f4944":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
444
445Not an AlgorithmIdentifier (too many elements)
446get_alg:"300f06034f494406034f494406034f4944":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_LENGTH_MISMATCH
447
448Find named data: not found
449find_named_data:"414141":"424242":"434343":"444444":"7f7f7f":0:4
450
451Find named data: empty haystack
452find_named_data:"414141":"424242":"434343":"444444":"7f7f7f":4:4
453
454Find named data: first
455find_named_data:"414141":"424242":"434343":"444444":"414141":0:0
456
457Find named data: last
458find_named_data:"414141":"424242":"434343":"444444":"444444":0:3
459
460Find named data: skip suffix
461find_named_data:"41414141":"414141":"434343":"444444":"414141":0:1
462
463Find named data: skip prefix
464find_named_data:"4141":"414141":"434343":"444444":"414141":0:1
465
466Find named data: first match
467find_named_data:"414141":"414141":"434343":"444444":"414141":0:0
468
469Free named data: null pointer
470free_named_data_null:
471
472Free named data: all null
473free_named_data:0:0:0
474
475Free named data: with oid
476free_named_data:1:0:0
477
478Free named data: with val
479free_named_data:0:1:0
480
481Free named data: with next
482free_named_data:0:0:1
483
484Free named data list (empty)
485free_named_data_list:0
486
487Free named data list (1)
Gilles Peskine88f136f2019-09-20 21:06:27 +0200488free_named_data_list:1
Gilles Peskine27d806f2019-03-01 18:02:53 +0100489
490Free named data list (2)
Gilles Peskine88f136f2019-09-20 21:06:27 +0200491free_named_data_list:2