blob: 10333d3eddf628f6eef583b81f1a73dd523032f4 [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
202INTEGER 0x123456789abcdef0
203get_integer:"0208123456789abcdef0":"123456789abcdef0":0
204
205INTEGER with 127 value octets
206get_integer:"027f0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":0
207
208INTEGER with 127 value octets (long length encoding)
209get_integer:"02817f0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd":0
210
211INTEGER with 128 value octets
212get_integer:"0281800123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":0
213
214INTEGER with 128 value octets (leading 0 in length)
215get_integer:"028200800123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":0
216
Gilles Peskine970dcbf2019-10-10 19:21:12 +0200217INTEGER -1
218get_integer:"0201ff":"-1":0
219
220INTEGER -0x7f
221get_integer:"020181":"-7f":0
222
Gilles Peskine27d806f2019-03-01 18:02:53 +0100223Not INTEGER
224get_integer:"010101":"":MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
225
226INTEGER too large for mpi
227get_mpi_too_large:
228
229BIT STRING: empty
230get_bitstring:"0300":0:0:MBEDTLS_ERR_ASN1_OUT_OF_DATA:MBEDTLS_ERR_ASN1_INVALID_DATA
231
232BIT STRING: octets=0, unused_bits=0
233get_bitstring:"030100":0:0:0:0
234
235BIT STRING: octets=0, unused_bits=7
236get_bitstring:"030107":0:7:0:MBEDTLS_ERR_ASN1_INVALID_DATA
237
238BIT STRING: octets=0, unused_bits=8
239get_bitstring:"030108":0:0:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
240
241BIT STRING: octets=1, unused_bits=0
242get_bitstring:"03020041":1:0:0:0
243
244BIT STRING: octets=1, unused_bits=7
245get_bitstring:"03020741":1:7:0:MBEDTLS_ERR_ASN1_INVALID_DATA
246
247BIT STRING: octets=1, unused_bits=8
248get_bitstring:"03020841":1:8:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
249
250BIT STRING: octets=2, unused_bits=0
251get_bitstring:"0303004142":2:0:0:0
252
253BIT STRING: octets=2, unused_bits=7
254get_bitstring:"0303074142":2:7:0:MBEDTLS_ERR_ASN1_INVALID_DATA
255
256BIT STRING: octets=2, unused_bits=8
257get_bitstring:"0303084142":2:8:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
258
259BIT STRING with trailing garbage, unused_bits=0
260get_bitstring:"030200417e":1:0:MBEDTLS_ERR_ASN1_LENGTH_MISMATCH:0
261
262BIT STRING with trailing garbage, unused_bits=7
263get_bitstring:"030207417e":1:7:MBEDTLS_ERR_ASN1_LENGTH_MISMATCH:MBEDTLS_ERR_ASN1_INVALID_DATA
264
265BIT STRING with trailing garbage, unused_bits=8
266get_bitstring:"030208417e":1:8:MBEDTLS_ERR_ASN1_INVALID_LENGTH:MBEDTLS_ERR_ASN1_INVALID_DATA
267
268Not BIT STRING
269get_bitstring:"04020100":0:0:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
270
271SEQUENCE OF 0 OCTET STRING
272get_sequence_of:"3000":0x04:"":0
273
274SEQUENCE OF 0 OCTET STRING plus trailing garbage
275get_sequence_of:"30007e":0x04:"":MBEDTLS_ERR_ASN1_LENGTH_MISMATCH
276
277SEQUENCE of 1 OCTET STRING truncated after tag
278get_sequence_of:"300104":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
279
280SEQUENCE of 1 OCTET STRING truncated in length #1
281get_sequence_of:"30020481":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
282
283SEQUENCE of 1 OCTET STRING truncated in length #2
284get_sequence_of:"3003048201":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
285
286SEQUENCE of 1 OCTET STRING truncated in content #1
287get_sequence_of:"30020401":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
288
289SEQUENCE of 1 OCTET STRING truncated in content #2
290get_sequence_of:"3003040241":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
291
292SEQUENCE of 1 OCTET STRING truncated in content #3
293get_sequence_of:"300404034142":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
294
295SEQUENCE of 1 OCTET STRING (0)
296get_sequence_of:"30020400":0x04:"4,0":0
297
298SEQUENCE of 1 OCTET STRING (1)
299get_sequence_of:"3003040141":0x04:"4,1":0
300
301SEQUENCE of 1 OCTET STRING (126)
302get_sequence_of:"308180047e414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141":0x04:"5,126":0
303
304SEQUENCE of 2 OCTET STRINGs, second truncated after tag
305get_sequence_of:"30050402414104":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
306
307SEQUENCE of 2 OCTET STRINGs, second truncated in length #1
308get_sequence_of:"3006040241410481":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
309
310SEQUENCE of 2 OCTET STRINGs, second truncated in length #2
311get_sequence_of:"300704024141048201":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
312
313SEQUENCE of 2 OCTET STRINGs, second truncated in content #1
314get_sequence_of:"3006040241410401":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
315
316SEQUENCE of 2 OCTET STRINGs, second truncated in content #2
317get_sequence_of:"300704024141040241":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
318
319SEQUENCE of 2 OCTET STRINGs, second truncated in content #3
320get_sequence_of:"30080402414104034142":0x04:"":MBEDTLS_ERR_ASN1_OUT_OF_DATA
321
322SEQUENCE of 2 OCTET STRINGs (2, 0)
323get_sequence_of:"3006040241410400":0x04:"4,2,8,0":0
324
325SEQUENCE of 2 OCTET STRINGs (2, 1)
326get_sequence_of:"300704024141040142":0x04:"4,2,8,1":0
327
328SEQUENCE of 2 OCTET STRINGs (0, 2)
329get_sequence_of:"3006040004024141":0x04:"4,0,6,2":0
330
331SEQUENCE of 2 OCTET STRINGs (1, 2)
332get_sequence_of:"300704014104024242":0x04:"4,1,7,2":0
333
334Not a SEQUENCE (not CONSTRUCTED)
335get_sequence_of:"1000":0x04:"":MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
336
337Not a SEQUENCE (not SEQUENCE)
338get_sequence_of:"3100":0x04:"":MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
339
340AlgorithmIdentifier, no params
341get_alg:"300506034f4944":4:3:0:0:0:7:0
342
343AlgorithmIdentifier, no params, trailing garbage
344get_alg:"300506034f49447e":4:3:0:0:0:7:0
345
346AlgorithmIdentifier, null params
347get_alg:"300706034f49440500":4:3:0x05:9:0:9:0
348
349AlgorithmIdentifier, null params, trailing garbage
350get_alg:"300706034f494405007e":4:3:0x05:9:0:9:0
351
352AlgorithmIdentifier, OCTET STRING params
353get_alg:"300c06034f494404056162636465":4:3:0x04:9:5:14:0
354
355AlgorithmIdentifier, truncated before OID
356get_alg:"3000":4:3:0:0:0:2:MBEDTLS_ERR_ASN1_OUT_OF_DATA
357
358AlgorithmIdentifier, truncated in OID after tag
359get_alg:"300106":0:0:0:0:0:3:MBEDTLS_ERR_ASN1_OUT_OF_DATA
360
361AlgorithmIdentifier, truncated in OID after length
362get_alg:"30020603":4:3:0:0:0:4:MBEDTLS_ERR_ASN1_OUT_OF_DATA
363
364AlgorithmIdentifier, truncated inside OID content
365get_alg:"300406034f49":4:3:0:0:0:6:MBEDTLS_ERR_ASN1_OUT_OF_DATA
366
367AlgorithmIdentifier, truncated in params after tag
368get_alg:"300606034f494404":4:3:0x04:0:0:8:MBEDTLS_ERR_ASN1_OUT_OF_DATA
369
370AlgorithmIdentifier, truncated in params after length
371get_alg:"300706034f49440405":4:3:0x04:9:0:9:MBEDTLS_ERR_ASN1_OUT_OF_DATA
372
373AlgorithmIdentifier, truncated inside params content
374get_alg:"300806034f4944040561":4:3:0x04:9:5:10:MBEDTLS_ERR_ASN1_OUT_OF_DATA
375
376Not an AlgorithmIdentifier (not a SEQUENCE)
377get_alg:"310506034f4944":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
378
379Not an AlgorithmIdentifier (empty SEQUENCE)
380get_alg:"3000":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_OUT_OF_DATA
381
382Not an AlgorithmIdentifier (not an OID)
383get_alg:"3006050006034f4944":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
384
385Not an AlgorithmIdentifier (too many elements)
386get_alg:"300f06034f494406034f494406034f4944":0:0:0:0:0:0:MBEDTLS_ERR_ASN1_LENGTH_MISMATCH
387
388Find named data: not found
389find_named_data:"414141":"424242":"434343":"444444":"7f7f7f":0:4
390
391Find named data: empty haystack
392find_named_data:"414141":"424242":"434343":"444444":"7f7f7f":4:4
393
394Find named data: first
395find_named_data:"414141":"424242":"434343":"444444":"414141":0:0
396
397Find named data: last
398find_named_data:"414141":"424242":"434343":"444444":"444444":0:3
399
400Find named data: skip suffix
401find_named_data:"41414141":"414141":"434343":"444444":"414141":0:1
402
403Find named data: skip prefix
404find_named_data:"4141":"414141":"434343":"444444":"414141":0:1
405
406Find named data: first match
407find_named_data:"414141":"414141":"434343":"444444":"414141":0:0
408
409Free named data: null pointer
410free_named_data_null:
411
412Free named data: all null
413free_named_data:0:0:0
414
415Free named data: with oid
416free_named_data:1:0:0
417
418Free named data: with val
419free_named_data:0:1:0
420
421Free named data: with next
422free_named_data:0:0:1
423
424Free named data list (empty)
425free_named_data_list:0
426
427Free named data list (1)
Gilles Peskine88f136f2019-09-20 21:06:27 +0200428free_named_data_list:1
Gilles Peskine27d806f2019-03-01 18:02:53 +0100429
430Free named data list (2)
Gilles Peskine88f136f2019-09-20 21:06:27 +0200431free_named_data_list:2