Last sync 2016.04.01
[deliverable/titan.core.git] / function_test / BER_EncDec / BER_EncDec_TD.fast_script
CommitLineData
970ed795 1.******************************************************************************
d44e3c4f 2.* Copyright (c) 2000-2016 Ericsson Telecom AB
970ed795
EL
3.* All rights reserved. This program and the accompanying materials
4.* are made available under the terms of the Eclipse Public License v1.0
5.* which accompanies this distribution, and is available at
6.* http://www.eclipse.org/legal/epl-v10.html
d44e3c4f 7.*
8.* Contributors:
9.* Balasko, Jeno
10.* Beres, Szabolcs
11.* Delic, Adam
12.* Kovacs, Ferenc
13.* Szabados, Kristof
14.*
970ed795
EL
15.******************************************************************************/
16:text.
17:lang eng.
18.*
19:docname.Test Description
a38c6d4c 20:docno.8/152 91-CRL 113 200/5 Uen
21:rev.C
22:date.2015-04-27
970ed795
EL
23.*
24:prep.ETH/XZR Kristof Szabados (+36 1 437 7256)
25:appr.ETH/XZ (Roland Gecse)
26:checked.ETHBAAT
27.*
28:title.Test Description - BER coder
29:contents level=3.
30.*---------------------------------------------------------------------*
31:h1.PREREQUISITES AND PREPARATIONS
32.*---------------------------------------------------------------------*
33.*---------------------------------------------------------------------*
34:h2.Scope of the Test Object
35.*---------------------------------------------------------------------*
36:xmp tab=1 nokeep.
37
38This TD contains unified test cases related to TTCN3 Executor's BER coder function.
39The original test cases can be found in the BER_EncDec_TD.script file.
40The reason for the unification was to get a really fast version of the tests.
41
42:exmp.
43
44:p.:us.Revision Information:eus.
45
46:xmp nokeep.
47:us.History:eus.
48
49REV DATE PREPARED CHANGE
50=== ========== ======== ======
51A 2003-10-31 ETHEKR New document
52B 2007-03-06 EDMDELI Implicit message encoding
53C 2007-03-21 EJNOSZA Bugfix in a testcase for implicit msg. enc.
54D 2008-10-01 EFERKOV Big integers
55E 2010-01-18 EKRISZA Updated for TITAN R8C
56F 2011-06-18 EKRISZA Added tests for errors
57A 2011-12-12 EKRISZA Updated for release
58PB1 2011-01-30 ETHBAAT Editorial changes
59
60:exmp.
61
62
63.*---------------------------------------------------------------------*
64:h2.Test Tools
65.*---------------------------------------------------------------------*
66:p.:us.Software Tools:eus.
67:xmp tab=2 nokeep.
68
69 SAtester
70
71:exmp.
72:np.
73.*---------------------------------------------------------------------*
74:h1.REQUIREMENT-BASED TESTS
75.*---------------------------------------------------------------------*
76.*---------------------------------------------------------------------*
77:h2.Testing FIELDLENGTH Attribute
78.*---------------------------------------------------------------------*
79.*---------------------------------------------------------------------*
80:h3. DER + CER encoding of BOOLEAN, (unified test)
81.*---------------------------------------------------------------------*
82.*---------------------------------------------------------------------*
83:h3. DER + CER coding without AUTOMATIC TAGGING (unified test)
84.*---------------------------------------------------------------------*
85:xmp tab=0.
86
87<TC - DER + CER encoding of BOOLEAN, (unified test)>
88
89<STATIC:ASN>
90
91TempA
92
93DEFINITIONS ::=
94
95BEGIN
96
97 IMPORTS;
98
99 BERPDU1 ::= BOOLEAN
100 BERPDU2 ::= [0] EXPLICIT BOOLEAN
101 BERPDU3 ::= [PRIVATE 1] EXPLICIT BOOLEAN
102 BERPDU4 ::= [APPLICATION 2] EXPLICIT BOOLEAN
103 BERPDU5 ::= [0] IMPLICIT BOOLEAN
104 BERPDU6 ::= [PRIVATE 1] IMPLICIT BOOLEAN
105 BERPDU7 ::= [APPLICATION 2] IMPLICIT BOOLEAN
106
107 BERPDU8 ::= INTEGER
108 BERPDU9 ::= [0] EXPLICIT INTEGER
109 BERPDU10 ::= [PRIVATE 1] EXPLICIT INTEGER
110 BERPDU11 ::= [APPLICATION 2] EXPLICIT INTEGER
111 BERPDU12 ::= [0] IMPLICIT INTEGER
112 BERPDU13 ::= [PRIVATE 1] IMPLICIT INTEGER
113 BERPDU14 ::= [APPLICATION 2] IMPLICIT INTEGER
114 BERPDU15 ::= [30] EXPLICIT INTEGER
115 BERPDU16 ::= [31] EXPLICIT INTEGER
116 BERPDU17 ::= [127] EXPLICIT INTEGER
117 BERPDU18 ::= [128] EXPLICIT INTEGER
118 BERPDU19 ::= [16383] EXPLICIT INTEGER
119 BERPDU20 ::= [16384] EXPLICIT INTEGER
120
121 BERPDU21 ::= ENUMERATED {first(-5), second(0), third(9)}
122 BERPDU22 ::= ENUMERATED {first, second, third}
123 BERPDU23 ::= ENUMERATED {first, second(0),third}
124 BERPDU24 ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
125 BERPDU25 ::= [21] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
126 BERPDU26 ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
127 BERPDU27 ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
128
129 BERPDU28 ::= REAL
130 BERPDU29 ::= [0] IMPLICIT REAL
131 BERPDU30 ::= [0] EXPLICIT REAL
132
133 BERPDU31 ::= BIT STRING
134 BERPDU32 ::= [0] IMPLICIT BIT STRING
135 BERPDU33 ::= [0] EXPLICIT BIT STRING
136
137 BERPDU34 ::= OCTET STRING
138 BERPDU35 ::= [0] IMPLICIT OCTET STRING
139 BERPDU36 ::= [0] EXPLICIT OCTET STRING
140 BERPDU37 ::= NULL
141 BERPDU38 ::= [0] EXPLICIT NULL
142 BERPDU39 ::= [PRIVATE 1] EXPLICIT NULL
143 BERPDU40 ::= [APPLICATION 2] EXPLICIT NULL
144 BERPDU41 ::= [0] IMPLICIT NULL
145 BERPDU42 ::= [PRIVATE 1] IMPLICIT NULL
146 BERPDU43 ::= [APPLICATION 2] IMPLICIT NULL
147
148 BERPDU44 ::= SEQUENCE
149 {
150 b BOOLEAN OPTIONAL,
151 c INTEGER OPTIONAL
152 }
153
154 BERPDU45 ::= SEQUENCE
155 {
156 b BOOLEAN DEFAULT TRUE,
157 c INTEGER OPTIONAL
158 }
159
160 BERPDU48 ::= SEQUENCE
161 {
162 b [30] IMPLICIT BOOLEAN OPTIONAL,
163 c [31] IMPLICIT INTEGER OPTIONAL
164 }
165
166 BERPDU49 ::= SEQUENCE
167 {
168 b [30] EXPLICIT BOOLEAN OPTIONAL,
169 c [31] EXPLICIT INTEGER OPTIONAL
170 }
171
172 BERPDU50 ::= [0] SEQUENCE
173 {
174 b BOOLEAN OPTIONAL,
175 c INTEGER OPTIONAL
176 }
177
178 BERPDU54 ::= [0] SEQUENCE
179 {
180 b [0] BOOLEAN OPTIONAL,
181 c [1] INTEGER OPTIONAL
182 }
183
184 BERPDU65 ::= SEQUENCE
185 {
186 b CHOICE {
187 x BOOLEAN,
188 y OCTET STRING
189 }
190 OPTIONAL,
191 c INTEGER OPTIONAL
192
193 }
194
195 BERPDU67 ::= SEQUENCE
196 {
197 a NULL,
198 b BOOLEAN,
199 c INTEGER,
200 d ENUMERATED {first ,second ,third},
201 e REAL,
202 f BIT STRING,
203 g OCTET STRING,
204
205 h OBJECT IDENTIFIER,
206 i IA5String,
207 j CHOICE {x1 [1] BOOLEAN,
208 y1 [2] OCTET STRING},
209
210 k SEQUENCE{x2 NULL,
211 y2 BOOLEAN},
212
213 l SET { x3 BIT STRING,
214 y3 REAL},
215
216 m [3] SEQUENCE OF INTEGER,
217 n [4] SET OF BOOLEAN
218 }
219
220 myOBJID-67 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
221
222 BERPDU69 ::= SEQUENCE
223 {
224 a NULL,
225 b BOOLEAN,
226 c INTEGER,
227 d ENUMERATED {first ,second ,third},
228 --e REAL,
229 f BIT STRING,
230 g OCTET STRING,
231
232 h OBJECT IDENTIFIER,
233 i IA5String,
234 j CHOICE {x1 [1] BOOLEAN,
235 y1 [2] OCTET STRING},
236 k SEQUENCE{x2 NULL,
237 y2 BOOLEAN},
238 l SET { x3 BIT STRING,
239 y3 NULL},
240 m [3] SEQUENCE OF INTEGER,
241 n [4] SET OF BOOLEAN
242 }
243
244 myOBJID-69 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
245
246 BERPDU71 ::= SEQUENCE OF INTEGER
247 BERPDU72 ::= SEQUENCE OF BOOLEAN
248 BERPDU73 ::= SEQUENCE OF OCTET STRING
249 BERPDU74 ::= SEQUENCE OF SEQUENCE {a INTEGER, b BOOLEAN}
250 BERPDU75 ::= SEQUENCE OF SET {a INTEGER, b BOOLEAN}
251 BERPDU76 ::= SEQUENCE OF SEQUENCE OF INTEGER
252 BERPDU77 ::= SEQUENCE OF CHOICE{a INTEGER, b BOOLEAN}
253 BERPDU78 ::= SEQUENCE OF SET OF INTEGER
254 BERPDU79 ::= [0] SEQUENCE OF BOOLEAN
255 BERPDU82 ::= SET
256 {
257 b BOOLEAN OPTIONAL,
258 c INTEGER OPTIONAL
259 }
260 BERPDU83 ::= SET
261 {
262 b BOOLEAN DEFAULT TRUE,
263 c INTEGER OPTIONAL
264 }
265 BERPDU84 ::= SET
266 {
267
268 c INTEGER OPTIONAL,
269 b BOOLEAN DEFAULT TRUE
270 }
271
272
273 myBooleanValue1-1 BERPDU1 ::= TRUE
274 myBooleanValue2-1 BERPDU1 ::= FALSE
275
276 myBooleanValue1-2 BERPDU2 ::= TRUE
277 myBooleanValue1-3 BERPDU3 ::= TRUE
278
279 myBooleanValue1-4 BERPDU4 ::= TRUE
280 myBooleanValue1-5 BERPDU5 ::= TRUE
281 myBooleanValue1-6 BERPDU6 ::= FALSE
282 myBooleanValue2-6 BERPDU6 ::= TRUE
283 myBooleanValue1-7 BERPDU6 ::= FALSE
284 myBooleanValue2-7 BERPDU6 ::= TRUE
285
286 b8-8 BERPDU8 ::= 5
287 b9-8 BERPDU8 ::= 0
288 b10-8 BERPDU8 ::= 127
289 b11-8 BERPDU8 ::= -128
290 b12-8 BERPDU8 ::= -5
291 b13-8 BERPDU8 ::= 128
292 b14-8 BERPDU8 ::= -129
293
294 b8-9 BERPDU9 ::= 5
295 b9-9 BERPDU9 ::= 0
296 b10-9 BERPDU9 ::= 127
297 b11-9 BERPDU9 ::= -128
298 b12-9 BERPDU9 ::= -5
299 b13-9 BERPDU9 ::= 128
300 b14-9 BERPDU9 ::= -129
301
302 b8-10 BERPDU10 ::= 5
303 b9-10 BERPDU10 ::= 0
304 b10-10 BERPDU10 ::= 127
305 b11-10 BERPDU10 ::= -128
306 b12-10 BERPDU10 ::= -5
307 b13-10 BERPDU10 ::= 128
308 b14-10 BERPDU10 ::= -129
309
310 b8-11 BERPDU11 ::= 5
311 b9-11 BERPDU11 ::= 0
312 b10-11 BERPDU11 ::= 127
313 b11-11 BERPDU11 ::= -128
314 b12-11 BERPDU11 ::= -5
315 b13-11 BERPDU11 ::= 128
316 b14-11 BERPDU11 ::= -129
317
318 b8-12 BERPDU12 ::= 5
319 b9-12 BERPDU12 ::= 0
320 b10-12 BERPDU12 ::= 127
321 b11-12 BERPDU12 ::= -128
322 b12-12 BERPDU12 ::= -5
323 b13-12 BERPDU12 ::= 128
324 b14-12 BERPDU12 ::= -129
325
326 b8-13 BERPDU13 ::= 5
327 b9-13 BERPDU13 ::= 0
328 b10-13 BERPDU13 ::= 127
329 b11-13 BERPDU13 ::= -128
330 b12-13 BERPDU13 ::= -5
331 b13-13 BERPDU13 ::= 128
332 b14-13 BERPDU13 ::= -129
333
334 b8-14 BERPDU14 ::= 5
335 b9-14 BERPDU14 ::= 0
336 b10-14 BERPDU14 ::= 127
337 b11-14 BERPDU14 ::= -128
338 b12-14 BERPDU14 ::= -5
339 b13-14 BERPDU14 ::= 128
340 b14-14 BERPDU14 ::= -129
341
342 b2-15 BERPDU15 ::= 5
343
344 b7-24 BERPDU24 ::= first
345 b8-24 BERPDU24 ::= third
346 b9-24 BERPDU24 ::= fourth
347 b10-24 BERPDU24 ::= fifth
348 b11-24 BERPDU24 ::= sixth
349 b12-24 BERPDU24 ::= second
350
351 b2-26 BERPDU26 ::= first
352 b3-26 BERPDU26 ::= second
353 b4-26 BERPDU26 ::= third
354 b5-26 BERPDU26 ::= fourth
355 b6-26 BERPDU26 ::= fifth
356 b7-26 BERPDU26 ::= sixth
357
358 b1-27 BERPDU27 ::= first
359 b2-27 BERPDU27 ::= second
360 b3-27 BERPDU27 ::= third
361 b4-27 BERPDU27 ::= fourth
362 b5-27 BERPDU27 ::= fifth
363 b6-27 BERPDU27 ::= sixth
364
365 b1-28 BERPDU28 ::= 0
366 b2-28 BERPDU28 ::= 0.0
367 b3-28 BERPDU28 ::= 0E0
368 b4-28 BERPDU28 ::= 0.0E0
369 b5-28 BERPDU28 ::= 0e0
370 b6-28 BERPDU28 ::= 0.0e0
371 b7-28 BERPDU28 ::= 0E+0
372 b8-28 BERPDU28 ::= 0.0E+0
373 b9-28 BERPDU28 ::= 0e+0
374 b10-28 BERPDU28 ::= 0.0e+0
375 b11-28 BERPDU28 ::= 0E-0
376 b12-28 BERPDU28 ::= 0.0E-0
377 b13-28 BERPDU28 ::= 0e-0
378 b14-28 BERPDU28 ::= 0.0e-0
379 b15-28 BERPDU28 ::= 1
380 b16-28 BERPDU28 ::= 1e0
381 b17-28 BERPDU28 ::= 1E0
382 b18-28 BERPDU28 ::= 1.0e0
383 b19-28 BERPDU28 ::= 1.0E0
384 b20-28 BERPDU28 ::= 1e+0
385 b21-28 BERPDU28 ::= 1E+0
386 b22-28 BERPDU28 ::= 1.0e+0
387 b23-28 BERPDU28 ::= 1.0E+0
388 b24-28 BERPDU28 ::= 1e-0
389 b25-28 BERPDU28 ::= 1E-0
390 b26-28 BERPDU28 ::= 1.0e-0
391 b27-28 BERPDU28 ::= 1.0E-0
392 b28-28 BERPDU28 ::= 2
393 b29-28 BERPDU28 ::= 2.0
394 b30-28 BERPDU28 ::= -1
395 b31-28 BERPDU28 ::= -1e0
396 b32-28 BERPDU28 ::= -1E0
397 b33-28 BERPDU28 ::= -1.0e0
398 b34-28 BERPDU28 ::= -1.0E0
399 b35-28 BERPDU28 ::= -1e+0
400 b36-28 BERPDU28 ::= -1E+0
401 b37-28 BERPDU28 ::= -1.0e+0
402 b38-28 BERPDU28 ::= -1.0E+0
403 b39-28 BERPDU28 ::= -1e-0
404 b40-28 BERPDU28 ::= -1E-0
405 b41-28 BERPDU28 ::= -1.0e-0
406 b42-28 BERPDU28 ::= -1.0E-0
407 b43-28 BERPDU28 ::= -1.0
408 b44-28 BERPDU28 ::= 1.000
409 b45-28 BERPDU28 ::= -1.000
410 b46-28 BERPDU28 ::= 12
411 b47-28 BERPDU28 ::= 12.0
412 b48-28 BERPDU28 ::= 12.0E0
413 b49-28 BERPDU28 ::= 1.2E1
414 b50-28 BERPDU28 ::= 0.12E2
415 b51-28 BERPDU28 ::= 1.2E1
416 b52-28 BERPDU28 ::= 0.12E2
417 b53-28 BERPDU28 ::= 0.34
418 b54-28 BERPDU28 ::= 0.344
419 b55-28 BERPDU28 ::= 0.345
420 b56-28 BERPDU28 ::= 0.034
421 b57-28 BERPDU28 ::= 0.0034
422 b58-28 BERPDU28 ::= 0.304
423 b59-28 BERPDU28 ::= 0.1234567890
424 b60-28 BERPDU28 ::= 0.123456789
425 b61-28 BERPDU28 ::= 0.0123456789
426 b62-28 BERPDU28 ::= 123456789.0
427 b63-28 BERPDU28 ::= 123456789
428 b64-28 BERPDU28 ::= 1234567890
429 b65-28 BERPDU28 ::= 1234567890.0
430 b66-28 BERPDU28 ::= 1234567890.00
431 b67-28 BERPDU28 ::= 12345678900.0
432 b68-28 BERPDU28 ::= 12345678900.0
433 b69-28 BERPDU28 ::= 12345678900.00
434 b70-28 BERPDU28 ::= -12
435 b71-28 BERPDU28 ::= -12.0
436 b72-28 BERPDU28 ::= -12.0E0
437 b73-28 BERPDU28 ::= -1.2E1
438 b74-28 BERPDU28 ::= -0.12E2
439 b75-28 BERPDU28 ::= -1.2E1
440 b76-28 BERPDU28 ::= -0.12E2
441 b77-28 BERPDU28 ::= -0.34
442 b78-28 BERPDU28 ::= -0.344
443 b79-28 BERPDU28 ::= -0.345
444 b80-28 BERPDU28 ::= -0.034
445 b81-28 BERPDU28 ::= -0.0034
446 b82-28 BERPDU28 ::= -0.304
447 b83-28 BERPDU28 ::= -0.1234567890
448 b84-28 BERPDU28 ::= -0.123456789
449 b85-28 BERPDU28 ::= -0.0123456789
450 b86-28 BERPDU28 ::= -123456789.0
451 b87-28 BERPDU28 ::= -123456789
452 b88-28 BERPDU28 ::= -1234567890
453 b89-28 BERPDU28 ::= -1234567890.0
454 b90-28 BERPDU28 ::= -1234567890.00
455 b91-28 BERPDU28 ::= -12345678900.0
456 b92-28 BERPDU28 ::= -12345678900.0
457 b93-28 BERPDU28 ::= -12345678900.00
458 b94-28 BERPDU28 ::= PLUS-INFINITY
459 b95-28 BERPDU28 ::= MINUS-INFINITY
460
461 b-29 BERPDU29 ::= 1
462 b-30 BERPDU30 ::= 1
463
464 b6-31 BERPDU31 ::=
465'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
466b7-31 BERPDU31 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
467b8-31 BERPDU31 ::= ''B
468b9-31 BERPDU31 ::='1'B
469b10-31 BERPDU31 ::='11'B
470b11-31 BERPDU31 ::='1010101'B
471b12-31 BERPDU31 ::='10101011010101'B
472b13-31 BERPDU31 ::='10101010'B
473b14-31 BERPDU31 ::='1010101010101010'B
474b15-31 BERPDU31 ::='111100001'B
475b16-31 BERPDU31 ::='111100001111100001'B
476b17-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
477b18-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
478b19-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
479
480b-32 BERPDU32 ::='1'B
481
482b5-34 BERPDU34 ::=''H
483b6-34 BERPDU34 ::='FFFF'H
484b7-34 BERPDU34 ::='FFFFFFFF'H
485b8-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
486b9-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
487b10-34 BERPDU34 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
488myIntegerValue-34 BERPDU34 ::='FFFF'H
489myIntegerValue-35 BERPDU35 ::='FFFF'H
490myIntegerValue-36 BERPDU36 ::='FFFF'H
491
492myNullValue-37 BERPDU37 ::= NULL
493myNullValue-38 BERPDU38 ::= NULL
494myNullValue-39 BERPDU39 ::= NULL
495myNullValue-40 BERPDU40 ::= NULL
496myNullValue-41 BERPDU41 ::= NULL
497myNullValue-42 BERPDU42 ::= NULL
498myNullValue-43 BERPDU43 ::= NULL
499
500
501
502END
503
504<STATIC>
505
506
507type component Test_CT {}
508
509<TTCN_TC:PURE_EXEC>
510
511import from TempA all;
512external function enc_DER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
513external function enc_CER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
514
515external function enc_DER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
516external function enc_CER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
517external function enc_DER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
518external function enc_CER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
519external function enc_DER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
520external function enc_CER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
521external function enc_DER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
522external function enc_CER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
523external function enc_DER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
524external function enc_CER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
525external function enc_DER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
526external function enc_CER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
527external function enc_DER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
528external function enc_CER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
529external function enc_DER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
530external function enc_CER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
531external function enc_DER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
532external function enc_CER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
533external function enc_DER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
534external function enc_CER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
535external function enc_DER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
536external function enc_CER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
537external function enc_DER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
538external function enc_CER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
539external function enc_DER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
540external function enc_CER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
541external function enc_DER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
542external function enc_CER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
543external function enc_DER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
544external function enc_CER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
545external function enc_DER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
546external function enc_CER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
547external function enc_DER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
548external function enc_CER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
549external function enc_DER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
550external function enc_CER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
551external function enc_DER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
552external function enc_CER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
553external function enc_DER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
554external function enc_CER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
555external function enc_DER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
556external function enc_CER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
557external function enc_DER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
558external function enc_CER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
559external function enc_DER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
560external function enc_CER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
561external function enc_DER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
562external function enc_CER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
563external function enc_DER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
564external function enc_CER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
565external function enc_DER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
566external function enc_CER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
567external function enc_DER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
568external function enc_CER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
569external function enc_DER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
570external function enc_CER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
571external function enc_DER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
572external function enc_CER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
573external function enc_DER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
574external function enc_CER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
575external function enc_DER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
576external function enc_CER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
577external function enc_DER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
578external function enc_CER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
579external function enc_DER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
580external function enc_CER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
581external function enc_DER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
582external function enc_CER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
583external function enc_DER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
584external function enc_CER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
585external function enc_DER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
586external function enc_CER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
587external function enc_DER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
588external function enc_CER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
589external function enc_DER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
590external function enc_CER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
591external function enc_DER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
592external function enc_CER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
593external function enc_DER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
594external function enc_CER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
595external function enc_DER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
596external function enc_CER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
597external function enc_DER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
598external function enc_CER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
599external function enc_DER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
600external function enc_CER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
601external function enc_DER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
602external function enc_CER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
603external function enc_DER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
604external function enc_CER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
605external function enc_DER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
606external function enc_CER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
607external function enc_DER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
608external function enc_CER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
609external function enc_DER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
610external function enc_CER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
611external function enc_DER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
612external function enc_CER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
613external function enc_DER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
614external function enc_CER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
615external function enc_DER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
616external function enc_CER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
617external function enc_DER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
618external function enc_CER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
619external function enc_DER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
620external function enc_CER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
621external function enc_DER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
622external function enc_CER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
623external function enc_DER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
624external function enc_CER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
625external function enc_DER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
626external function enc_CER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
627external function enc_DER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
628external function enc_CER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
629external function enc_DER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
630external function enc_CER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
631external function enc_DER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
632external function enc_CER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
633external function enc_DER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
634external function enc_CER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
635external function enc_DER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
636external function enc_CER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
637external function enc_DER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
638external function enc_CER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
639
640external function dec_BER_PDU1(in octetstring stream) return BERPDU1 with { extension "prototype(convert) decode(BER)" }
641external function dec_BER_PDU2(in octetstring stream) return BERPDU2 with { extension "prototype(convert) decode(BER)" }
642external function dec_BER_PDU3(in octetstring stream) return BERPDU3 with { extension "prototype(convert) decode(BER)" }
643external function dec_BER_PDU4(in octetstring stream) return BERPDU4 with { extension "prototype(convert) decode(BER)" }
644external function dec_BER_PDU5(in octetstring stream) return BERPDU5 with { extension "prototype(convert) decode(BER)" }
645external function dec_BER_PDU6(in octetstring stream) return BERPDU6 with { extension "prototype(convert) decode(BER)" }
646external function dec_BER_PDU7(in octetstring stream) return BERPDU7 with { extension "prototype(convert) decode(BER)" }
647external function dec_BER_PDU8(in octetstring stream) return BERPDU8 with { extension "prototype(convert) decode(BER)" }
648external function dec_BER_PDU9(in octetstring stream) return BERPDU9 with { extension "prototype(convert) decode(BER)" }
649external function dec_BER_PDU10(in octetstring stream) return BERPDU10 with { extension "prototype(convert) decode(BER)" }
650external function dec_BER_PDU11(in octetstring stream) return BERPDU11 with { extension "prototype(convert) decode(BER)" }
651external function dec_BER_PDU12(in octetstring stream) return BERPDU12 with { extension "prototype(convert) decode(BER)" }
652external function dec_BER_PDU13(in octetstring stream) return BERPDU13 with { extension "prototype(convert) decode(BER)" }
653external function dec_BER_PDU14(in octetstring stream) return BERPDU14 with { extension "prototype(convert) decode(BER)" }
654external function dec_BER_PDU15(in octetstring stream) return BERPDU15 with { extension "prototype(convert) decode(BER)" }
655external function dec_BER_PDU16(in octetstring stream) return BERPDU16 with { extension "prototype(convert) decode(BER)" }
656external function dec_BER_PDU17(in octetstring stream) return BERPDU17 with { extension "prototype(convert) decode(BER)" }
657external function dec_BER_PDU18(in octetstring stream) return BERPDU18 with { extension "prototype(convert) decode(BER)" }
658external function dec_BER_PDU19(in octetstring stream) return BERPDU19 with { extension "prototype(convert) decode(BER)" }
659external function dec_BER_PDU20(in octetstring stream) return BERPDU20 with { extension "prototype(convert) decode(BER)" }
660external function dec_BER_PDU21(in octetstring stream) return BERPDU21 with { extension "prototype(convert) decode(BER)" }
661external function dec_BER_PDU22(in octetstring stream) return BERPDU22 with { extension "prototype(convert) decode(BER)" }
662external function dec_BER_PDU23(in octetstring stream) return BERPDU23 with { extension "prototype(convert) decode(BER)" }
663external function dec_BER_PDU24(in octetstring stream) return BERPDU24 with { extension "prototype(convert) decode(BER)" }
664//external function dec_BER_PDU25(in octetstring stream) return BERPDU25 with { extension "prototype(convert) decode(BER)" }
665external function dec_BER_PDU26(in octetstring stream) return BERPDU26 with { extension "prototype(convert) decode(BER)" }
666external function dec_BER_PDU27(in octetstring stream) return BERPDU27 with { extension "prototype(convert) decode(BER)" }
667external function dec_BER_PDU28(in octetstring stream) return BERPDU28 with { extension "prototype(convert) decode(BER)" }
668external function dec_BER_PDU29(in octetstring stream) return BERPDU29 with { extension "prototype(convert) decode(BER)" }
669external function dec_BER_PDU30(in octetstring stream) return BERPDU30 with { extension "prototype(convert) decode(BER)" }
670external function dec_BER_PDU31(in octetstring stream) return BERPDU31 with { extension "prototype(convert) decode(BER)" }
671external function dec_BER_PDU32(in octetstring stream) return BERPDU32 with { extension "prototype(convert) decode(BER)" }
672external function dec_BER_PDU33(in octetstring stream) return BERPDU33 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
673external function dec_BER_PDU34(in octetstring stream) return BERPDU34 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
674external function dec_BER_PDU35(in octetstring stream) return BERPDU35 with { extension "prototype(convert) decode(BER)" }
675external function dec_BER_PDU36(in octetstring stream) return BERPDU36 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
676external function dec_BER_PDU37(in octetstring stream) return BERPDU37 with { extension "prototype(convert) decode(BER)" }
677external function dec_BER_PDU38(in octetstring stream) return BERPDU38 with { extension "prototype(convert) decode(BER)" }
678external function dec_BER_PDU39(in octetstring stream) return BERPDU39 with { extension "prototype(convert) decode(BER)" }
679external function dec_BER_PDU40(in octetstring stream) return BERPDU40 with { extension "prototype(convert) decode(BER)" }
680external function dec_BER_PDU41(in octetstring stream) return BERPDU41 with { extension "prototype(convert) decode(BER)" }
681external function dec_BER_PDU42(in octetstring stream) return BERPDU42 with { extension "prototype(convert) decode(BER)" }
682external function dec_BER_PDU43(in octetstring stream) return BERPDU43 with { extension "prototype(convert) decode(BER)" }
683external function dec_BER_PDU44(in octetstring stream) return BERPDU44 with { extension "prototype(convert) decode(BER)" }
684external function dec_BER_PDU45(in octetstring stream) return BERPDU45 with { extension "prototype(convert) decode(BER)" }
685external function dec_BER_PDU48(in octetstring stream) return BERPDU48 with { extension "prototype(convert) decode(BER)" }
686external function dec_BER_PDU49(in octetstring stream) return BERPDU49 with { extension "prototype(convert) decode(BER)" }
687external function dec_BER_PDU50(in octetstring stream) return BERPDU50 with { extension "prototype(convert) decode(BER)" }
688external function dec_BER_PDU54(in octetstring stream) return BERPDU54 with { extension "prototype(convert) decode(BER)" }
689external function dec_BER_PDU65(in octetstring stream) return BERPDU65 with { extension "prototype(convert) decode(BER)" }
690external function dec_BER_PDU67(in octetstring stream) return BERPDU67 with { extension "prototype(convert) decode(BER)" }
691external function dec_BER_PDU69(in octetstring stream) return BERPDU69 with { extension "prototype(convert) decode(BER)" }
692external function dec_BER_PDU71(in octetstring stream) return BERPDU71 with { extension "prototype(convert) decode(BER)" }
693external function dec_BER_PDU72(in octetstring stream) return BERPDU72 with { extension "prototype(convert) decode(BER)" }
694external function dec_BER_PDU73(in octetstring stream) return BERPDU73 with { extension "prototype(convert) decode(BER)" }
695external function dec_BER_PDU74(in octetstring stream) return BERPDU74 with { extension "prototype(convert) decode(BER)" }
696external function dec_BER_PDU75(in octetstring stream) return BERPDU75 with { extension "prototype(convert) decode(BER)" }
697external function dec_BER_PDU76(in octetstring stream) return BERPDU76 with { extension "prototype(convert) decode(BER)" }
698external function dec_BER_PDU77(in octetstring stream) return BERPDU77 with { extension "prototype(convert) decode(BER)" }
699external function dec_BER_PDU78(in octetstring stream) return BERPDU78 with { extension "prototype(convert) decode(BER)" }
700external function dec_BER_PDU79(in octetstring stream) return BERPDU79 with { extension "prototype(convert) decode(BER)" }
701external function dec_BER_PDU82(in octetstring stream) return BERPDU82 with { extension "prototype(convert) decode(BER)" }
702external function dec_BER_PDU83(in octetstring stream) return BERPDU83 with { extension "prototype(convert) decode(BER)" }
703external function dec_BER_PDU84(in octetstring stream) return BERPDU84 with { extension "prototype(convert) decode(BER)" }
704
705//*********************************************
706// TESTCASES
707//*********************************************
708
709//===========================================
710// DER + CER encoding of BOOLEAN TRUE, FALSE
711//===========================================
712testcase tc_DER_CER_encoding_of_BOOLEAN() runs on Test_CT {
713 const BERPDU1 b1 := true
714 const BERPDU1 b2 := false
715 if ((enc_DER_PDU1(b1) == '0101FF'O)and(enc_CER_PDU1(b1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
716 if ((enc_DER_PDU1(b2) == '010100'O)and(enc_CER_PDU1(b2) == '010100'O)) {setverdict(pass);} else {setverdict(fail);}
717}
718
719//===========================================
720// DER + CER encoding of BOOLEAN with Context Specific TAG, EXPLICIT
721//===========================================
722testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit() runs on Test_CT {
723 const BERPDU2 b := true
724 if ((enc_DER_PDU2(b) == 'A0030101FF'O)and(enc_CER_PDU2(b) == 'A0800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
725}
726
727//===========================================
728// DER + CER encoding of BOOLEAN with PRIVATE TAG, EXPLICIT
729//===========================================
730testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT {
731 const BERPDU3 b := true
732
733 if ((enc_DER_PDU3(b) == 'E1030101FF'O)and(enc_CER_PDU3(b) == 'E1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
734
735}
736
737//===========================================
738// DER + CER encoding of BOOLEAN with APPLICATION TAG, EXPLICIT
739//===========================================
740testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT {
741 const BERPDU4 b := true
742 if ((enc_DER_PDU4(b) == '62030101FF'O)and(enc_CER_PDU4(b) == '62800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
743}
744
745//===========================================
746// DER + CER encoding of BOOLEAN with Context Specific TAG, IMPLICIT
747//===========================================
748testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT {
749 const BERPDU5 b := false
750 if ((enc_DER_PDU5(b) == '800100'O)and(enc_CER_PDU5(b) == '800100'O)) {setverdict(pass);} else {setverdict(fail);}
751}
752//===========================================
753// DER + CER encoding of BOOLEAN with Private TAG, IMPLICIT
754//===========================================
755testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT {
756 const BERPDU6 b := false
757 if ((enc_DER_PDU6(b) == 'C10100'O)and(enc_CER_PDU6(b) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);}
758}
759//===========================================
760// DER + CER encoding of BOOLEAN with Application TAG, IMPLICIT
761//===========================================
762testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT {
763 const BERPDU7 b := true
764 if ((enc_DER_PDU7(b) == '4201FF'O)and(enc_CER_PDU7(b) == '4201FF'O)) {setverdict(pass);} else {setverdict(fail);}
765}
766//===========================================
767// DECODING BOOLEAN, CER+DER, (unified test)
768//===========================================
769testcase tc_BER_decoding_of_BOOLEAN() runs on Test_CT {
770 if (dec_BER_PDU1('0101FF'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);}
771 if (dec_BER_PDU1('010100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);}
772 if (dec_BER_PDU1('01810101'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);} //(LENGTH OF LENGTH = 1)
773 if (dec_BER_PDU1('0182000100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);}//(LENGTH OF LENGTH = 2)
774}
775
776//===========================================
777// DECODING [0] EXPLICIT BOOLEAN, DER, (unified test)
778//===========================================
779testcase tc_DER_decoding_of_BOOLEAN_Explicit() runs on Test_CT {
780 if (dec_BER_PDU2('A0030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
781 if (dec_BER_PDU2('A0800101FF0000'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
782 if (dec_BER_PDU2('A081030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
783 if (dec_BER_PDU2('A0810401810199'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
784}
785
786//===========================================
787// DECODING [PRIVATE 1] EXPLICIT BOOLEAN, DER-CER, (unified test)
788//===========================================
789testcase tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT {
790 if (dec_BER_PDU3('E1030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//DER
791 if (dec_BER_PDU3('E1800101FF0000'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//CER
792 if (dec_BER_PDU3('E181030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long
793 if (dec_BER_PDU3('E1810401810199'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long
794}
795
796//===========================================
797// DER + CER decoding of BOOLEAN with APPLICATION TAG, EXPLICIT
798//===========================================
799testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT {
800 if (dec_BER_PDU4('62030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
801 if (dec_BER_PDU4('62800101FF0000'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
802 if (dec_BER_PDU4('6281030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
803 if (dec_BER_PDU4('62810401810199'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
804}
805//===========================================
806// DECODING [0] IMPLICIT BOOLEAN ,(unified)
807//===========================================
808testcase tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT {
809 if (dec_BER_PDU5('8001FF'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);}
810 if (dec_BER_PDU5('80810133'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);}
811}
812//===========================================
813// DECODING [PRIVATE 1] IMPLICIT BOOLEAN,(unified)
814//===========================================
815testcase tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT {
816 if (dec_BER_PDU6('C10100'O) == myBooleanValue1_6){setverdict(pass);} else {setverdict(fail);}
817 if (dec_BER_PDU6('C1810105'O) == myBooleanValue2_6){setverdict(pass);} else {setverdict(fail);}
818}
819//===========================================
820// DECODING [APPLICATION 2] IMPLICIT BOOLEAN,(unified)
821//===========================================
822testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT {
823 if (dec_BER_PDU7('420100'O) == myBooleanValue1_7){setverdict(pass);} else {setverdict(fail);}
824 if (dec_BER_PDU7('42810188'O) == myBooleanValue2_7){setverdict(pass);} else {setverdict(fail);}
825}
826
827
828
829//===========================================
830// DER + CER coding of integer (unified)
831//===========================================
832
833testcase tc_DER_CER_coding_of_INTEGER() runs on Test_CT {
834 const BERPDU8 b1_8 := 5
835 const BERPDU8 b2_8 := 0
836 const BERPDU8 b3_8 := 127
837 const BERPDU8 b4_8 := -128
838 const BERPDU8 b5_8 := -5
839 const BERPDU8 b6_8 := 128
840 const BERPDU8 b7_8 := -129
841 if ((enc_DER_PDU8(b1_8) == '020105'O)and(enc_CER_PDU8(b1_8) == '020105'O)) {setverdict(pass);} else {setverdict(fail);}
842 if ((enc_DER_PDU8(b2_8) == '020100'O)and(enc_CER_PDU8(b2_8) == '020100'O)) {setverdict(pass);} else {setverdict(fail);}
843 if ((enc_DER_PDU8(b3_8) == '02017F'O)and(enc_CER_PDU8(b3_8) == '02017F'O)) {setverdict(pass);} else {setverdict(fail);}
844 if ((enc_DER_PDU8(b4_8) == '020180'O)and(enc_CER_PDU8(b4_8) == '020180'O)) {setverdict(pass);} else {setverdict(fail);}
845 if ((enc_DER_PDU8(b5_8) == '0201FB'O)and(enc_CER_PDU8(b5_8) == '0201FB'O)) {setverdict(pass);} else {setverdict(fail);}
846 if ((enc_DER_PDU8(b6_8) == '02020080'O)and(enc_CER_PDU8(b6_8) == '02020080'O)) {setverdict(pass);} else {setverdict(fail);}
847 if ((enc_DER_PDU8(b7_8) == '0202FF7F'O)and(enc_CER_PDU8(b7_8) == '0202FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
848 if (dec_BER_PDU8('020105'O) == b8_8){setverdict(pass);} else {setverdict(fail);}
849 if (dec_BER_PDU8('02810105'O) == b8_8){setverdict(pass);} else {setverdict(fail);}
850 if (dec_BER_PDU8('0282000105'O) == b8_8){setverdict(pass);} else {setverdict(fail);}
851 if (dec_BER_PDU8('020100'O) == b9_8){setverdict(pass);} else {setverdict(fail);}
852 if (dec_BER_PDU8('02810100'O) == b9_8){setverdict(pass);} else {setverdict(fail);}
853 if (dec_BER_PDU8('0282000100'O) == b9_8){setverdict(pass);} else {setverdict(fail);}
854 if (dec_BER_PDU8('02017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);}
855 if (dec_BER_PDU8('0281017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);}
856 if (dec_BER_PDU8('028200017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);}
857 if (dec_BER_PDU8('020180'O) == b11_8){setverdict(pass);} else {setverdict(fail);}
858 if (dec_BER_PDU8('02810180'O) == b11_8){setverdict(pass);} else {setverdict(fail);}
859 if (dec_BER_PDU8('0282000180'O) == b11_8){setverdict(pass);} else {setverdict(fail);}
860 if (dec_BER_PDU8('0201FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);}
861 if (dec_BER_PDU8('028101FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);}
862 if (dec_BER_PDU8('02820001FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);}
863 if (dec_BER_PDU8('02020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);}
864 if (dec_BER_PDU8('0281020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);}
865 if (dec_BER_PDU8('028200020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);}
866 if (dec_BER_PDU8('0202FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);}
867 if (dec_BER_PDU8('028102FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);}
868 if (dec_BER_PDU8('02820002FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);}
869}
870
871//===========================================
872// DER + CER coding of integer with Context Specific TAG, EXPLICIT (unified)
873//===========================================
874testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit() runs on Test_CT {
875 const BERPDU9 b1_9 := 5
876 const BERPDU9 b2_9 := 0
877 const BERPDU9 b3_9 := 127
878 const BERPDU9 b4_9 := -128
879 const BERPDU9 b5_9 := -5
880 const BERPDU9 b6_9 := 128
881 const BERPDU9 b7_9 := -129
882 if ((enc_DER_PDU9(b1_9) == 'A003020105'O)and(enc_CER_PDU9(b1_9) == 'A0800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
883 if ((enc_DER_PDU9(b2_9) == 'A003020100'O)and(enc_CER_PDU9(b2_9) == 'A0800201000000'O)) {setverdict(pass);} else {setverdict(fail);}
884 if ((enc_DER_PDU9(b3_9) == 'A00302017F'O)and(enc_CER_PDU9(b3_9) == 'A08002017F0000'O)) {setverdict(pass);} else {setverdict(fail);}
885 if ((enc_DER_PDU9(b4_9) == 'A003020180'O)and(enc_CER_PDU9(b4_9) == 'A0800201800000'O)) {setverdict(pass);} else {setverdict(fail);}
886 if ((enc_DER_PDU9(b5_9) == 'A0030201FB'O)and(enc_CER_PDU9(b5_9) == 'A0800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);}
887 if ((enc_DER_PDU9(b6_9) == 'A00402020080'O)and(enc_CER_PDU9(b6_9) == 'A080020200800000'O)) {setverdict(pass);} else {setverdict(fail);}
888 if ((enc_DER_PDU9(b7_9) == 'A0040202FF7F'O)and(enc_CER_PDU9(b7_9) == 'A0800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);}
889 if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
890 if (dec_BER_PDU9('A0800201050000'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
891 if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
892 if (dec_BER_PDU9('A08103020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
893 if (dec_BER_PDU9('A0810402810105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
894 if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
895 if (dec_BER_PDU9('A0800201000000'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
896 if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
897 if (dec_BER_PDU9('A08103020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
898 if (dec_BER_PDU9('A0810402810100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
899 if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
900 if (dec_BER_PDU9('A08002017F0000'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
901 if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
902 if (dec_BER_PDU9('A0810302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
903 if (dec_BER_PDU9('A081040281017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
904 if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
905 if (dec_BER_PDU9('A0800201800000'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
906 if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
907 if (dec_BER_PDU9('A08103020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
908 if (dec_BER_PDU9('A0810402810180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
909 if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
910 if (dec_BER_PDU9('A0800201FB0000'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
911 if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
912 if (dec_BER_PDU9('A081030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
913 if (dec_BER_PDU9('A08104028101FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
914 if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
915 if (dec_BER_PDU9('A080020200800000'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
916 if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
917 if (dec_BER_PDU9('A0810402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
918 if (dec_BER_PDU9('A081050281020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
919 if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
920 if (dec_BER_PDU9('A0800202FF7F0000'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
921 if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
922 if (dec_BER_PDU9('A081040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
923 if (dec_BER_PDU9('A08105028102FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
924}
925
926//===========================================
927// DER + CER coding of integer with PRIVATE TAG, EXPLICIT (unified)
928//===========================================
929testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit() runs on Test_CT {
930 const BERPDU10 b1_10 := 5
931 const BERPDU10 b2_10 := 0
932 const BERPDU10 b3_10 := 127
933 const BERPDU10 b4_10 := -128
934 const BERPDU10 b5_10 := -5
935 const BERPDU10 b6_10 := 128
936 const BERPDU10 b7_10 := -129
937 if ((enc_DER_PDU10(b1_10) == 'E103020105'O)and(enc_CER_PDU10(b1_10) == 'E1800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
938 if ((enc_DER_PDU10(b2_10) == 'E103020100'O)and(enc_CER_PDU10(b2_10) == 'E1800201000000'O)) {setverdict(pass);} else {setverdict(fail);}
939 if ((enc_DER_PDU10(b3_10) == 'E10302017F'O)and(enc_CER_PDU10(b3_10) == 'E18002017F0000'O)) {setverdict(pass);} else {setverdict(fail);}
940 if ((enc_DER_PDU10(b4_10) == 'E103020180'O)and(enc_CER_PDU10(b4_10) == 'E1800201800000'O)) {setverdict(pass);} else {setverdict(fail);}
941 if ((enc_DER_PDU10(b5_10) == 'E1030201FB'O)and(enc_CER_PDU10(b5_10) == 'E1800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);}
942 if ((enc_DER_PDU10(b6_10) == 'E10402020080'O)and(enc_CER_PDU10(b6_10) == 'E180020200800000'O)) {setverdict(pass);} else {setverdict(fail);}
943 if ((enc_DER_PDU10(b7_10) == 'E1040202FF7F'O)and(enc_CER_PDU10(b7_10) == 'E1800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);}
944 if (dec_BER_PDU10('E103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
945 if (dec_BER_PDU10('E10402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
946 if (dec_BER_PDU10('E18103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
947 if (dec_BER_PDU10('E1810402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
948 if (dec_BER_PDU10('E1800201050000'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
949 if (dec_BER_PDU10('E103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
950 if (dec_BER_PDU10('E10402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
951 if (dec_BER_PDU10('E18103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
952 if (dec_BER_PDU10('E1810402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
953 if (dec_BER_PDU10('E1800201000000'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
954 if (dec_BER_PDU10('E10302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
955 if (dec_BER_PDU10('E1040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
956 if (dec_BER_PDU10('E1810302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
957 if (dec_BER_PDU10('E181040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
958 if (dec_BER_PDU10('E18002017F0000'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
959 if (dec_BER_PDU10('E103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
960 if (dec_BER_PDU10('E10402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
961 if (dec_BER_PDU10('E18103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
962 if (dec_BER_PDU10('E1810402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
963 if (dec_BER_PDU10('E1800201800000'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
964 if (dec_BER_PDU10('E1030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
965 if (dec_BER_PDU10('E104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
966 if (dec_BER_PDU10('E181030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
967 if (dec_BER_PDU10('E18104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
968 if (dec_BER_PDU10('E1800201FB0000'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
969 if (dec_BER_PDU10('E10402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
970 if (dec_BER_PDU10('E1050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
971 if (dec_BER_PDU10('E1810402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
972 if (dec_BER_PDU10('E181050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
973 if (dec_BER_PDU10('E180020200800000'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
974 if (dec_BER_PDU10('E1040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
975 if (dec_BER_PDU10('E105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
976 if (dec_BER_PDU10('E181040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
977 if (dec_BER_PDU10('E18105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
978 if (dec_BER_PDU10('E1800202FF7F0000'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
979
980}
981//===========================================
982// DER + CER coding of integer with APPLICATION TAG, EXPLICIT (unified)
983//===========================================
984testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit() runs on Test_CT {
985 const BERPDU11 b1_11 := 5
986 const BERPDU11 b2_11 := 0
987 const BERPDU11 b3_11 := 127
988 const BERPDU11 b4_11 := -128
989 const BERPDU11 b5_11 := -5
990 const BERPDU11 b6_11 := 128
991 const BERPDU11 b7_11 := -129
992 if ((enc_DER_PDU11(b1_11) == '6203020105'O)and(enc_CER_PDU11(b1_11) == '62800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
993 if ((enc_DER_PDU11(b2_11) == '6203020100'O)and(enc_CER_PDU11(b2_11) == '62800201000000'O)) {setverdict(pass);} else {setverdict(fail);}
994 if ((enc_DER_PDU11(b3_11) == '620302017F'O)and(enc_CER_PDU11(b3_11) == '628002017F0000'O)) {setverdict(pass);} else {setverdict(fail);}
995 if ((enc_DER_PDU11(b4_11) == '6203020180'O)and(enc_CER_PDU11(b4_11) == '62800201800000'O)) {setverdict(pass);} else {setverdict(fail);}
996 if ((enc_DER_PDU11(b5_11) == '62030201FB'O)and(enc_CER_PDU11(b5_11) == '62800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);}
997 if ((enc_DER_PDU11(b6_11) == '620402020080'O)and(enc_CER_PDU11(b6_11) == '6280020200800000'O)) {setverdict(pass);} else {setverdict(fail);}
998 if ((enc_DER_PDU11(b7_11) == '62040202FF7F'O)and(enc_CER_PDU11(b7_11) == '62800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);}
999 if (dec_BER_PDU11('6203020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
1000 if (dec_BER_PDU11('620402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
1001 if (dec_BER_PDU11('628103020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
1002 if (dec_BER_PDU11('62810402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
1003 if (dec_BER_PDU11('62800201050000'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
1004 if (dec_BER_PDU11('6203020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
1005 if (dec_BER_PDU11('620402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
1006 if (dec_BER_PDU11('628103020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
1007 if (dec_BER_PDU11('62810402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
1008 if (dec_BER_PDU11('62800201000000'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
1009 if (dec_BER_PDU11('620302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1010 if (dec_BER_PDU11('62040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1011 if (dec_BER_PDU11('62810302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1012 if (dec_BER_PDU11('6281040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1013 if (dec_BER_PDU11('628002017F0000'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1014 if (dec_BER_PDU11('6203020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1015 if (dec_BER_PDU11('620402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1016 if (dec_BER_PDU11('628103020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1017 if (dec_BER_PDU11('62810402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1018 if (dec_BER_PDU11('62800201800000'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1019 if (dec_BER_PDU11('62030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1020 if (dec_BER_PDU11('6204028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1021 if (dec_BER_PDU11('6281030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1022 if (dec_BER_PDU11('628104028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1023 if (dec_BER_PDU11('62800201FB0000'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1024 if (dec_BER_PDU11('620402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1025 if (dec_BER_PDU11('62050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1026 if (dec_BER_PDU11('62810402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1027 if (dec_BER_PDU11('6281050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1028 if (dec_BER_PDU11('6280020200800000'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1029 if (dec_BER_PDU11('62040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1030 if (dec_BER_PDU11('6205028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1031 if (dec_BER_PDU11('6281040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1032 if (dec_BER_PDU11('628105028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1033 if (dec_BER_PDU11('62800202FF7F0000'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1034}
1035//===========================================
1036// DER + CER coding of integer with Context Specific TAG, IMPLICIT (unified)
1037//===========================================
1038testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit() runs on Test_CT {
1039 const BERPDU11 b1_12 := 5
1040 const BERPDU11 b2_12 := 0
1041 const BERPDU11 b3_12 := 127
1042 const BERPDU11 b4_12 := -128
1043 const BERPDU11 b5_12 := -5
1044 const BERPDU11 b6_12 := 128
1045 const BERPDU11 b7_12 := -129
1046 if ((enc_DER_PDU12(b1_12) == '800105'O)and(enc_CER_PDU12(b1_12) == '800105'O)) {setverdict(pass);} else {setverdict(fail);}
1047 if ((enc_DER_PDU12(b2_12) == '800100'O)and(enc_CER_PDU12(b2_12) == '800100'O)) {setverdict(pass);} else {setverdict(fail);}
1048 if ((enc_DER_PDU12(b3_12) == '80017F'O)and(enc_CER_PDU12(b3_12) == '80017F'O)) {setverdict(pass);} else {setverdict(fail);}
1049 if ((enc_DER_PDU12(b4_12) == '800180'O)and(enc_CER_PDU12(b4_12) == '800180'O)) {setverdict(pass);} else {setverdict(fail);}
1050 if ((enc_DER_PDU12(b5_12) == '8001FB'O)and(enc_CER_PDU12(b5_12) == '8001FB'O)) {setverdict(pass);} else {setverdict(fail);}
1051 if ((enc_DER_PDU12(b6_12) == '80020080'O)and(enc_CER_PDU12(b6_12) == '80020080'O)) {setverdict(pass);} else {setverdict(fail);}
1052 if ((enc_DER_PDU12(b7_12) == '8002FF7F'O)and(enc_CER_PDU12(b7_12) == '8002FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
1053 if (dec_BER_PDU12('800105'O) == b8_12){setverdict(pass);} else {setverdict(fail);}
1054 if (dec_BER_PDU12('80810105'O) == b8_12){setverdict(pass);} else {setverdict(fail);}
1055 if (dec_BER_PDU12('800100'O) == b9_12){setverdict(pass);} else {setverdict(fail);}
1056 if (dec_BER_PDU12('80810100'O) == b9_12){setverdict(pass);} else {setverdict(fail);}
1057 if (dec_BER_PDU12('8081017F'O) == b10_12){setverdict(pass);} else {setverdict(fail);}
1058 if (dec_BER_PDU12('800180'O) == b11_12){setverdict(pass);} else {setverdict(fail);}
1059 if (dec_BER_PDU12('80810180'O) == b11_12){setverdict(pass);} else {setverdict(fail);}
1060 if (dec_BER_PDU12('8001FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);}
1061 if (dec_BER_PDU12('808101FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);}
1062 if (dec_BER_PDU12('80020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);}
1063 if (dec_BER_PDU12('8081020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);}
1064 if (dec_BER_PDU12('8002FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);}
1065 if (dec_BER_PDU12('808102FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);}
1066
1067}
1068
1069//===========================================
1070// DER + CER coding of integer with PRIVATE TAG, IMPLICIT (unified)
1071//===========================================
1072testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit () runs on Test_CT {
1073 const BERPDU13 b1_13 := 5
1074 const BERPDU13 b2_13 := 0
1075 const BERPDU13 b3_13 := 127
1076 const BERPDU13 b4_13 := -128
1077 const BERPDU13 b5_13 := -5
1078 const BERPDU13 b6_13 := 128
1079 const BERPDU13 b7_13 := -129
1080 if ((enc_DER_PDU13(b1_13) == 'C10105'O)and(enc_CER_PDU13(b1_13) == 'C10105'O)) {setverdict(pass);} else {setverdict(fail);}
1081 if ((enc_DER_PDU13(b2_13) == 'C10100'O)and(enc_CER_PDU13(b2_13) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);}
1082 if ((enc_DER_PDU13(b3_13) == 'C1017F'O)and(enc_CER_PDU13(b3_13) == 'C1017F'O)) {setverdict(pass);} else {setverdict(fail);}
1083 if ((enc_DER_PDU13(b4_13) == 'C10180'O)and(enc_CER_PDU13(b4_13) == 'C10180'O)) {setverdict(pass);} else {setverdict(fail);}
1084 if ((enc_DER_PDU13(b5_13) == 'C101FB'O)and(enc_CER_PDU13(b5_13) == 'C101FB'O)) {setverdict(pass);} else {setverdict(fail);}
1085 if ((enc_DER_PDU13(b6_13) == 'C1020080'O)and(enc_CER_PDU13(b6_13) == 'C1020080'O)) {setverdict(pass);} else {setverdict(fail);}
1086 if ((enc_DER_PDU13(b7_13) == 'C102FF7F'O)and(enc_CER_PDU13(b7_13) == 'C102FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
1087 if (dec_BER_PDU13('C10105'O) == b8_13){setverdict(pass);} else {setverdict(fail);}
1088 if (dec_BER_PDU13('C1810105'O) == b8_13){setverdict(pass);} else {setverdict(fail);}
1089 if (dec_BER_PDU13('C10100'O) == b9_13){setverdict(pass);} else {setverdict(fail);}
1090 if (dec_BER_PDU13('C1810100'O) == b9_13){setverdict(pass);} else {setverdict(fail);}
1091 if (dec_BER_PDU13('C1017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);}
1092 if (dec_BER_PDU13('C181017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);}
1093 if (dec_BER_PDU13('C10180'O) == b11_13){setverdict(pass);} else {setverdict(fail);}
1094 if (dec_BER_PDU13('C1810180'O) == b11_13){setverdict(pass);} else {setverdict(fail);}
1095 if (dec_BER_PDU13('C101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);}
1096 if (dec_BER_PDU13('C18101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);}
1097 if (dec_BER_PDU13('C1020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);}
1098 if (dec_BER_PDU13('C181020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);}
1099 if (dec_BER_PDU13('C102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);}
1100 if (dec_BER_PDU13('C18102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);}
1101}
1102
1103//===========================================
1104// DER + CER coding of integer with APPLICATION TAG, IMPLICIT (unified)
1105//===========================================
1106testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit() runs on Test_CT {
1107 const BERPDU14 b1_14 := 5
1108 const BERPDU14 b2_14 := 0
1109 const BERPDU14 b3_14 := 127
1110 const BERPDU14 b4_14 := -128
1111 const BERPDU14 b5_14 := -5
1112 const BERPDU14 b6_14 := 128
1113 const BERPDU14 b7_14 := -129
1114 if ((enc_DER_PDU14(b1_14) == '420105'O)and(enc_CER_PDU14(b1_14) == '420105'O)) {setverdict(pass);} else {setverdict(fail);}
1115 if ((enc_DER_PDU14(b2_14) == '420100'O)and(enc_CER_PDU14(b2_14) == '420100'O)) {setverdict(pass);} else {setverdict(fail);}
1116 if ((enc_DER_PDU14(b3_14) == '42017F'O)and(enc_CER_PDU14(b3_14) == '42017F'O)) {setverdict(pass);} else {setverdict(fail);}
1117 if ((enc_DER_PDU14(b4_14) == '420180'O)and(enc_CER_PDU14(b4_14) == '420180'O)) {setverdict(pass);} else {setverdict(fail);}
1118 if ((enc_DER_PDU14(b5_14) == '4201FB'O)and(enc_CER_PDU14(b5_14) == '4201FB'O)) {setverdict(pass);} else {setverdict(fail);}
1119 if ((enc_DER_PDU14(b6_14) == '42020080'O)and(enc_CER_PDU14(b6_14) == '42020080'O)) {setverdict(pass);} else {setverdict(fail);}
1120 if ((enc_DER_PDU14(b7_14) == '4202FF7F'O)and(enc_CER_PDU14(b7_14) == '4202FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
1121 if (dec_BER_PDU14('420105'O) == b8_14){setverdict(pass);} else {setverdict(fail);}
1122 if (dec_BER_PDU14('42810105'O) == b8_14){setverdict(pass);} else {setverdict(fail);}
1123 if (dec_BER_PDU14('420100'O) == b9_14){setverdict(pass);} else {setverdict(fail);}
1124 if (dec_BER_PDU14('42810100'O) == b9_14){setverdict(pass);} else {setverdict(fail);}
1125 if (dec_BER_PDU14('42017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);}
1126 if (dec_BER_PDU14('4281017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);}
1127 if (dec_BER_PDU14('420180'O) == b11_14){setverdict(pass);} else {setverdict(fail);}
1128 if (dec_BER_PDU14('42810180'O) == b11_14){setverdict(pass);} else {setverdict(fail);}
1129 if (dec_BER_PDU14('4201FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);}
1130 if (dec_BER_PDU14('428101FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);}
1131 if (dec_BER_PDU14('42020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);}
1132 if (dec_BER_PDU14('4281020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);}
1133 if (dec_BER_PDU14('4202FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);}
1134 if (dec_BER_PDU14('428102FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);}
1135}
1136//===========================================
1137// DER + CER coding of integer (5) with Context Specific TAG = 30, EXPLICIT (unified))
1138//===========================================
1139testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit() runs on Test_CT {
1140 const BERPDU15 b1_15 := 5
1141 if ((enc_DER_PDU15(b1_15) == 'BE03020105'O)and(enc_CER_PDU15(b1_15) == 'BE800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1142 if (dec_BER_PDU15('BE03020105'O) == b2_15){setverdict(pass);} else {setverdict(fail);}
1143 if (dec_BER_PDU15('BE800201050000'O) == b2_15){setverdict(pass);} else {setverdict(fail);}
1144}
1145
1146//===========================================
1147// DER + CER coding of integer (5) with Context Specific TAG = 31, EXPLICIT (unified))
1148//===========================================
1149testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit() runs on Test_CT {
1150 const BERPDU16 b := 5
1151 if ((enc_DER_PDU16(b) == 'BF1F03020105'O)and(enc_CER_PDU16(b) == 'BF1F800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1152 if (dec_BER_PDU16('BF1F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);}
1153 if (dec_BER_PDU16('BF1F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1154}
1155
1156//===========================================
1157// DER + CER coding of integer (5) with Context Specific TAG = 127, EXPLICIT (unified))
1158//===========================================
1159testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit() runs on Test_CT {
1160 const BERPDU17 b := 5
1161 if ((enc_DER_PDU17(b) == 'BF7F03020105'O)and(enc_CER_PDU17(b) == 'BF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1162 if (dec_BER_PDU17('BF7F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);} //DER
1163 if (dec_BER_PDU17('BF7F800201050000'O) == b){setverdict(pass);} else {setverdict(fail);}
1164}
1165
1166//===========================================
1167// DER + CER coding of integer with Context Specific TAG = 128, EXPLICIT
1168//===========================================
1169testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit() runs on Test_CT {
1170 const BERPDU18 b := 5
1171 if ((enc_DER_PDU18(b) == 'BF810003020105'O)and(enc_CER_PDU18(b) == 'BF8100800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1172 if (dec_BER_PDU18('BF8100800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1173 if (dec_BER_PDU18('BF810003020105'O) == b) {setverdict(pass);} else {setverdict(fail);}
1174}
1175
1176//===========================================
1177// DER + CER coding of integer with Context Specific TAG = 16383, EXPLICIT (unified)
1178//===========================================
1179testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit() runs on Test_CT {
1180 const BERPDU19 b := 5
1181 if ((enc_DER_PDU19(b) == 'BFFF7F03020105'O)and(enc_CER_PDU19(b) == 'BFFF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1182 if (dec_BER_PDU19('BFFF7F03020105'O) == b){setverdict(pass);} else {setverdict(fail);}
1183 if (dec_BER_PDU19('BFFF7F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1184}
1185
1186//===========================================
1187// DER + CER coding of integer with Context Specific TAG = 16384, EXPLICIT (unified)
1188//===========================================
1189testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit() runs on Test_CT {
1190 const BERPDU20 b := 5
1191 if ((enc_DER_PDU20(b) == 'BF81800003020105'O)and(enc_CER_PDU20(b) == 'BF818000800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1192 if (dec_BER_PDU20('BF81800003020105'O) == b){setverdict(pass);} else {setverdict(fail);}
1193 if (dec_BER_PDU20('BF818000800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1194}
1195//===========================================
1196// DER + CER coding of ENUMERATED hardcoded positive (unified)
1197//===========================================
1198testcase tc_DER_CER_coding_of_enumerated_hardcoded_positive() runs on Test_CT {
1199 const BERPDU21 b1 := third
1200 const BERPDU21 b2 := first
1201 const BERPDU21 b3 := second
1202 if ((enc_DER_PDU21(b1) == '0A0109'O)and(enc_CER_PDU21(b1) == '0A0109'O)) {setverdict(pass);} else {setverdict(fail);}
1203 if ((enc_DER_PDU21(b2) == '0A01FB'O)and(enc_CER_PDU21(b2) == '0A01FB'O)) {setverdict(pass);} else {setverdict(fail);}
1204 if ((enc_DER_PDU21(b3) == '0A0100'O)and(enc_CER_PDU21(b3) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1205}
1206
1207//===========================================
1208// DER + CER coding of ENUMERATED third, no hardcoding (unified)
1209//===========================================
1210testcase tc_DER_CER_coding_of_enumerated_third_no_hardcoding() runs on Test_CT {
1211 const BERPDU22 b1 := third
1212 const BERPDU22 b2 := first
1213 if ((enc_DER_PDU22(b1) == '0A0102'O)and(enc_CER_PDU22(b1) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);}
1214 if ((enc_DER_PDU22(b2) == '0A0100'O)and(enc_CER_PDU22(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1215
1216}
1217
1218//===========================================
1219// DER + CER coding of ENUMERATED first (unified)
1220//===========================================
1221testcase tc_DER_CER_coding_of_enumerated_first1() runs on Test_CT {
1222 const BERPDU23 b1 := first
1223 const BERPDU23 b2 := second
1224 const BERPDU23 b3 := third
1225 if ((enc_DER_PDU23(b1) == '0A0101'O)and(enc_CER_PDU23(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);}
1226 if ((enc_DER_PDU23(b2) == '0A0100'O)and(enc_CER_PDU23(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1227 if ((enc_DER_PDU23(b3) == '0A0102'O)and(enc_CER_PDU23(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);}
1228
1229}
1230
1231//===========================================
1232// DER + CER coding of ENUMERATED first (unified)
1233//===========================================
1234testcase tc_DER_CER_coding_of_enumerated_first2() runs on Test_CT {
1235 const BERPDU24 b1 := first
1236 const BERPDU24 b2 := second
1237 const BERPDU24 b3 := third
1238 const BERPDU24 b4 := fourth
1239 const BERPDU24 b5 := fifth
1240 const BERPDU24 b6 := sixth
1241
1242 if ((enc_DER_PDU24(b1) == '0A0101'O)and(enc_CER_PDU24(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);}
1243 if ((enc_DER_PDU24(b2) == '0A0100'O)and(enc_CER_PDU24(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1244 if ((enc_DER_PDU24(b3) == '0A0102'O)and(enc_CER_PDU24(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);}
1245 if ((enc_DER_PDU24(b4) == '0A0103'O)and(enc_CER_PDU24(b4) == '0A0103'O)) {setverdict(pass);} else {setverdict(fail);}
1246 if ((enc_DER_PDU24(b5) == '0A0105'O)and(enc_CER_PDU24(b5) == '0A0105'O)) {setverdict(pass);} else {setverdict(fail);}
1247 if ((enc_DER_PDU24(b6) == '0A0106'O)and(enc_CER_PDU24(b6) == '0A0106'O)) {setverdict(pass);} else {setverdict(fail);}
1248 if (dec_BER_PDU24('0A0101'O) == b7_24){setverdict(pass);} else {setverdict(fail);}
1249 if (dec_BER_PDU24('0A810101'O) == b7_24){setverdict(pass);} else {setverdict(fail);}
1250 if (dec_BER_PDU24('0A0102'O) == b8_24){setverdict(pass);} else {setverdict(fail);}
1251 if (dec_BER_PDU24('0A810102'O) == b8_24){setverdict(pass);} else {setverdict(fail);}
1252 if (dec_BER_PDU24('0A0103'O) == b9_24){setverdict(pass);} else {setverdict(fail);}
1253 if (dec_BER_PDU24('0A810103'O) == b9_24){setverdict(pass);} else {setverdict(fail);}
1254 if (dec_BER_PDU24('0A0105'O) == b10_24){setverdict(pass);} else {setverdict(fail);}
1255 if (dec_BER_PDU24('0A810105'O) == b10_24){setverdict(pass);} else {setverdict(fail);}
1256 if (dec_BER_PDU24('0A0106'O) == b11_24){setverdict(pass);} else {setverdict(fail);}
1257 if (dec_BER_PDU24('0A810106'O) == b11_24){setverdict(pass);} else {setverdict(fail);}
1258 if (dec_BER_PDU24('0A0100'O) == b12_24){setverdict(pass);} else {setverdict(fail);}
1259 if (dec_BER_PDU24('0A810100'O) == b12_24){setverdict(pass);} else {setverdict(fail);}
1260
1261}
1262//===========================================
1263// DER + CER coding of ENUMERATED , tagged, EXPLICIT
1264//===========================================
1265testcase tc_DER_CER_coding_of_enumerated_tagged_explicit_6() runs on Test_CT {
1266 const BERPDU25 b := sixth
1267 if ((enc_DER_PDU25(b) == 'B5030A0106'O)and(enc_CER_PDU25(b) == 'B5800A01060000'O)) {setverdict(pass);} else {setverdict(fail);}
1268}
1269
1270//===========================================
1271// DER + CER coding of ENUMERATED , tagged, IMPLICIT (unified)
1272//===========================================
1273testcase tc_DER_CER_coding_of_enumerated_tagged_implicit() runs on Test_CT {
1274 const BERPDU26 b1 := sixth
1275
1276 if ((enc_DER_PDU26(b1) == '9F580106'O)and(enc_CER_PDU26(b1) == '9F580106'O)) {setverdict(pass);} else {setverdict(fail);}
1277 if (dec_BER_PDU26('9F580101'O) == b2_26){setverdict(pass);} else {setverdict(fail);}
1278 if (dec_BER_PDU26('9F58810101'O) == b2_26){setverdict(pass);} else {setverdict(fail);}
1279 if (dec_BER_PDU26('9F580100'O) == b3_26){setverdict(pass);} else {setverdict(fail);}
1280 if (dec_BER_PDU26('9F58810100'O) == b3_26){setverdict(pass);} else {setverdict(fail);}
1281 if (dec_BER_PDU26('9F580102'O) == b4_26){setverdict(pass);} else {setverdict(fail);}
1282 if (dec_BER_PDU26('9F58810102'O) == b4_26){setverdict(pass);} else {setverdict(fail);}
1283 if (dec_BER_PDU26('9F580103'O) == b5_26){setverdict(pass);} else {setverdict(fail);}
1284 if (dec_BER_PDU26('9F58810103'O) == b5_26){setverdict(pass);} else {setverdict(fail);}
1285 if (dec_BER_PDU26('9F580105'O) == b6_26){setverdict(pass);} else {setverdict(fail);}
1286 if (dec_BER_PDU26('9F58810105'O) == b6_26){setverdict(pass);} else {setverdict(fail);}
1287 if (dec_BER_PDU26('9F580106'O) == b7_26){setverdict(pass);} else {setverdict(fail);}
1288 if (dec_BER_PDU26('9F58810106'O) == b7_26){setverdict(pass);} else {setverdict(fail);}
1289}
1290
1291//===========================================
1292// DECODING OF EXPLICIT TAGGED ENUMERATED, (unified)
1293//===========================================
1294testcase tc_decoding_of_explicit_tagged_enumerated() runs on Test_CT {
1295
1296 if (dec_BER_PDU27('A0030A0101'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1297 if (dec_BER_PDU27('A0800A01010000'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1298 if (dec_BER_PDU27('A0040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1299 if (dec_BER_PDU27('A081040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1300 if (dec_BER_PDU27('A0030A0100'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1301 if (dec_BER_PDU27('A0800A01000000'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1302 if (dec_BER_PDU27('A0040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1303 if (dec_BER_PDU27('A081040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1304 if (dec_BER_PDU27('A0030A0102'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1305 if (dec_BER_PDU27('A0800A01020000'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1306 if (dec_BER_PDU27('A0040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1307 if (dec_BER_PDU27('A081040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1308 if (dec_BER_PDU27('A0030A0103'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1309 if (dec_BER_PDU27('A0800A01030000'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1310 if (dec_BER_PDU27('A0040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1311 if (dec_BER_PDU27('A081040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1312 if (dec_BER_PDU27('A0030A0105'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1313 if (dec_BER_PDU27('A0800A01050000'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1314 if (dec_BER_PDU27('A0040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1315 if (dec_BER_PDU27('A081040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1316 if (dec_BER_PDU27('A0030A0106'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1317 if (dec_BER_PDU27('A0800A01060000'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1318 if (dec_BER_PDU27('A0040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1319 if (dec_BER_PDU27('A081040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1320
1321}
1322
1323//===========================================
1324// CER + DER coding of REAL, (unified)
1325//===========================================
1326testcase tc_CER_DER_coding_of_real() runs on Test_CT {
1327 if ((enc_DER_PDU28(b1_28) == '0900'O)and(enc_CER_PDU28(b1_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1328 if ((enc_DER_PDU28(b2_28) == '0900'O)and(enc_CER_PDU28(b2_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1329 if ((enc_DER_PDU28(b3_28) == '0900'O)and(enc_CER_PDU28(b3_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1330 if ((enc_DER_PDU28(b4_28) == '0900'O)and(enc_CER_PDU28(b4_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1331 if ((enc_DER_PDU28(b5_28) == '0900'O)and(enc_CER_PDU28(b5_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1332 if ((enc_DER_PDU28(b6_28) == '0900'O)and(enc_CER_PDU28(b6_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1333 if ((enc_DER_PDU28(b7_28) == '0900'O)and(enc_CER_PDU28(b7_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1334 if ((enc_DER_PDU28(b8_28) == '0900'O)and(enc_CER_PDU28(b8_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1335 if ((enc_DER_PDU28(b9_28) == '0900'O)and(enc_CER_PDU28(b9_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1336 if ((enc_DER_PDU28(b10_28) == '0900'O)and(enc_CER_PDU28(b10_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1337 if ((enc_DER_PDU28(b11_28) == '0900'O)and(enc_CER_PDU28(b11_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1338 if ((enc_DER_PDU28(b12_28) == '0900'O)and(enc_CER_PDU28(b12_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1339 if ((enc_DER_PDU28(b13_28) == '0900'O)and(enc_CER_PDU28(b13_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1340 if ((enc_DER_PDU28(b14_28) == '0900'O)and(enc_CER_PDU28(b14_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1341 if ((enc_DER_PDU28(b15_28) == '090603312E452B30'O)and(enc_CER_PDU28(b15_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1342 if ((enc_DER_PDU28(b16_28) == '090603312E452B30'O)and(enc_CER_PDU28(b16_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1343 if ((enc_DER_PDU28(b17_28) == '090603312E452B30'O)and(enc_CER_PDU28(b17_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1344 if ((enc_DER_PDU28(b18_28) == '090603312E452B30'O)and(enc_CER_PDU28(b18_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1345 if ((enc_DER_PDU28(b19_28) == '090603312E452B30'O)and(enc_CER_PDU28(b19_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1346 if ((enc_DER_PDU28(b20_28) == '090603312E452B30'O)and(enc_CER_PDU28(b20_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1347 if ((enc_DER_PDU28(b21_28) == '090603312E452B30'O)and(enc_CER_PDU28(b21_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1348 if ((enc_DER_PDU28(b22_28) == '090603312E452B30'O)and(enc_CER_PDU28(b22_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1349 if ((enc_DER_PDU28(b23_28) == '090603312E452B30'O)and(enc_CER_PDU28(b23_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1350 if ((enc_DER_PDU28(b24_28) == '090603312E452B30'O)and(enc_CER_PDU28(b24_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1351 if ((enc_DER_PDU28(b25_28) == '090603312E452B30'O)and(enc_CER_PDU28(b25_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1352 if ((enc_DER_PDU28(b26_28) == '090603312E452B30'O)and(enc_CER_PDU28(b26_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1353 if ((enc_DER_PDU28(b27_28) == '090603312E452B30'O)and(enc_CER_PDU28(b27_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1354 if ((enc_DER_PDU28(b28_28) == '090603322E452B30'O)and(enc_CER_PDU28(b28_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1355 if ((enc_DER_PDU28(b29_28) == '090603322E452B30'O)and(enc_CER_PDU28(b29_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1356 if ((enc_DER_PDU28(b30_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b30_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1357 if ((enc_DER_PDU28(b31_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b31_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1358 if ((enc_DER_PDU28(b32_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b32_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1359 if ((enc_DER_PDU28(b33_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b33_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1360 if ((enc_DER_PDU28(b34_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b34_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1361 if ((enc_DER_PDU28(b35_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b35_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1362 if ((enc_DER_PDU28(b36_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b36_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1363 if ((enc_DER_PDU28(b37_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b37_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1364 if ((enc_DER_PDU28(b38_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b38_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1365 if ((enc_DER_PDU28(b39_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b39_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1366 if ((enc_DER_PDU28(b40_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b40_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1367 if ((enc_DER_PDU28(b41_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b41_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1368 if ((enc_DER_PDU28(b42_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b42_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1369 if ((enc_DER_PDU28(b43_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b43_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1370 if ((enc_DER_PDU28(b44_28) == '090603312E452B30'O)and(enc_CER_PDU28(b44_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1371 if ((enc_DER_PDU28(b45_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b45_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1372 if ((enc_DER_PDU28(b46_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b46_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1373 if ((enc_DER_PDU28(b47_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b47_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1374 if ((enc_DER_PDU28(b48_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b48_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1375 if ((enc_DER_PDU28(b49_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b49_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1376 if ((enc_DER_PDU28(b50_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b50_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1377 if ((enc_DER_PDU28(b51_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b51_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1378 if ((enc_DER_PDU28(b52_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b52_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1379 if ((enc_DER_PDU28(b53_28) == '09070333342E452D32'O)and(enc_CER_PDU28(b53_28) == '09070333342E452D32'O)) {setverdict(pass);} else {setverdict(fail);}
1380 if ((enc_DER_PDU28(b54_28) == '0908033334342E452D33'O)and(enc_CER_PDU28(b54_28) == '0908033334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1381 if ((enc_DER_PDU28(b55_28) == '0908033334352E452D33'O)and(enc_CER_PDU28(b55_28) == '0908033334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1382 if ((enc_DER_PDU28(b56_28) == '09070333342E452D33'O)and(enc_CER_PDU28(b56_28) == '09070333342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1383 if ((enc_DER_PDU28(b57_28) == '09070333342E452D34'O)and(enc_CER_PDU28(b57_28) == '09070333342E452D34'O)) {setverdict(pass);} else {setverdict(fail);}
1384 if ((enc_DER_PDU28(b58_28) == '0908033330342E452D33'O)and(enc_CER_PDU28(b58_28) == '0908033330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1385 if ((enc_DER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1386 if ((enc_DER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1387 if ((enc_DER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)and(enc_CER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);}
1388 if ((enc_DER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1389 if ((enc_DER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1390 if ((enc_DER_PDU28(b64_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b64_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1391 if ((enc_DER_PDU28(b65_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b65_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1392 if ((enc_DER_PDU28(b66_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b66_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1393 if ((enc_DER_PDU28(b67_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b67_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1394 if ((enc_DER_PDU28(b68_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b68_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1395 if ((enc_DER_PDU28(b69_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b69_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1396 if ((enc_DER_PDU28(b70_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b70_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1397 if ((enc_DER_PDU28(b71_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b71_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1398 if ((enc_DER_PDU28(b72_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b72_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1399 if ((enc_DER_PDU28(b73_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b73_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1400 if ((enc_DER_PDU28(b74_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b74_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1401 if ((enc_DER_PDU28(b75_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b75_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1402 if ((enc_DER_PDU28(b76_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b76_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1403 if ((enc_DER_PDU28(b77_28) == '0908032D33342E452D32'O)and(enc_CER_PDU28(b77_28) == '0908032D33342E452D32'O)) {setverdict(pass);} else {setverdict(fail);}
1404 if ((enc_DER_PDU28(b78_28) == '0909032D3334342E452D33'O)and(enc_CER_PDU28(b78_28) == '0909032D3334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1405 if ((enc_DER_PDU28(b79_28) == '0909032D3334352E452D33'O)and(enc_CER_PDU28(b79_28) == '0909032D3334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1406 if ((enc_DER_PDU28(b80_28) == '0908032D33342E452D33'O)and(enc_CER_PDU28(b80_28) == '0908032D33342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1407 if ((enc_DER_PDU28(b81_28) == '0908032D33342E452D34'O)and(enc_CER_PDU28(b81_28) == '0908032D33342E452D34'O)) {setverdict(pass);} else {setverdict(fail);}
1408 if ((enc_DER_PDU28(b82_28) == '0909032D3330342E452D33'O)and(enc_CER_PDU28(b82_28) == '0909032D3330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1409 if ((enc_DER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1410 if ((enc_DER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1411 if ((enc_DER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)and(enc_CER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);}
1412 if ((enc_DER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1413 if ((enc_DER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1414 if ((enc_DER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1415 if ((enc_DER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1416 if ((enc_DER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1417 if ((enc_DER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1418 if ((enc_DER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1419 if ((enc_DER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1420 if ((enc_DER_PDU28(b94_28) == '090140'O)and(enc_CER_PDU28(b94_28) == '090140'O)) {setverdict(pass);} else {setverdict(fail);}
1421 if ((enc_DER_PDU28(b95_28) == '090141'O)and(enc_CER_PDU28(b95_28) == '090141'O)) {setverdict(pass);} else {setverdict(fail);}
1422}
1423
1424//===========================================
1425// CER + DER encoding of REAL, 1 , IMPLICIT TAG
1426//===========================================
1427testcase tc_CER_DER_coding_of_real_1_implicit() runs on Test_CT {
1428 if ((enc_DER_PDU29(b_29) == '800603312E452B30'O)and(enc_CER_PDU29(b_29) == '800603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1429}
1430
1431//===========================================
1432// CER + DER encoding of REAL, 1 , EXPLICIT TAG
1433//===========================================
1434testcase tc_CER_DER_coding_of_real_1_explicit() runs on Test_CT {
1435 if ((enc_DER_PDU30(b_30) == 'A008090603312E452B30'O)and(enc_CER_PDU30(b_30) == 'A080090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);}
1436}
1437//===========================================
1438// CER + DER coding of BIT STRING, (unified)
1439//===========================================
1440testcase tc_CER_DER_coding_of_bitstring() runs on Test_CT {
1441 const BERPDU31 b1 := ''B
1442 const BERPDU31 b2 := '1'B
1443 const BERPDU31 b3 := '1010101'B
1444 const BERPDU31 b4 := '10101010'B
1445 const BERPDU31 b5 := '111100001'B
1446 if ((enc_DER_PDU31(b1) == '030100'O)and(enc_CER_PDU31(b1) == '030100'O)) {setverdict(pass);} else {setverdict(fail);}
1447 if ((enc_DER_PDU31(b2) == '03020780'O)and(enc_CER_PDU31(b2) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);}
1448 if ((enc_DER_PDU31(b3) == '030201AA'O)and(enc_CER_PDU31(b3) == '030201AA'O)) {setverdict(pass);} else {setverdict(fail);}
1449 if ((enc_DER_PDU31(b4) == '030200AA'O)and(enc_CER_PDU31(b4) == '030200AA'O)) {setverdict(pass);} else {setverdict(fail);}
1450 if ((enc_DER_PDU31(b5) == '030307F080'O)and(enc_CER_PDU31(b5) == '030307F080'O)) {setverdict(pass);} else {setverdict(fail);}
1451 if ((enc_DER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1452 and(enc_CER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1453 if ((enc_DER_PDU31(b7_31) == '038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1454 and(enc_CER_PDU31(b7_31) == '2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1455 if (dec_BER_PDU31('030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1456 if (dec_BER_PDU31('2303030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1457 if (dec_BER_PDU31('2306030100030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1458 if (dec_BER_PDU31('23800301000000'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1459 if (dec_BER_PDU31('03020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1460 if (dec_BER_PDU31('0381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1461 if (dec_BER_PDU31('230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1462 if (dec_BER_PDU31('23050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1463 if (dec_BER_PDU31('2381050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1464 if (dec_BER_PDU31('238003810207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1465 if (dec_BER_PDU31('23080302078003020780'O) == b10_31){setverdict(pass);} else {setverdict(fail);}
1466 if (dec_BER_PDU31('2306230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1467 if (dec_BER_PDU31('030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1468 if (dec_BER_PDU31('03810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1469 if (dec_BER_PDU31('2304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1470 if (dec_BER_PDU31('230503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1471 if (dec_BER_PDU31('23810503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1472 if (dec_BER_PDU31('238003810201AA0000'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1473 if (dec_BER_PDU31('2308030201AA030201AA'O) == b12_31){setverdict(pass);} else {setverdict(fail);}
1474 if (dec_BER_PDU31('23062304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1475 if (dec_BER_PDU31('030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1476 if (dec_BER_PDU31('03810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1477 if (dec_BER_PDU31('2304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1478 if (dec_BER_PDU31('230503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1479 if (dec_BER_PDU31('23810503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1480 if (dec_BER_PDU31('238003810200AA0000'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1481 if (dec_BER_PDU31('2308030200AA030200AA'O) == b14_31){setverdict(pass);} else {setverdict(fail);}
1482 if (dec_BER_PDU31('23062304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1483 if (dec_BER_PDU31( '030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1484 if (dec_BER_PDU31('03810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1485 if (dec_BER_PDU31('2305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1486 if (dec_BER_PDU31('230603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1487 if (dec_BER_PDU31('23810603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1488 if (dec_BER_PDU31('238003810307F0800000'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1489 if (dec_BER_PDU31('230A030307F080030307F080'O) == b16_31){setverdict(pass);} else {setverdict(fail);}
1490 if (dec_BER_PDU31('23072305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1491 if (dec_BER_PDU31('038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1492 if (dec_BER_PDU31('03830003E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1493 if (dec_BER_PDU31('238203EC038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1494 if (dec_BER_PDU31('2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1495 if (dec_BER_PDU31('238207D8038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b18_31){setverdict(pass);} else {setverdict(fail);}
1496 if (dec_BER_PDU31('038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);}
1497 if (dec_BER_PDU31('238203F0038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF'O) == b19_31){setverdict(pass);} else {setverdict(fail);}
1498 if (dec_BER_PDU31('238203ED038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);}
1499 if (dec_BER_PDU33('A080030207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1500 if (dec_BER_PDU33('A00403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1501
1502}
1503//===========================================
1504// CER + DER coding of BIT STRING, length = 1, IMPLICIT TAG (primitive)
1505//===========================================
1506testcase tc_CER_DER_coding_of_bitstring_length1_implicit() runs on Test_CT {
1507 const BERPDU32 b := '1'B
1508 if ((enc_DER_PDU32(b) == '80020780'O)and(enc_CER_PDU32(b) == '80020780'O)) {setverdict(pass);} else {setverdict(fail);}
1509 if (dec_BER_PDU32('80020780'O) == b_32){setverdict(pass);} else {setverdict(fail);}
1510}
1511
1512//===========================================
1513// CER + DER encoding of BIT STRING, length = 1, EXPLICIT TAG (constructed)
1514//===========================================
1515testcase tc_CER_DER_coding_of_bitstring_length1_explicit() runs on Test_CT {
1516 const BERPDU33 b := '1'B
1517 if ((enc_DER_PDU33(b) == 'A00403020780'O)and(enc_CER_PDU33(b) == 'A080030207800000'O)) {setverdict(pass);} else {setverdict(fail);}
1518
1519}
1520
1521//===========================================
1522// CER + DER coding of OCTETSTRING, (unified)
1523//===========================================
1524testcase tc_CER_DER_coding_of_OCTETSTRING() runs on Test_CT {
1525 const BERPDU34 b1_34 := ''O
1526 const BERPDU34 b2_34 := 'FFFF'O
1527 const BERPDU34 b3_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O
1528 const BERPDU34 b4_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O
1529 if ((enc_DER_PDU34(b1_34) == '0400'O)and(enc_CER_PDU34(b1_34) == '0400'O)) {setverdict(pass);} else {setverdict(fail);}
1530 if ((enc_DER_PDU34(b2_34) == '0402FFFF'O)and(enc_CER_PDU34(b2_34) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1531 if ((enc_DER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1532 and(enc_CER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1533if ((enc_DER_PDU34(b4_34) == '048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1534 and(enc_CER_PDU34(b4_34) == '2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1535
1536if (dec_BER_PDU34('0400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1537if (dec_BER_PDU34('24020400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1538if (dec_BER_PDU34('240404000400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1539if (dec_BER_PDU34('248004000000'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1540if (dec_BER_PDU34('0402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1541if (dec_BER_PDU34('048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1542if (dec_BER_PDU34('24040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1543if (dec_BER_PDU34('2405048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1544if (dec_BER_PDU34('248105048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1545if (dec_BER_PDU34('24800402FFFF0000'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1546if (dec_BER_PDU34('24080402FFFF0402FFFF'O) == b7_34){setverdict(pass);} else {setverdict(fail);}
1547if (dec_BER_PDU34('240624040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1548if (dec_BER_PDU34('048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1549if (dec_BER_PDU34('04830003E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1550if (dec_BER_PDU34('248203EC048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1551if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1552if (dec_BER_PDU34('248207D8048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b9_34){setverdict(pass);} else {setverdict(fail);}
1553if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1554if (dec_BER_PDU34('048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1555if (dec_BER_PDU34('248203ED048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1556
1557if (dec_BER_PDU36('A0040402FFFF'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);}
1558
1559}//tc_
1560
1561//===========================================
1562// CER + DER encoding of OCTETSTRING, IMPLICIT TAG length = 2 (primitive)
1563//===========================================
1564testcase tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2() runs on Test_CT {
1565 const BERPDU35 b := 'FFFF'O
1566 if ((enc_DER_PDU35(b) == '8002FFFF'O)and(enc_CER_PDU35(b) == '8002FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1567 if (dec_BER_PDU35('8002FFFF'O) == myIntegerValue_35) {setverdict(pass);} else {setverdict(fail);}
1568}
1569
1570//===========================================
1571// CER + DER encoding of OCTETSTRING, EXPLICIT TAG length = 2 (primitive)
1572//===========================================
1573testcase tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2() runs on Test_CT {
1574 const BERPDU36 b := 'FFFF'O
1575 if ((enc_DER_PDU36(b) == 'A0040402FFFF'O)and(enc_CER_PDU36(b) == 'A0800402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1576 if (dec_BER_PDU36('A0800402FFFF0000'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);}
1577}
1578
1579//===========================================
1580// DER + CER coding of NULL (unified)
1581//===========================================
1582testcase tc_CER_DER_coding_of_NULL() runs on Test_CT {
1583 const BERPDU37 b := NULL;
1584 if ((enc_DER_PDU37(b) == '0500'O)and(enc_CER_PDU37(b) == '0500'O)) {setverdict(pass);} else {setverdict(fail);}
1585 if (dec_BER_PDU37('0500'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);}
1586 if (dec_BER_PDU37('058100'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);}
1587 if (dec_BER_PDU37('05820000'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);}
1588}
1589//===========================================
1590// DER + CER coding of NULL with Context Specific TAG, EXPLICIT (unified)
1591//===========================================
1592testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit() runs on Test_CT {
1593 const BERPDU38 b := NULL;
1594 if ((enc_DER_PDU38(b) == 'A0020500'O)and(enc_CER_PDU38(b) == 'A08005000000'O)) {setverdict(pass);} else {setverdict(fail);}
1595 if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1596 if (dec_BER_PDU38('A08005000000'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1597 if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1598 if (dec_BER_PDU38('A081020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1599 if (dec_BER_PDU38('A08103058100'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1600}
1601
1602//===========================================
1603// DER + CER coding of NULL with PRIVATE TAG, EXPLICIT (unified)
1604//===========================================
1605testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit() runs on Test_CT {
1606 const BERPDU39 b := NULL;
1607 if ((enc_DER_PDU39(b) == 'E1020500'O)and(enc_CER_PDU39(b) == 'E18005000000'O)) {setverdict(pass);} else {setverdict(fail);}
1608 if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1609 if (dec_BER_PDU39('E18005000000'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1610 if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1611 if (dec_BER_PDU39('E181020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1612 if (dec_BER_PDU39('E18103058100'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1613}
1614//===========================================
1615// DER + CER coding of NULL with APPLICATION TAG, EXPLICIT (unified)
1616//===========================================
1617testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit() runs on Test_CT {
1618 const BERPDU40 b := NULL;
1619 if ((enc_DER_PDU40(b) == '62020500'O)and(enc_CER_PDU40(b) == '628005000000'O)) {setverdict(pass);} else {setverdict(fail);}
1620 if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1621 if (dec_BER_PDU40('628005000000'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1622 if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1623 if (dec_BER_PDU40('6281020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1624 if (dec_BER_PDU40('628103058100'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1625}
1626
1627//===========================================
1628// DER + CER encoding of NULL with Context Specific TAG, IMPLICIT (unified)
1629//===========================================
1630testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit() runs on Test_CT {
1631 const BERPDU40 b := NULL;
1632 if ((enc_DER_PDU41(b) == '8000'O)and(enc_CER_PDU41(b) == '8000'O)) {setverdict(pass);} else {setverdict(fail);}
1633 if (dec_BER_PDU41('8000'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);}
1634 if (dec_BER_PDU41('808100'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);}
1635}
1636
1637//===========================================
1638// DER + CER encoding of NULL with PRIVATE TAG, IMPLICIT (unified)
1639//===========================================
1640testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit() runs on Test_CT {
1641 const BERPDU42 b := NULL;
1642 if ((enc_DER_PDU42(b) == 'C100'O)and(enc_CER_PDU42(b) == 'C100'O)) {setverdict(pass);} else {setverdict(fail);}
1643 if (dec_BER_PDU42('C100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);}
1644 if (dec_BER_PDU42('C18100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);}
1645}
1646
1647//===========================================
1648// DER + CER encoding of NULL with APPLICATION TAG, IMPLICIT (unified)
1649//===========================================
1650testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit() runs on Test_CT {
1651 const BERPDU43 b := NULL;
1652 if ((enc_DER_PDU43(b) == '4200'O)and(enc_CER_PDU43(b) == '4200'O)) {setverdict(pass);} else {setverdict(fail);}
1653 if (dec_BER_PDU43('4200'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);}
1654 if (dec_BER_PDU43('428100'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);}
1655}
1656//===========================================
1657// CER + DER encoding of SEQUENCE (unified)
1658//===========================================
1659testcase tc_CER_DER_encoding_of_SEQUENCE() runs on Test_CT {
1660 const BERPDU44 myValue1 := {b := omit,
1661 c := omit }
1662 const BERPDU44 myValue2 := {b := true,
1663 c := omit }
1664 const BERPDU44 myValue3 := {b := true,
1665 c := 5 }
1666 if ((enc_DER_PDU44(myValue1) == '3000'O)and(enc_CER_PDU44(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);}
1667 if ((enc_DER_PDU44(myValue2) == '30030101FF'O)and(enc_CER_PDU44(myValue2) == '30800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1668 if ((enc_DER_PDU44(myValue3) == '30060101FF020105'O)and(enc_CER_PDU44(myValue3) == '30800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1669 if (dec_BER_PDU44('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1670 if (dec_BER_PDU44('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1671 if (dec_BER_PDU44('30030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1672 if (dec_BER_PDU44('30800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1673 if (dec_BER_PDU44('30060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1674 if (dec_BER_PDU44('30800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1675}
1676
1677//===========================================
1678// CER + DER encoding of SEQUENCE (one element is equal to Default) (unified)
1679//===========================================
1680testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault() runs on Test_CT {
1681 const BERPDU45 myValue1 := { b := true, c := 5 }
1682 const BERPDU45 myValue2 := { b := false, c := 5 }
1683
1684 if ((enc_DER_PDU45(myValue1) == '3003020105'O)and(enc_CER_PDU45(myValue1) == '30800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1685 if ((enc_DER_PDU45(myValue2) == '3006010100020105'O)and(enc_CER_PDU45(myValue2) == '30800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1686 if (dec_BER_PDU45('3003020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1687 if (dec_BER_PDU45('30800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1688 if (dec_BER_PDU45('3006010100020105'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1689 if (dec_BER_PDU45('30800101000201050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1690}
1691
1692//===========================================
1693// CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements
1694//===========================================
1695testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements() runs on Test_CT {
1696 const BERPDU48 myValue := {b := true,
1697 c := 5 }
1698 if ((enc_DER_PDU48(myValue) == '30079E01FF9F1F0105'O)and(enc_CER_PDU48(myValue) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
1699 if (dec_BER_PDU48('30079E01FF9F1F0105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1700 if (dec_BER_PDU48('30809E01FF9F1F01050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1701}
1702//===========================================
1703// CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements
1704//===========================================
1705testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements() runs on Test_CT {
1706 const BERPDU49 myValue := {b := true,
1707 c := 5 }
1708 if ((enc_DER_PDU49(myValue) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU49(myValue) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
1709 if (dec_BER_PDU49('300BBE030101FFBF1F03020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1710 if (dec_BER_PDU49('3080BE800101FF0000BF1F8002010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1711
1712}
1713
1714//===========================================
1715// CER + DER encoding of TAGGED SEQUENCE (both elements are used)
1716//===========================================
1717testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed() runs on Test_CT {
1718 const BERPDU50 myValue := {b := true,
1719 c := 5 }
1720 if ((enc_DER_PDU50(myValue) == 'A00830060101FF020105'O)and(enc_CER_PDU50(myValue) == 'A08030800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
1721 if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1722 if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1723 if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1724 if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1725}
1726
1727//===========================================
1728// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used)
1729//===========================================
1730testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed() runs on Test_CT {
1731 const BERPDU54 myValue := {b := true,
1732 c := 5 }
1733 if ((enc_DER_PDU54(myValue) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU54(myValue) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
1734 if (dec_BER_PDU54('A00C300AA0030101FFA103020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1735 if (dec_BER_PDU54('A0803080A0800101FF0000A180020105000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1736}
1737
1738//===========================================
1739// CER + DER encoding of SEQUENCE with CHOICE element
1740//===========================================
1741testcase tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement() runs on Test_CT {
1742 const BERPDU65 myValue := {b := {x := true},
1743 c := 4
1744 }
1745 if ((enc_DER_PDU65(myValue) == '30060101FF020104'O)and(enc_CER_PDU65(myValue) == '30800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
1746 if (dec_BER_PDU65('30060101FF020104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1747 if (dec_BER_PDU65('30800101FF0201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1748
1749}
1750
1751//===========================================
1752// CER + DER encoding of SEQUENCE with fields of different types
1753//===========================================
1754testcase tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT {
1755 const BERPDU67 myValue_67 := {a := NULL,
1756 b := true,
1757 c := 2,
1758 d := first,
1759 e := 1.0,
1760 f := '1'B,
1761 g := 'FFFF'O,
1762 h := myOBJID_67,
1763 i := "ABC",
1764 j := {x1 := true } ,
1765 k := {x2 := NULL,
1766
1767 y2 := true } ,
1768 l := {y3 := 1.0 ,
1769
1770 x3 := '1'B } ,
1771 m :=
1772 { 1 ,2 } ,
1773 n :=
1774 { true, true }
1775 }
1776
1777 if ((enc_DER_PDU67(myValue_67) == '305305000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1030101FF300505000101FF310C03020780090603312E452B30A3083006020101020102A40831060101FF0101FF'O) and(enc_CER_PDU67(myValue_67) == '308005000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1800101FF0000308005000101FF0000318003020780090603312E452B300000A380308002010102010200000000A48031800101FF0101FF000000000000'O))
1778{setverdict(pass);} else {setverdict(fail);}
1779
1780}
1781
1782//===========================================
1783// DECODING , DER, SEQUENCE with fields of different types , (unified)
1784//===========================================
1785testcase tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT {
1786 const BERPDU69 myValue := {a := NULL,
1787 b := true,
1788 c := 2,
1789 d := first,
1790 // e := 1.0,
1791 f := '1'B,
1792 g := 'FFFF'O,
1793 h := myOBJID_69,
1794 i := "ABC",
1795 j := {x1 := true } ,
1796 k := {x2 := NULL,
1797
1798 y2 := true } ,
1799 l := {y3 := NULL ,
1800
1801 x3 := '1'B } ,
1802 m :=
1803 { 1 ,2 } ,
1804 n :=
1805 { true, true }
1806 }
1807 if (dec_BER_PDU69('304505000101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1808if (dec_BER_PDU69('308005000101FF0201020A0100030207800402FFFF06030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1809
1810}
1811
1812//===========================================
1813// CER + DER encoding of SEQUENCE OF INTEGER (empty) (unified)
1814//===========================================
1815testcase tc_CER_DER_coding_of_SEQUENCEOFinteger_empty() runs on Test_CT {
1816 const BERPDU71 myValue := { }
1817 if ((enc_DER_PDU71(myValue) == '3000'O)and(enc_CER_PDU71(myValue) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);}
1818 if (dec_BER_PDU71('3000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1819 if (dec_BER_PDU71('30800000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1820
1821}
1822
1823//===========================================
1824// CER + DER encoding of SEQUENCE OF BOOLEAN (unified)
1825//===========================================
1826testcase tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN() runs on Test_CT {
1827 const BERPDU72 myValue := {true, false }
1828 if ((enc_DER_PDU72(myValue) == '30060101FF010100'O)and(enc_CER_PDU72(myValue) == '30800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);}
1829 if (dec_BER_PDU72('30060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1830 if (dec_BER_PDU72('30800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1831}
1832
1833//===========================================
1834// CER + DER encoding of SEQUENCE OF OCTET STRING (unified)
1835//===========================================
1836testcase tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING() runs on Test_CT {
1837 const BERPDU73 myValue := {'FFFF'O, 'AB'O };
1838 if ((enc_DER_PDU73(myValue) == '30070402FFFF0401AB'O)and(enc_CER_PDU73(myValue) == '30800402FFFF0401AB0000'O)) {setverdict(pass);} else {setverdict(fail);}
1839 if (dec_BER_PDU73('30070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1840 if (dec_BER_PDU73('30800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1841}
1842
1843//===========================================
1844// CER + DER encoding of SEQUENCE OF SEQUENCE (unified)
1845//===========================================
1846testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE() runs on Test_CT {
1847 const BERPDU74 myValue := {
1848 {
1849 a := 5,
1850 b := true
1851 },
1852 {
1853 a := 3,
1854 b := false
1855 }
1856 };
1857
1858 if ((enc_DER_PDU74(myValue) == '301030060201050101FF3006020103010100'O)and(enc_CER_PDU74(myValue) == '308030800201050101FF0000308002010301010000000000'O))
1859 {setverdict(pass);} else {setverdict(fail);}
1860 if (dec_BER_PDU74('301030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1861 if (dec_BER_PDU74('308030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1862
1863}
1864
1865//===========================================
1866// CER + DER encoding of SEQUENCE OF SET (unified)
1867//===========================================
1868testcase tc_CER_DER_coding_of_SEQUENCEOFSET() runs on Test_CT {
1869 const BERPDU75 myValue := {
1870 {
1871 a := 5,
1872 b := true
1873 },
1874 {
1875 a := 3,
1876 b := false
1877 }
1878 };
1879 if ((enc_DER_PDU75(myValue) == '301031060101FF0201053106010100020103'O)and(enc_CER_PDU75(myValue) == '308031800101FF0201050000318001010002010300000000'O))
1880 {setverdict(pass);} else {setverdict(fail);}
1881 if (dec_BER_PDU75('301031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1882 if (dec_BER_PDU75('308031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1883
1884}
1885
1886//===========================================
1887// CER + DER encoding of SEQUENCE OF SEQUENCE OF (unified)
1888//===========================================
1889testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF() runs on Test_CT {
1890 const BERPDU76 myValue := {
1891 {
1892 5,
1893 6,
1894 7
1895 },
1896 {
1897 1,
1898 2,
1899 3
1900 }
1901 };
1902
1903 if ((enc_DER_PDU76(myValue) == '301630090201050201060201073009020101020102020103'O)and(enc_CER_PDU76(myValue) == '308030800201050201060201070000308002010102010202010300000000'O))
1904 {setverdict(pass);} else {setverdict(fail);}
1905 if (dec_BER_PDU76('301630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1906 if (dec_BER_PDU76('308030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1907
1908
1909}
1910
1911//===========================================
1912// CER + DER encoding of SEQUENCE OF CHOICE (unified)
1913//===========================================
1914testcase tc_CER_DER_coding_of_SEQUENCEOFCHOICE() runs on Test_CT {
1915 const BERPDU77 myValue := {
1916 {
1917 a := 5
1918 },
1919 {
1920 b := false
1921 }
1922 };
1923 if ((enc_DER_PDU77(myValue) == '3006020105010100'O)and(enc_CER_PDU77(myValue) == '30800201050101000000'O)) {setverdict(pass);} else {setverdict(fail);}
1924 if (dec_BER_PDU77('3006020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1925 if (dec_BER_PDU77('30800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1926
1927}
1928
1929
1930//===========================================
1931// CER + DER encoding of SEQUENCE OF SETOF (unified)
1932//===========================================
1933testcase tc_CER_DER_coding_of_SEQUENCEOFSETOF() runs on Test_CT {
1934 const BERPDU78 myValue := {
1935 {
1936 5,
1937 6,
1938 7
1939 },
1940 {
1941 1,
1942 2,
1943 3
1944 }
1945 };
1946 if ((enc_DER_PDU78(myValue) == '301631090201050201060201073109020101020102020103'O)and(enc_CER_PDU78(myValue) == '308031800201050201060201070000318002010102010202010300000000'O))
1947 {setverdict(pass);} else {setverdict(fail);}
1948 if (dec_BER_PDU78('301631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1949 if (dec_BER_PDU78('308031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1950
1951
1952}
1953
1954//===========================================
1955// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN (unified)
1956//===========================================
1957testcase tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN() runs on Test_CT {
1958 const BERPDU79 myValue := {true, false }
1959 if ((enc_DER_PDU79(myValue) == 'A00830060101FF010100'O)and(enc_CER_PDU79(myValue) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);}
1960 if (dec_BER_PDU79('A00830060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1961 if (dec_BER_PDU79('A08030800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1962
1963}
1964
1965//===========================================
1966// CER + DER encoding of SET (EMPTY) (unified)
1967//===========================================
1968testcase tc_CER_DER_coding_of_SET_empty() runs on Test_CT {
1969 const BERPDU82 myValue1 := {b := omit,
1970 c := omit }
1971 const BERPDU82 myValue2 := {b := true,
1972 c := omit }
1973 const BERPDU82 myValue3 := {b := true,
1974 c := 5 }
1975 const BERPDU82 myValue4 := { c := 5,
1976 b := true }
1977 if ((enc_DER_PDU82(myValue1) == '3100'O)and(enc_CER_PDU82(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
1978 if ((enc_DER_PDU82(myValue2) == '31030101FF'O)and(enc_CER_PDU82(myValue2) == '31800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1979 if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1980 if ((enc_DER_PDU82(myValue4) == '31060101FF020105'O)and(enc_CER_PDU82(myValue4) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1981 if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1982 if (dec_BER_PDU82('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1983 if (dec_BER_PDU82('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1984 if (dec_BER_PDU82('31030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1985 if (dec_BER_PDU82('31800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1986 if (dec_BER_PDU82('31060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1987 if (dec_BER_PDU82('31800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1988 if (dec_BER_PDU82('31060201050101FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1989}
1990//===========================================
1991// CER + DER encoding of SET (one element is equal to Default) (unified)
1992//===========================================
1993testcase tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default() runs on Test_CT {
1994 const BERPDU83 myValue1 := {b := true, c := 5 }
1995 const BERPDU83 myValue2 := {c := 5, b := true }
1996 const BERPDU83 myValue3 := {b := false, c := 5 }
1997 const BERPDU83 myValue4 := {c := 5, b := false }
1998 if ((enc_DER_PDU83(myValue1) == '3103020105'O)and(enc_CER_PDU83(myValue1) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1999 if ((enc_DER_PDU83(myValue2) == '3103020105'O)and(enc_CER_PDU83(myValue2) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2000 if ((enc_DER_PDU83(myValue3) == '3106010100020105'O)and(enc_CER_PDU83(myValue3) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2001 if ((enc_DER_PDU83(myValue4) == '3106010100020105'O)and(enc_CER_PDU83(myValue4) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2002 if (dec_BER_PDU83('3103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2003 if (dec_BER_PDU83('31800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2004 if (dec_BER_PDU83('31060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2005 if (dec_BER_PDU83('31800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2006 if (dec_BER_PDU83('3106010100020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2007 if (dec_BER_PDU83('31800101000201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2008 if (dec_BER_PDU83('3106020105010100'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2009 if (dec_BER_PDU83('31800201050101000000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2010}
2011//===========================================
2012// encoding of SET (different order2) (one element is not equal to Default)
2013//===========================================
2014testcase tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default() runs on Test_CT {
2015 const BERPDU84 myValue:= {c := 5, b := false }
2016 if ((enc_DER_PDU84(myValue) == '3106010100020105'O)and(enc_CER_PDU84(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail)};
2017}
2018
2019//*********************************************
2020// CONTROL PART
2021//*********************************************
2022
2023control {
2024 execute(tc_DER_CER_encoding_of_BOOLEAN());
2025 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit());
2026 execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit());
2027 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit());
2028 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit());
2029 execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit());
2030 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit());
2031 execute(tc_BER_decoding_of_BOOLEAN());
2032 execute(tc_DER_decoding_of_BOOLEAN_Explicit());
2033 execute(tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit());
2034 execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit());
2035 execute(tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit());
2036 execute(tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit());
2037 execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit());
2038 execute(tc_DER_CER_coding_of_INTEGER());
2039 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit());
2040 execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit());
2041 execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit());
2042 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit());
2043 execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit());
2044 execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit());
2045 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit());
2046 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit());
2047 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit());
2048 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit());
2049 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit());
2050 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit());
2051 execute(tc_DER_CER_coding_of_enumerated_hardcoded_positive());
2052 execute(tc_DER_CER_coding_of_enumerated_third_no_hardcoding());
2053 execute(tc_DER_CER_coding_of_enumerated_first1());
2054 execute(tc_DER_CER_coding_of_enumerated_first2());
2055 execute(tc_DER_CER_coding_of_enumerated_tagged_explicit_6());
2056 execute(tc_DER_CER_coding_of_enumerated_tagged_implicit());
2057 execute(tc_decoding_of_explicit_tagged_enumerated());
2058 execute(tc_CER_DER_coding_of_real());
2059 execute(tc_CER_DER_coding_of_real_1_implicit());
2060 execute(tc_CER_DER_coding_of_real_1_explicit());
2061 execute(tc_CER_DER_coding_of_bitstring());
2062 execute(tc_CER_DER_coding_of_bitstring_length1_implicit());
2063 execute(tc_CER_DER_coding_of_bitstring_length1_explicit());
2064 execute(tc_CER_DER_coding_of_OCTETSTRING());
2065 execute(tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2());
2066 execute(tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2());
2067 execute(tc_CER_DER_coding_of_NULL());
2068 execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit());
2069 execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit());
2070 execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit());
2071 execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit());
2072 execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit());
2073 execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit());
2074 execute(tc_CER_DER_encoding_of_SEQUENCE());
2075 execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault());
2076 execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements());
2077 execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements());
2078 execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed());
2079 execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed());
2080 execute(tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement());
2081 execute(tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes());
2082 execute(tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes());
2083 execute(tc_CER_DER_coding_of_SEQUENCEOFinteger_empty())
2084 execute(tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN());
2085 execute(tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING());
2086 execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE());
2087 execute(tc_CER_DER_coding_of_SEQUENCEOFSET());
2088 execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF());
2089 execute(tc_CER_DER_coding_of_SEQUENCEOFCHOICE());
2090 execute(tc_CER_DER_coding_of_SEQUENCEOFSETOF());
2091 execute(tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN());
2092 execute(tc_CER_DER_coding_of_SET_empty());
2093 execute(tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default());
2094 execute(tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default());
2095
2096}
2097
2098<RESULT>
2099
2100Overall verdict: pass
2101
2102<END_TC>
2103
2104:exmp.
2105
2106.*---------------------------------------------------------------------*
2107:h3.CER + DER coding, AUTOMATIC TAGGING (unified)
2108.*---------------------------------------------------------------------*
2109:xmp tab=0.
2110
2111<TC - CER + DER coding, AUTOMATIC TAGGING (unified)>
2112
2113<STATIC:ASN>
2114
2115TempA
2116
2117DEFINITIONS
2118AUTOMATIC TAGS
2119::=
2120BEGIN
2121
2122IMPORTS;
2123
2124BERPDU46 ::= SEQUENCE
2125 {
2126 b BOOLEAN OPTIONAL,
2127 c INTEGER OPTIONAL
2128 }
2129
2130BERPDU47 ::= SEQUENCE
2131 {
2132 b BOOLEAN DEFAULT TRUE,
2133 c INTEGER OPTIONAL
2134 }
2135
2136BERPDU51 ::= [0] SEQUENCE
2137 {
2138 b BOOLEAN OPTIONAL,
2139 c INTEGER OPTIONAL
2140 }
2141
2142BERPDU58 ::= [0] SEQUENCE
2143 {
2144 b [0] BOOLEAN OPTIONAL,
2145 c [1] INTEGER OPTIONAL
2146 }
2147
2148BERPDU59 ::= SEQUENCE
2149 {
2150 b [5] BOOLEAN OPTIONAL,
2151 c INTEGER OPTIONAL
2152 }
2153
2154MySeq60 ::= SEQUENCE
2155 {x INTEGER OPTIONAL,
2156 y OCTET STRING}
2157
2158BERPDU60 ::= SEQUENCE
2159 {
2160 b BOOLEAN OPTIONAL,
2161 c INTEGER OPTIONAL,
2162 COMPONENTS OF MySeq60
2163 }
2164
2165MySeq61 ::= SEQUENCE
2166 {x [0] INTEGER OPTIONAL,
2167 y OCTET STRING}
2168
2169BERPDU61 ::= SEQUENCE
2170 {
2171 b BOOLEAN OPTIONAL,
2172 c INTEGER OPTIONAL,
2173 COMPONENTS OF MySeq61
2174 }
2175
2176MySeq62 ::= SEQUENCE
2177 {x INTEGER OPTIONAL,
2178 y OCTET STRING}
2179BERPDU62 ::= SEQUENCE
2180 {
2181 b [0] BOOLEAN OPTIONAL,
2182 c BIT STRING OPTIONAL,
2183 COMPONENTS OF MySeq62
2184 }
2185
2186MySeq63 ::= SEQUENCE
2187 {x [1] INTEGER OPTIONAL,
2188 y OCTET STRING}
2189
2190BERPDU63 ::= SEQUENCE
2191 {
2192 b [0] BOOLEAN OPTIONAL,
2193 c BIT STRING OPTIONAL,
2194 COMPONENTS OF MySeq63
2195 }
2196
2197BERPDU64 ::= SEQUENCE
2198 {
2199 b CHOICE {
2200 x BOOLEAN,
2201 y OCTET STRING
2202 }
2203 OPTIONAL,
2204 c INTEGER OPTIONAL
2205
2206 }
2207
2208BERPDU66 ::= SEQUENCE
2209 {
2210 a OCTET STRING,
2211 b BOOLEAN,
2212 ...,
2213 d BIT STRING,
2214 ...,
2215 c INTEGER OPTIONAL
2216 }
2217
2218BERPDU68 ::= SEQUENCE
2219 {
2220 a NULL,
2221 b BOOLEAN,
2222 c INTEGER,
2223 d ENUMERATED {first ,second ,third},
2224 e REAL,
2225 f BIT STRING,
2226 g OCTET STRING,
2227
2228 h OBJECT IDENTIFIER,
2229 i IA5String,
2230 j CHOICE {x1 BOOLEAN,
2231 y1 OCTET STRING},
2232
2233 k SEQUENCE{x2 NULL,
2234 y2 BOOLEAN},
2235
2236 l SET { x3 BIT STRING,
2237 y3 REAL},
2238
2239 m SEQUENCE OF INTEGER,
2240 n SET OF BOOLEAN
2241 }
2242
2243
2244myOBJID-68 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2245
2246BERPDU70 ::= SEQUENCE
2247 {
2248 a NULL,
2249 b BOOLEAN,
2250 c INTEGER,
2251 d ENUMERATED {first ,second ,third},
2252 e NULL,
2253 f BIT STRING,
2254 g OCTET STRING,
2255 h OBJECT IDENTIFIER,
2256 i IA5String,
2257 j CHOICE {x1 BOOLEAN,
2258 y1 OCTET STRING},
2259 k SEQUENCE{x2 NULL,
2260 y2 BOOLEAN},
2261 l SET { x3 BIT STRING,
2262 y3 NULL},
2263 m SEQUENCE OF INTEGER,
2264 n SET OF BOOLEAN
2265 }
2266
2267BERPDU85 ::= SET
2268 {
2269 b BOOLEAN OPTIONAL,
2270 c INTEGER OPTIONAL
2271 }
2272
2273BERPDU86 ::= SET
2274 {
2275
2276 c INTEGER OPTIONAL,
2277 b BOOLEAN OPTIONAL
2278 }
2279
2280BERPDU87 ::= SET
2281 {
2282 b BOOLEAN DEFAULT TRUE,
2283 c INTEGER OPTIONAL
2284 }
2285
2286BERPDU88 ::= SET
2287 {
2288 c INTEGER OPTIONAL,
2289 b BOOLEAN DEFAULT TRUE
2290 }
2291
2292myOBJID-70 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2293
2294
2295
2296END
2297
2298<STATIC>
2299
2300type component Test_CT {}
2301
2302import from TempA all;
2303external function enc_DER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2304external function enc_CER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2305external function dec_BER_PDU46(in octetstring stream) return BERPDU46 with { extension "prototype(convert) decode(BER)" }
2306
2307external function enc_DER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2308external function enc_CER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2309external function dec_BER_PDU47(in octetstring stream) return BERPDU47 with { extension "prototype(convert) decode(BER)" }
2310
2311external function enc_DER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2312external function enc_CER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2313external function dec_BER_PDU51(in octetstring stream) return BERPDU51 with { extension "prototype(convert) decode(BER)" }
2314
2315external function enc_DER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2316external function enc_CER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2317external function dec_BER_PDU58(in octetstring stream) return BERPDU58 with { extension "prototype(convert) decode(BER)" }
2318
2319external function enc_DER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2320external function enc_CER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2321external function dec_BER_PDU59(in octetstring stream) return BERPDU59 with { extension "prototype(convert) decode(BER)" }
2322
2323external function enc_DER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2324external function enc_CER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2325external function dec_BER_PDU60(in octetstring stream) return BERPDU60 with { extension "prototype(convert) decode(BER)" }
2326
2327
2328external function enc_DER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2329external function enc_CER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2330external function dec_BER_PDU61(in octetstring stream) return BERPDU61 with { extension "prototype(convert) decode(BER)" }
2331
2332external function enc_DER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2333external function enc_CER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2334external function dec_BER_PDU62(in octetstring stream) return BERPDU62 with { extension "prototype(convert) decode(BER)" }
2335
2336external function enc_DER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2337external function enc_CER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2338external function dec_BER_PDU63(in octetstring stream) return BERPDU63 with { extension "prototype(convert) decode(BER)" }
2339
2340external function enc_DER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2341external function enc_CER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2342external function dec_BER_PDU64(in octetstring stream) return BERPDU64 with { extension "prototype(convert) decode(BER)" }
2343
2344external function enc_DER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2345external function enc_CER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2346external function dec_BER_PDU66(in octetstring stream) return BERPDU66 with { extension "prototype(convert) decode(BER)" }
2347
2348external function enc_DER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2349external function enc_CER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2350external function dec_BER_PDU68(in octetstring stream) return BERPDU68 with { extension "prototype(convert) decode(BER)" }
2351
2352external function enc_DER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2353external function enc_CER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2354external function dec_BER_PDU70(in octetstring stream) return BERPDU70 with { extension "prototype(convert) decode(BER)" }
2355
2356external function enc_DER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2357external function enc_CER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2358external function dec_BER_PDU85(in octetstring stream) return BERPDU85 with { extension "prototype(convert) decode(BER)" }
2359
2360external function enc_DER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2361external function enc_CER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2362external function dec_BER_PDU86(in octetstring stream) return BERPDU86 with { extension "prototype(convert) decode(BER)" }
2363
2364external function enc_DER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2365external function enc_CER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2366external function dec_BER_PDU87(in octetstring stream) return BERPDU87 with { extension "prototype(convert) decode(BER)" }
2367
2368external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2369external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2370external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" }
2371
2372<TTCN_TC:PURE_EXEC>
2373
2374//*********************************************
2375// TESTCASES
2376//*********************************************
2377
2378//===========================================
2379// CER + DER encoding of SEQUENCE (EMPTY), AUTOMATIC TAGGING (unified)
2380//===========================================
2381testcase tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging() runs on Test_CT {
2382 const BERPDU46 myValue1 := {b := omit,
2383 c := omit }
2384 const BERPDU46 myValue2 := {b := true,
2385 c := omit }
2386 const BERPDU46 myValue3 := {b := true,
2387 c := 5 }
2388
2389 if ((enc_DER_PDU46(myValue1) == '3000'O)and(enc_CER_PDU46(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);}
2390 if ((enc_DER_PDU46(myValue2) == '30038001FF'O)and(enc_CER_PDU46(myValue2) == '30808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2391 if ((enc_DER_PDU46(myValue3) == '30068001FF810105'O)and(enc_CER_PDU46(myValue3) == '30808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2392 if (dec_BER_PDU46('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2393 if (dec_BER_PDU46('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2394 if (dec_BER_PDU46('30038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2395 if (dec_BER_PDU46('30808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2396 if (dec_BER_PDU46('30068001FF810105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2397 if (dec_BER_PDU46('30808001FF8101050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2398}
2399
2400//===========================================
2401// CER + DER encoding of SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING (unified)
2402//===========================================
2403testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT {
2404
2405 const BERPDU47 myValue1 := {b := true,
2406 c := 5 }
2407 const BERPDU47 myValue2 := {b := false,
2408 c := 5 }
2409 if ((enc_DER_PDU47(myValue1) == '3003810105'O)and(enc_CER_PDU47(myValue1) == '30808101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2410 if ((enc_DER_PDU47(myValue2) == '3006800100810105'O)and(enc_CER_PDU47(myValue2) == '30808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2411 if (dec_BER_PDU47('3003810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2412 if (dec_BER_PDU47('30808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2413 if (dec_BER_PDU47('3006800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2414 if (dec_BER_PDU47('30808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2415
2416}
2417
2418//===========================================
2419// CER + DER encoding of TAGGED SEQUENCE (both elements are used), AUTOMATIC TAGGING ENVIRONMENT
2420//===========================================
2421testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging() runs on Test_CT {
2422 const BERPDU51 myValue := {b := true,
2423 c := 5 }
2424 if ((enc_DER_PDU51(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU51(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2425}
2426
2427//===========================================
2428// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT
2429//===========================================
2430testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging() runs on Test_CT {
2431 const BERPDU58 myValue := {b := true,
2432 c := 5 }
2433 if ((enc_DER_PDU58(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU58(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2434 if (dec_BER_PDU58('A0068001FF810105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2435 if (dec_BER_PDU58('A0808001FF8101050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2436}
2437
2438//===========================================
2439// CER + DER encoding of SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT
2440//===========================================
2441testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging() runs on Test_CT {
2442 const BERPDU59 myValue := {b := true,
2443 c := 5 }
2444 if ((enc_DER_PDU59(myValue) == '30068501FF020105'O)and(enc_CER_PDU59(myValue) == '30808501FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2445 if (dec_BER_PDU59('30068501FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2446 if (dec_BER_PDU59('30808501FF0201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2447}
2448
2449//===========================================
2450// CER + DER encoding of SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags
2451//===========================================
2452testcase tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT {
2453 const BERPDU60 myValue := {b := true,
2454 c := 5 ,
2455 x := 6,
2456 y := 'FF'O }
2457 if ((enc_DER_PDU60(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU60(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2458 if (dec_BER_PDU60('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2459 if (dec_BER_PDU60('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2460}
2461
2462//===========================================
2463// CER + DER encoding of SEQUENCE , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
2464//===========================================
2465testcase tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT {
2466 const BERPDU61 myValue := {b := true,
2467 c := 5 ,
2468 x := 6,
2469 y := 'FF'O }
2470 if ((enc_DER_PDU61(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU61(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2471 if (dec_BER_PDU61('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2472 if (dec_BER_PDU61('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2473
2474}
2475
2476//===========================================
2477// CER + DER encoding of SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
2478//===========================================
2479testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT {
2480 const BERPDU62 myValue := {b := true,
2481 c := '1'B ,
2482 x := 6,
2483 y := 'FF'O }
2484
2485 if ((enc_DER_PDU62(myValue) == '300D8001FF030207800201060401FF'O)and(enc_CER_PDU62(myValue) == '30808001FF030207800201060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2486 if (dec_BER_PDU62('300D8001FF030207800201060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2487 if (dec_BER_PDU62('30808001FF030207800201060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2488
2489
2490}
2491
2492//===========================================
2493// CER + DER encoding of SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
2494//===========================================
2495testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT {
2496 const BERPDU63 myValue := {b := true,
2497 c := '1'B ,
2498 x := 6,
2499 y := 'FF'O }
2500 if ((enc_DER_PDU63(myValue) == '300D8001FF030207808101060401FF'O)and(enc_CER_PDU63(myValue) == '30808001FF030207808101060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2501 if (dec_BER_PDU63('300D8001FF030207808101060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2502 if (dec_BER_PDU63('30808001FF030207808101060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2503
2504}
2505
2506
2507//===========================================
2508// CER + DER encoding of SEQUENCE with CHOICE element, AUTOMATIC TAGS
2509//===========================================
2510testcase tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging() runs on Test_CT {
2511 const BERPDU64 myValue := {b := {x := true},
2512 c := 4
2513 }
2514 if ((enc_DER_PDU64(myValue) == '3008A0038001FF810104'O)and(enc_CER_PDU64(myValue) == '3080A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
2515 if (dec_BER_PDU64('3008A0038001FF810104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2516 if (dec_BER_PDU64('3080A0808001FF00008101040000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2517
2518}
2519
2520//===========================================
2521// CER + DER encoding of SEQUENCE with EXTENSION , AUTOMATIC TAGS
2522//===========================================
2523testcase tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging() runs on Test_CT {
2524 const BERPDU66 myValue := {
2525 a := 'FF'O,
2526 b := true,
2527 d := '1'B,
2528 c := 4
2529 }
2530 if ((enc_DER_PDU66(myValue) == '300D8001FF8101FF83020780820104'O)and(enc_CER_PDU66(myValue) == '30808001FF8101FF830207808201040000'O)) {setverdict(pass);} else {setverdict(fail);}
2531 if (dec_BER_PDU66('300D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2532 if (dec_BER_PDU66('30808001FF8101FF830207808201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2533 if (dec_BER_PDU66('308300000D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2534
2535}
2536
2537//===========================================
2538// CER + DER encoding of SEQUENCE with fields of different types, AUTOMATIC TAGS
2539//===========================================
2540testcase tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging() runs on Test_CT {
2541const BERPDU68 myValue := {a := NULL,
2542 b := true,
2543 c := 2,
2544 d := first,
2545 e := 1.0,
2546 f := '1'B,
2547 g := 'FFFF'O,
2548 h := myOBJID_68,
2549 i := "ABC",
2550 j := {x1 := true } ,
2551 k := {x2 := NULL,
2552
2553 y2 := true } ,
2554 l := {y3 := 1.0 ,
2555
2556 x3 := '1'B } ,
2557 m :=
2558 { 1 ,2 } ,
2559 n :=
2560 { true, true }
2561 }
2562 if ((enc_DER_PDU68(myValue) == '304F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
2563and(enc_CER_PDU68(myValue) == '308080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O))
2564{setverdict(pass);} else {setverdict(fail);}
2565
2566
2567}
2568
2569//===========================================
2570// DECODING , DER, SEQUENCE with fields of different types , AUTOMATIC TAGS (unified)
2571//===========================================
2572testcase tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging() runs on Test_CT {
2573 const BERPDU70 myValue := {a := NULL,
2574 b := true,
2575 c := 2,
2576 d := first,
2577 e := NULL,
2578 f := '1'B,
2579 g := 'FFFF'O,
2580 h := myOBJID_70,
2581 i := "ABC",
2582 j := {x1 := true } ,
2583 k := {x2 := NULL,
2584 y2 := true } ,
2585 l := {y3 := NULL ,
2586 x3 := '1'B } ,
2587 m :=
2588 { 1 ,2 } ,
2589 n :=
2590 { true, true }
2591 }
2592
2593
2594
2595 if (dec_BER_PDU70('304380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue)
2596 {setverdict(pass);} else {setverdict(fail);}
2597 if (dec_BER_PDU70('308080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue)
2598 {setverdict(pass);} else {setverdict(fail);}
2599
2600}
2601
2602//===========================================
2603// CER + DER encoding of SET (EMPTY), AUTOMATIC TAGGING (unified)
2604//===========================================
2605testcase tc_CER_DER_encoding_of_SET_empty_automaticTagging() runs on Test_CT {
2606 const BERPDU85 myValue1 := {b := omit,
2607 c := omit }
2608 const BERPDU85 myValue2 := {b := true,
2609 c := omit }
2610 const BERPDU85 myValue3 := {
2611 c := omit,
2612 b := true }
2613 const BERPDU85 myValue4 := {b := true,
2614 c := 5 }
2615 const BERPDU85 myValue5 := {
2616 c := 5,
2617 b := true }
2618
2619 if ((enc_DER_PDU85(myValue1) == '3100'O)and(enc_CER_PDU85(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
2620 if ((enc_DER_PDU85(myValue2) == '31038001FF'O)and(enc_CER_PDU85(myValue2) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2621 if ((enc_DER_PDU85(myValue3) == '31038001FF'O)and(enc_CER_PDU85(myValue3) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2622 if ((enc_DER_PDU85(myValue4) == '31068001FF810105'O)and(enc_CER_PDU85(myValue4) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2623 if ((enc_DER_PDU85(myValue5) == '31068001FF810105'O)and(enc_CER_PDU85(myValue5) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2624 if (dec_BER_PDU85('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2625 if (dec_BER_PDU85('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2626 if (dec_BER_PDU85('31038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2627 if (dec_BER_PDU85('31808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2628 if (dec_BER_PDU85('31068001FF810105'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2629 if (dec_BER_PDU85('31808001FF8101050000'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2630 if (dec_BER_PDU85('31068101058001FF'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2631 if (dec_BER_PDU85('31808101058001FF0000'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2632
2633}
2634//===========================================
2635// CER + DER encoding of SET (both elements are used)(different order2) AUTOMATIC TAGGING
2636//===========================================
2637testcase tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging() runs on Test_CT {
2638 const BERPDU86 myValue := {b := true, c := 5 }
2639 if ((enc_DER_PDU86(myValue) == '31068001058101FF'O)and(enc_CER_PDU86(myValue) == '31808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2640}
2641
2642//===========================================
2643// CER + DER encoding of SET (one element is equal to Default) AUTOMATIC TAGGING (unified)
2644//===========================================
2645testcase tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT {
2646 const BERPDU87 myValue1 := {b := true,c := 5 }
2647 const BERPDU87 myValue2 := {b := false,c := 5 }
2648 const BERPDU87 myValue3 := {c := 5,b := false }
2649 const BERPDU87 myValue4 := {c := 5 , b := true }
2650
2651 if ((enc_DER_PDU87(myValue1) == '3103810105'O)and(enc_CER_PDU87(myValue1) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2652 if ((enc_DER_PDU87(myValue2) == '3106800100810105'O)and(enc_CER_PDU87(myValue2) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2653 if ((enc_DER_PDU87(myValue3) == '3106800100810105'O)and(enc_CER_PDU87(myValue3) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2654 if ((enc_DER_PDU87(myValue4) == '3103810105'O)and(enc_CER_PDU87(myValue4) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2655 if (dec_BER_PDU87('3103810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2656 if (dec_BER_PDU87('31808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2657 if (dec_BER_PDU87('31068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2658 if (dec_BER_PDU87('31808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2659 if (dec_BER_PDU87('3106800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2660 if (dec_BER_PDU87('31808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2661 if (dec_BER_PDU87('3106810105800100'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2662 if (dec_BER_PDU87('31808101058001000000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2663
2664}
2665//===========================================
2666// CER + DER encoding of SET (different order2)(one element is not equal to Default) AUTOMATIC TAGGING
2667//===========================================
2668testcase tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging() runs on Test_CT {
2669 const BERPDU88 myValue := {b := false, c := 5 }
2670 if ((enc_DER_PDU88(myValue) == '3106800105810100'O)and(enc_CER_PDU88(myValue) == '31808001058101000000'O)) {setverdict(pass);} else {setverdict(fail);}
2671}
2672
2673//*********************************************
2674// CONTROL PART
2675//*********************************************
2676
2677control {
2678 execute(tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging());
2679 execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging());
2680 execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging());
2681 execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging());
2682 execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging());
2683 execute(tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging());
2684 execute(tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging());
2685 execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging());
2686 execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging());
2687 execute(tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging());
2688 execute(tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging());
2689 execute(tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging());
2690 execute(tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging())
2691 execute(tc_CER_DER_encoding_of_SET_empty_automaticTagging());
2692 execute(tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging());
2693 execute(tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging());
2694 execute(tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging());
2695}
2696
2697<RESULT>
2698
2699Overall verdict: pass
2700
2701<END_TC>
2702
2703:exmp.
2704
2705.*---------------------------------------------------------------------*
2706:h3.CER + DER encoding, EXPLICIT TAGGING ENVIRONMENT
2707.*---------------------------------------------------------------------*
2708:xmp tab=0.
2709
2710<TC - CER + DER encoding, EXPLICIT TAGGING ENVIRONMENT>
2711
2712<STATIC:ASN>
2713
2714TempA
2715
2716DEFINITIONS
2717EXPLICIT TAGS
2718::=
2719BEGIN
2720
2721IMPORTS;
2722
2723BERPDU55 ::= SEQUENCE
2724 {
2725 b [30] IMPLICIT BOOLEAN OPTIONAL,
2726 c [31] IMPLICIT INTEGER OPTIONAL
2727 }
2728
2729BERPDU56 ::= [0] SEQUENCE
2730 {
2731 b [0] BOOLEAN OPTIONAL,
2732 c [1] INTEGER OPTIONAL
2733 }
2734
2735BERPDU80 ::= [0] SEQUENCE OF BOOLEAN
2736
2737END
2738
2739<STATIC>
2740
2741import from TempA all;
2742external function enc_DER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2743external function enc_CER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2744external function dec_BER_PDU55(in octetstring stream) return BERPDU55 with { extension "prototype(convert) decode(BER)" }
2745
2746external function enc_DER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2747external function enc_CER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2748external function dec_BER_PDU56(in octetstring stream) return BERPDU56 with { extension "prototype(convert) decode(BER)" }
2749
2750external function enc_DER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2751external function enc_CER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2752external function dec_BER_PDU80(in octetstring stream) return BERPDU80 with { extension "prototype(convert) decode(BER)" }
2753
2754
2755const BERPDU55 myValue_55 := {b := true,
2756 c := 5 }
2757const BERPDU56 myValue_56 := {b := true,
2758 c := 5 }
2759
2760const BERPDU80 myValue_80 := {true, false }
2761
2762<TTCN_TC:EXEC>
2763//===================================================
2764//CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT
2765//===================================================
2766if ((enc_DER_PDU55(myValue_55) == '30079E01FF9F1F0105'O)and(enc_CER_PDU55(myValue_55) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2767if (dec_BER_PDU55('30079E01FF9F1F0105'O) == myValue_55){setverdict(pass);} else {setverdict(fail);}
2768if (dec_BER_PDU55('30809E01FF9F1F01050000'O) == myValue_55){setverdict(pass);} else {setverdict(fail);}
2769
2770//===================================================
2771// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT
2772//===================================================
2773if ((enc_DER_PDU56(myValue_56) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU56(myValue_56) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2774if (dec_BER_PDU56('A00C300AA0030101FFA103020105'O) == myValue_56){setverdict(pass);} else {setverdict(fail);}
2775if (dec_BER_PDU56('A0803080A0800101FF0000A180020105000000000000'O) == myValue_56){setverdict(pass);} else {setverdict(fail);}
2776
2777
2778//===================================================
2779// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING (unified)
2780//===================================================
2781if ((enc_DER_PDU80(myValue_80) == 'A00830060101FF010100'O)and(enc_CER_PDU80(myValue_80) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2782if (dec_BER_PDU80('A00830060101FF010100'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2783if (dec_BER_PDU80('A08030800101FF01010000000000'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2784
2785
2786<RESULT>
2787
2788Overall verdict: pass
2789
2790<END_TC>
2791
2792:exmp.
2793
2794.*---------------------------------------------------------------------*
2795:h3.CER + DER encoding of SEQUENCE, IMPLICIT TAGGING ENVIRONMENT
2796.*---------------------------------------------------------------------*
2797:xmp tab=0.
2798
2799<TC - CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT>
2800
2801<STATIC:ASN>
2802
2803TempA
2804
2805DEFINITIONS
2806IMPLICIT TAGS
2807::=
2808BEGIN
2809
2810IMPORTS;
2811
2812BERPDU52 ::= SEQUENCE
2813 {
2814 b [30] EXPLICIT BOOLEAN OPTIONAL,
2815 c [31] EXPLICIT INTEGER OPTIONAL
2816 }
2817
2818BERPDU53 ::= [0] SEQUENCE
2819 {
2820 b BOOLEAN OPTIONAL,
2821 c INTEGER OPTIONAL
2822 }
2823
2824BERPDU57 ::= [0] SEQUENCE
2825 {
2826 b [0] BOOLEAN OPTIONAL,
2827 c [1] INTEGER OPTIONAL
2828 }
2829
2830BERPDU81 ::= [0] SEQUENCE OF BOOLEAN
2831
2832BERPDU88 ::= SET
2833 {
2834 b [30] IMPLICIT BOOLEAN OPTIONAL,
2835 c [31] IMPLICIT INTEGER OPTIONAL
2836 }
2837
2838BERPDU89 ::= SET
2839 {
2840 c [31] IMPLICIT INTEGER OPTIONAL,
2841 b [30] IMPLICIT BOOLEAN OPTIONAL
2842 }
2843
2844BERPDU90 ::= SET
2845 {
2846 c [31] EXPLICIT INTEGER OPTIONAL,
2847 b [30] EXPLICIT BOOLEAN OPTIONAL
2848
2849 }
2850
2851END
2852
2853<STATIC>
2854
2855import from TempA all;
2856external function enc_DER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2857external function enc_CER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2858external function dec_BER_PDU52(in octetstring stream) return BERPDU52 with { extension "prototype(convert) decode(BER)" }
2859
2860external function enc_DER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2861external function enc_CER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2862external function dec_BER_PDU53(in octetstring stream) return BERPDU53 with { extension "prototype(convert) decode(BER)" }
2863
2864external function enc_DER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2865external function enc_CER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2866external function dec_BER_PDU57(in octetstring stream) return BERPDU57 with { extension "prototype(convert) decode(BER)" }
2867
2868external function enc_DER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2869external function enc_CER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2870external function dec_BER_PDU81(in octetstring stream) return BERPDU81 with { extension "prototype(convert) decode(BER)" }
2871
2872external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2873external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2874external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" }
2875
2876external function enc_DER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2877external function enc_CER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2878//external function dec_BER_PDU89(in octetstring stream) return BERPDU89 with { extension "prototype(convert) decode(BER)" }
2879
2880external function enc_DER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2881external function enc_CER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2882//external function dec_BER_PDU90(in octetstring stream) return BERPDU90 with { extension "prototype(convert) decode(BER)" }
2883
2884const BERPDU52 myValue_52 := {b := true,c := 5 }
2885const BERPDU53 myValue_53 := {b := true,c := 5 }
2886const BERPDU57 myValue_57 := {b := true,c := 5 }
2887const BERPDU81 myValue_81 := {true, false }
2888const BERPDU88 myValue1_88 := {b := true, c := 5 }
2889const BERPDU88 myValue2_88 := { c := 5, b := true }
2890const BERPDU89 myValue_89 := {b := true,c := 5 }
2891const BERPDU90 myValue_90 := {b := true,c := 5 }
2892
2893<TTCN_TC:EXEC>
2894//===========================================
2895//CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT
2896//===========================================
2897if ((enc_DER_PDU52(myValue_52) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU52(myValue_52) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2898if (dec_BER_PDU52('300BBE030101FFBF1F03020105'O) == myValue_52){setverdict(pass);} else {setverdict(fail);}
2899if (dec_BER_PDU52('3080BE800101FF0000BF1F8002010500000000'O) == myValue_52){setverdict(pass);} else {setverdict(fail);}
2900//===========================================
2901//CER + DER encoding of TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT
2902//===========================================
2903if ((enc_DER_PDU53(myValue_53) == 'A0060101FF020105'O)and(enc_CER_PDU53(myValue_53) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2904if (dec_BER_PDU53('A0060101FF020105'O) == myValue_53){setverdict(pass);} else {setverdict(fail);}
2905if (dec_BER_PDU53('A0800101FF0201050000'O) == myValue_53){setverdict(pass);} else {setverdict(fail);}
2906
2907//===========================================
2908// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT
2909//===========================================
2910if ((enc_DER_PDU57(myValue_57) == 'A0068001FF810105'O)and(enc_CER_PDU57(myValue_57) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2911if (dec_BER_PDU57('A0068001FF810105'O) == myValue_57){setverdict(pass);} else {setverdict(fail);}
2912if (dec_BER_PDU57('A0808001FF8101050000'O) == myValue_57){setverdict(pass);} else {setverdict(fail);}
2913//===========================================
2914// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING (unified)
2915//===========================================
2916if ((enc_DER_PDU81(myValue_81) == 'A0060101FF010100'O)and(enc_CER_PDU81(myValue_81) == 'A0800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);}
2917if (dec_BER_PDU81('A0060101FF010100'O) == myValue_81){setverdict(pass);} else {setverdict(fail);}
2918if (dec_BER_PDU81('A0800101FF0101000000'O) == myValue_81){setverdict(pass);} else {setverdict(fail);}
2919//===========================================
2920// CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements (unified)
2921//===========================================
2922if ((enc_DER_PDU88(myValue1_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue1_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2923if ((enc_DER_PDU88(myValue2_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue2_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2924if (dec_BER_PDU88('31079E01FF9F1F0105'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2925if (dec_BER_PDU88('31809E01FF9F1F01050000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2926if (dec_BER_PDU88('31079F1F01059E01FF'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2927if (dec_BER_PDU88('31809F1F01059E01FF0000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2928//===========================================
2929// CER + DER encoding of SET (different order2) (both elements are used) IMPLICIT TAGS for elements
2930//===========================================
2931if ((enc_DER_PDU89(myValue_89) == '31079E01FF9F1F0105'O)and(enc_CER_PDU89(myValue_89) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2932//===========================================
2933// CER + DER encoding of SET (different order2)(both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT
2934//===========================================
2935if ((enc_DER_PDU90(myValue_90) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU90(myValue_90) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2936
2937<RESULT>
2938
2939Overall verdict: pass
2940
2941<END_TC>
2942
2943:exmp.
2944
2945.*---------------------------------------------------------------------*
2946:h3.CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT (unified)
2947.*---------------------------------------------------------------------*
2948:xmp tab=0.
2949
2950<TC - CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT (unified)>
2951
2952<STATIC:ASN>
2953
2954TempA
2955
2956DEFINITIONS
2957EXPLICIT TAGS
2958::=
2959BEGIN
2960BERPDU ::= SET
2961 {
2962 b [30] IMPLICIT BOOLEAN OPTIONAL,
2963 c [31] IMPLICIT INTEGER OPTIONAL
2964 }
2965END
2966
2967<STATIC>
2968
2969import from TempA all;
2970external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2971external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2972external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
2973
2974const BERPDU myValue1 := {b := true,
2975 c := 5 }
2976const BERPDU myValue2 := {
2977 c := 5 ,
2978 b := true }
2979<TTCN_TC:EXEC>
2980
2981if ((enc_DER_PDU(myValue1) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue1) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2982if ((enc_DER_PDU(myValue2) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue2) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2983if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2984if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2985if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2986if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2987
2988<RESULT>
2989
2990Overall verdict: pass
2991
2992<END_TC>
2993
2994:exmp.
2995
2996.*---------------------------------------------------------------------*
2997:h3.CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT
2998.*---------------------------------------------------------------------*
2999:xmp tab=0.
3000
3001<TC - CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT>
3002
3003<STATIC:ASN>
3004
3005TempA
3006
3007DEFINITIONS
3008
3009EXPLICIT TAGS
3010
3011::=
3012
3013BEGIN
3014
3015BERPDU ::= SET
3016 {
3017 c [31] IMPLICIT INTEGER OPTIONAL,
3018 b [30] IMPLICIT BOOLEAN OPTIONAL
3019
3020 }
3021
3022
3023END
3024
3025<STATIC>
3026
3027import from TempA all;
3028external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3029external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3030
3031const BERPDU myValue := {b := true,
3032 c := 5 }
3033
3034<TTCN_TC:EXEC>
3035
3036
3037
3038
3039if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
3040
3041<RESULT>
3042
3043Overall verdict: pass
3044
3045<END_TC>
3046
3047:exmp.
3048
3049.*---------------------------------------------------------------------*
3050:h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements (unified)
3051.*---------------------------------------------------------------------*
3052:xmp tab=0.
3053
3054<TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements (unified)>
3055
3056<STATIC:ASN>
3057
3058TempA
3059
3060DEFINITIONS ::=
3061BEGIN
3062BERPDU ::= SET
3063 {
3064 b [30] EXPLICIT BOOLEAN OPTIONAL,
3065 c [31] EXPLICIT INTEGER OPTIONAL
3066 }
3067END
3068
3069<STATIC>
3070
3071import from TempA all;
3072external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3073external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3074external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3075
3076const BERPDU myValue1 := {b := true,
3077 c := 5 }
3078const BERPDU myValue2 := {
3079 c := 5,
3080 b := true }
3081<TTCN_TC:EXEC>
3082
3083if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3084if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3085if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3086if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3087if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3088if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3089
3090<RESULT>
3091
3092Overall verdict: pass
3093
3094<END_TC>
3095
3096:exmp.
3097
3098.*---------------------------------------------------------------------*
3099:h3.CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements
3100.*---------------------------------------------------------------------*
3101:xmp tab=0.
3102
3103<TC - CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements>
3104
3105<STATIC:ASN>
3106
3107TempA
3108
3109DEFINITIONS ::=
3110BEGIN
3111
3112BERPDU ::= SET
3113 {
3114
3115 c [31] EXPLICIT INTEGER OPTIONAL,
3116 b [30] EXPLICIT BOOLEAN OPTIONAL
3117 }
3118
3119
3120END
3121
3122<STATIC>
3123
3124import from TempA all;
3125external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3126external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3127
3128const BERPDU myValue := {b := true,
3129 c := 5 }
3130
3131<TTCN_TC:EXEC>
3132
3133
3134
3135
3136if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3137
3138<RESULT>
3139
3140Overall verdict: pass
3141
3142<END_TC>
3143
3144:exmp.
3145
3146.*---------------------------------------------------------------------*
3147:h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT (unified)
3148.*---------------------------------------------------------------------*
3149:xmp tab=0.
3150
3151<TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT (unified)>
3152
3153<STATIC:ASN>
3154
3155TempA
3156
3157DEFINITIONS
3158IMPLICIT TAGS
3159::=
3160BEGIN
3161BERPDU ::= SET
3162 {
3163 b [30] EXPLICIT BOOLEAN OPTIONAL,
3164 c [31] EXPLICIT INTEGER OPTIONAL
3165 }
3166END
3167
3168<STATIC>
3169
3170import from TempA all;
3171external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3172external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3173external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3174
3175const BERPDU myValue1 := {b := true,
3176 c := 5 }
3177const BERPDU myValue2 := {
3178 c := 5 ,
3179 b := true }
3180<TTCN_TC:EXEC>
3181
3182if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3183if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3184if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3185if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3186if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3187if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3188
3189<RESULT>
3190
3191Overall verdict: pass
3192
3193<END_TC>
3194
3195:exmp.
3196
3197.*---------------------------------------------------------------------*
3198:h3.CER + DER encoding of TAGGED SET (both elements are used) (unified)
3199.*---------------------------------------------------------------------*
3200:xmp tab=0.
3201
3202<TC - CER + DER encoding of TAGGED SET (both elements are used) (unified)>
3203
3204<STATIC:ASN>
3205
3206TempA
3207
3208DEFINITIONS ::=
3209BEGIN
3210BERPDU ::= [0] SET
3211 {
3212 b BOOLEAN OPTIONAL,
3213 c INTEGER OPTIONAL
3214 }
3215END
3216
3217<STATIC>
3218
3219import from TempA all;
3220external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3221external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3222external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3223
3224const BERPDU myValue1 := {b := true,
3225 c := 5 }
3226const BERPDU myValue2 := {
3227 c := 5,
3228 b := true }
3229<TTCN_TC:EXEC>
3230
3231if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3232if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3233if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3234if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3235if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3236if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3237if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3238if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3239if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3240
3241<RESULT>
3242
3243Overall verdict: pass
3244
3245<END_TC>
3246
3247:exmp.
3248
3249.*---------------------------------------------------------------------*
3250:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used)
3251.*---------------------------------------------------------------------*
3252:xmp tab=0.
3253
3254<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used)>
3255
3256<STATIC:ASN>
3257
3258TempA
3259
3260DEFINITIONS ::=
3261BEGIN
3262
3263BERPDU ::= [0] SET
3264 {
3265
3266 c INTEGER OPTIONAL,
3267 b BOOLEAN OPTIONAL
3268 }
3269
3270
3271END
3272
3273<STATIC>
3274
3275import from TempA all;
3276external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3277external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3278
3279const BERPDU myValue := {b := true,
3280 c := 5 }
3281
3282<TTCN_TC:EXEC>
3283
3284
3285
3286
3287if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3288
3289<RESULT>
3290
3291Overall verdict: pass
3292
3293<END_TC>
3294
3295:exmp.
3296
3297.*---------------------------------------------------------------------*
3298:h3.CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT (unified)
3299.*---------------------------------------------------------------------*
3300:xmp tab=0.
3301
3302<TC - CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT (unified)>
3303
3304<STATIC:ASN>
3305
3306TempA
3307
3308DEFINITIONS
3309AUTOMATIC TAGS
3310::=
3311BEGIN
3312BERPDU ::= [0] SET
3313 {
3314 b BOOLEAN OPTIONAL,
3315 c INTEGER OPTIONAL
3316 }
3317END
3318
3319<STATIC>
3320
3321import from TempA all;
3322external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3323external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3324
3325const BERPDU myValue1 := {b := true,
3326 c := 5 }
3327const BERPDU myValue2 := {
3328 c := 5,
3329 b := true }
3330<TTCN_TC:EXEC>
3331
3332if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3333if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3334
3335<RESULT>
3336
3337Overall verdict: pass
3338
3339<END_TC>
3340
3341:exmp.
3342
3343.*---------------------------------------------------------------------*
3344:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT
3345.*---------------------------------------------------------------------*
3346:xmp tab=0.
3347
3348<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT>
3349
3350<STATIC:ASN>
3351
3352TempA
3353
3354DEFINITIONS
3355
3356AUTOMATIC TAGS
3357
3358::=
3359
3360BEGIN
3361
3362BERPDU ::= [0] SET
3363 {
3364 c INTEGER OPTIONAL,
3365 b BOOLEAN OPTIONAL
3366 }
3367
3368
3369END
3370
3371<STATIC>
3372
3373import from TempA all;
3374external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3375external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3376
3377const BERPDU myValue := {b := true,
3378 c := 5 }
3379
3380<TTCN_TC:EXEC>
3381
3382
3383
3384
3385if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
3386
3387<RESULT>
3388
3389Overall verdict: pass
3390
3391<END_TC>
3392
3393:exmp.
3394
3395.*---------------------------------------------------------------------*
3396:h3.CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT (unified)
3397.*---------------------------------------------------------------------*
3398:xmp tab=0.
3399
3400<TC - CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT (unified)>
3401
3402<STATIC:ASN>
3403
3404TempA
3405
3406DEFINITIONS
3407IMPLICIT TAGS
3408::=
3409BEGIN
3410BERPDU ::= [0] SET
3411 {
3412 b BOOLEAN OPTIONAL,
3413 c INTEGER OPTIONAL
3414 }
3415END
3416
3417<STATIC>
3418
3419import from TempA all;
3420external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3421external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3422external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3423
3424const BERPDU myValue1 := {b := true,
3425 c := 5 }
3426const BERPDU myValue2 := {
3427 c := 5,
3428 b := true }
3429<TTCN_TC:EXEC>
3430
3431if ((enc_DER_PDU(myValue1) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3432if ((enc_DER_PDU(myValue2) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3433if (dec_BER_PDU('A0060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3434if (dec_BER_PDU('A0800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3435if (dec_BER_PDU('A0060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3436if (dec_BER_PDU('A0800201050101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3437
3438<RESULT>
3439
3440Overall verdict: pass
3441
3442<END_TC>
3443
3444:exmp.
3445
3446.*---------------------------------------------------------------------*
3447:h3.CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT
3448.*---------------------------------------------------------------------*
3449:xmp tab=0.
3450
3451<TC - CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT>
3452
3453<STATIC:ASN>
3454
3455TempA
3456
3457DEFINITIONS
3458
3459IMPLICIT TAGS
3460
3461::=
3462
3463BEGIN
3464
3465BERPDU ::= [0] SET
3466 {
3467
3468 c INTEGER OPTIONAL,
3469 b BOOLEAN OPTIONAL
3470 }
3471
3472
3473END
3474
3475<STATIC>
3476
3477import from TempA all;
3478external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3479external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3480
3481const BERPDU myValue := {b := true,
3482 c := 5 }
3483
3484<TTCN_TC:EXEC>
3485
3486
3487
3488
3489if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3490
3491<RESULT>
3492
3493Overall verdict: pass
3494
3495<END_TC>
3496
3497:exmp.
3498
3499.*---------------------------------------------------------------------*
3500:h3.CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT (unified)
3501.*---------------------------------------------------------------------*
3502:xmp tab=0.
3503
3504<TC - CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT (unified)>
3505
3506<STATIC:ASN>
3507
3508TempA
3509
3510DEFINITIONS
3511EXPLICIT TAGS
3512::=
3513BEGIN
3514BERPDU ::= [0] SET
3515 {
3516 b BOOLEAN OPTIONAL,
3517 c INTEGER OPTIONAL
3518 }
3519END
3520
3521<STATIC>
3522
3523import from TempA all;
3524external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3525external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3526external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3527
3528const BERPDU myValue1 := {b := true,
3529 c := 5 }
3530const BERPDU myValue2 := {
3531 c := 5,
3532 b := true }
3533<TTCN_TC:EXEC>
3534
3535if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3536if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3537if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3538if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3539if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3540if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3541
3542<RESULT>
3543
3544Overall verdict: pass
3545
3546<END_TC>
3547
3548:exmp.
3549
3550.*---------------------------------------------------------------------*
3551:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT
3552.*---------------------------------------------------------------------*
3553:xmp tab=0.
3554
3555<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT>
3556
3557<STATIC:ASN>
3558
3559TempA
3560
3561DEFINITIONS
3562
3563EXPLICIT TAGS
3564
3565::=
3566
3567BEGIN
3568
3569BERPDU ::= [0] SET
3570 {
3571 c INTEGER OPTIONAL,
3572 b BOOLEAN OPTIONAL
3573 }
3574
3575
3576END
3577
3578<STATIC>
3579
3580import from TempA all;
3581external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3582external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3583
3584const BERPDU myValue := {b := true,
3585 c := 5 }
3586
3587<TTCN_TC:EXEC>
3588
3589
3590
3591
3592if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3593
3594<RESULT>
3595
3596Overall verdict: pass
3597
3598<END_TC>
3599
3600:exmp.
3601
3602.*---------------------------------------------------------------------*
3603:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used) (unified)
3604.*---------------------------------------------------------------------*
3605:xmp tab=0.
3606
3607<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used) (unified)>
3608
3609<STATIC:ASN>
3610
3611TempA
3612
3613DEFINITIONS ::=
3614BEGIN
3615BERPDU ::= [0] SET
3616 {
3617 b [0] BOOLEAN OPTIONAL,
3618 c [1] INTEGER OPTIONAL
3619 }
3620END
3621
3622<STATIC>
3623
3624import from TempA all;
3625external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3626external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3627external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3628
3629const BERPDU myValue1 := {b := true,
3630 c := 5 }
3631const BERPDU myValue2 := {
3632 c := 5,
3633 b := true }
3634<TTCN_TC:EXEC>
3635
3636if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3637if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3638if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3639if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3640if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3641if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3642
3643<RESULT>
3644
3645Overall verdict: pass
3646
3647<END_TC>
3648
3649:exmp.
3650
3651.*---------------------------------------------------------------------*
3652:h3.CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used)
3653.*---------------------------------------------------------------------*
3654:xmp tab=0.
3655
3656<TC - CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used)>
3657
3658<STATIC:ASN>
3659
3660TempA
3661
3662DEFINITIONS ::=
3663BEGIN
3664
3665BERPDU ::= [0] SET
3666 {
3667 b [1] BOOLEAN OPTIONAL,
3668 c [0] INTEGER OPTIONAL
3669 }
3670
3671
3672END
3673
3674<STATIC>
3675
3676import from TempA all;
3677external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3678external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3679
3680const BERPDU myValue := {b := true,
3681 c := 5 }
3682
3683<TTCN_TC:EXEC>
3684
3685
3686
3687
3688if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3689
3690<RESULT>
3691
3692Overall verdict: pass
3693
3694<END_TC>
3695
3696:exmp.
3697
3698.*---------------------------------------------------------------------*
3699:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT (unified)
3700.*---------------------------------------------------------------------*
3701:xmp tab=0.
3702
3703<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT (unified)>
3704
3705<STATIC:ASN>
3706
3707TempA
3708
3709DEFINITIONS
3710EXPLICIT TAGS
3711::=
3712BEGIN
3713BERPDU ::= [0] SET
3714 {
3715 b [0] BOOLEAN OPTIONAL,
3716 c [1] INTEGER OPTIONAL
3717 }
3718END
3719
3720<STATIC>
3721
3722import from TempA all;
3723external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3724external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3725external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3726
3727const BERPDU myValue1 := {b := true,
3728 c := 5 }
3729const BERPDU myValue2 := {
3730 c := 5,
3731 b := true }
3732<TTCN_TC:EXEC>
3733
3734if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3735if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3736if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3737if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3738if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3739if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3740
3741<RESULT>
3742
3743Overall verdict: pass
3744
3745<END_TC>
3746
3747:exmp.
3748
3749.*---------------------------------------------------------------------*
3750:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT
3751.*---------------------------------------------------------------------*
3752:xmp tab=0.
3753
3754<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT>
3755
3756<STATIC:ASN>
3757
3758TempA
3759
3760DEFINITIONS
3761
3762EXPLICIT TAGS
3763
3764::=
3765
3766BEGIN
3767
3768BERPDU ::= [0] SET
3769 {
3770 b [1] BOOLEAN OPTIONAL,
3771 c [0] INTEGER OPTIONAL
3772 }
3773
3774
3775END
3776
3777<STATIC>
3778
3779import from TempA all;
3780external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3781external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3782
3783const BERPDU myValue := {b := true,
3784 c := 5 }
3785
3786<TTCN_TC:EXEC>
3787
3788
3789
3790
3791if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3792
3793<RESULT>
3794
3795Overall verdict: pass
3796
3797<END_TC>
3798
3799:exmp.
3800
3801.*---------------------------------------------------------------------*
3802:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT (unified)
3803.*---------------------------------------------------------------------*
3804:xmp tab=0.
3805
3806<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT (unified)>
3807
3808<STATIC:ASN>
3809
3810TempA
3811
3812DEFINITIONS
3813IMPLICIT TAGS
3814::=
3815BEGIN
3816BERPDU ::= [0] SET
3817 {
3818 b [0] BOOLEAN OPTIONAL,
3819 c [1] INTEGER OPTIONAL
3820 }
3821END
3822
3823<STATIC>
3824
3825import from TempA all;
3826external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3827external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3828external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3829
3830const BERPDU myValue1 := {b := true,
3831 c := 5 }
3832const BERPDU myValue2 := {
3833 c := 5,
3834 b := true }
3835<TTCN_TC:EXEC>
3836
3837if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3838if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3839if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3840if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3841if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3842if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3843
3844<RESULT>
3845
3846Overall verdict: pass
3847
3848<END_TC>
3849
3850:exmp.
3851
3852.*---------------------------------------------------------------------*
3853:h3.CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT
3854.*---------------------------------------------------------------------*
3855:xmp tab=0.
3856
3857<TC - CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT>
3858
3859<STATIC:ASN>
3860
3861TempA
3862
3863DEFINITIONS
3864
3865IMPLICIT TAGS
3866
3867::=
3868
3869BEGIN
3870
3871BERPDU ::= [0] SET
3872 {
3873
3874 c [1] INTEGER OPTIONAL,
3875 b [0] BOOLEAN OPTIONAL
3876 }
3877
3878
3879END
3880
3881<STATIC>
3882
3883import from TempA all;
3884external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3885external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3886
3887const BERPDU myValue := {b := true,
3888 c := 5 }
3889
3890<TTCN_TC:EXEC>
3891
3892
3893
3894
3895if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3896
3897<RESULT>
3898
3899Overall verdict: pass
3900
3901<END_TC>
3902
3903:exmp.
3904
3905.*---------------------------------------------------------------------*
3906:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT (unified)
3907.*---------------------------------------------------------------------*
3908:xmp tab=0.
3909
3910<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT (unified)>
3911
3912<STATIC:ASN>
3913
3914TempA
3915
3916DEFINITIONS
3917AUTOMATIC TAGS
3918::=
3919BEGIN
3920BERPDU ::= [0] SET
3921 {
3922 b [0] BOOLEAN OPTIONAL,
3923 c [1] INTEGER OPTIONAL
3924 }
3925END
3926
3927<STATIC>
3928
3929import from TempA all;
3930external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3931external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3932external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3933
3934const BERPDU myValue1 := {b := true,
3935 c := 5 }
3936const BERPDU myValue2 := {
3937 c := 5,
3938 b := true}
3939<TTCN_TC:EXEC>
3940
3941if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3942if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3943if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3944if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3945if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3946if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3947
3948<RESULT>
3949
3950Overall verdict: pass
3951
3952<END_TC>
3953
3954:exmp.
3955
3956.*---------------------------------------------------------------------*
3957:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT
3958.*---------------------------------------------------------------------*
3959:xmp tab=0.
3960
3961<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT>
3962
3963<STATIC:ASN>
3964
3965TempA
3966
3967DEFINITIONS
3968
3969AUTOMATIC TAGS
3970
3971::=
3972
3973BEGIN
3974
3975BERPDU ::= [0] SET
3976 {
3977
3978 c [0] INTEGER OPTIONAL,
3979 b [1] BOOLEAN OPTIONAL
3980 }
3981
3982
3983END
3984
3985<STATIC>
3986
3987import from TempA all;
3988external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3989external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3990
3991const BERPDU myValue := {b := true,
3992 c := 5 }
3993
3994<TTCN_TC:EXEC>
3995
3996
3997
3998
3999if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4000
4001
4002<RESULT>
4003
4004Overall verdict: pass
4005
4006<END_TC>
4007
4008:exmp.
4009
4010.*---------------------------------------------------------------------*
4011:h3.CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT (unified)
4012.*---------------------------------------------------------------------*
4013:xmp tab=0.
4014
4015<TC - CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT (unified)>
4016
4017<STATIC:ASN>
4018
4019TempA
4020
4021DEFINITIONS
4022AUTOMATIC TAGS
4023::=
4024BEGIN
4025BERPDU ::= SET
4026 {
4027 b [5] BOOLEAN OPTIONAL,
4028 c INTEGER OPTIONAL
4029 }
4030END
4031
4032<STATIC>
4033
4034import from TempA all;
4035external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4036external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4037external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4038
4039const BERPDU myValue1 := {b := true,
4040 c := 5 }
4041const BERPDU myValue2 := { c := 5 ,
4042 b := true }
4043<TTCN_TC:EXEC>
4044
4045if ((enc_DER_PDU(myValue1) == '31060201058501FF'O)and(enc_CER_PDU(myValue1) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4046if ((enc_DER_PDU(myValue2) == '31060201058501FF'O)and(enc_CER_PDU(myValue2) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4047if (dec_BER_PDU('31060201058501FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4048if (dec_BER_PDU('31800201058501FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4049if (dec_BER_PDU('31068501FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4050if (dec_BER_PDU('31808501FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4051
4052<RESULT>
4053
4054Overall verdict: pass
4055
4056<END_TC>
4057
4058:exmp.
4059
4060.*---------------------------------------------------------------------*
4061:h3.CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags (unified)
4062.*---------------------------------------------------------------------*
4063:xmp tab=0.
4064
4065<TC - CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags (unified)>
4066
4067<STATIC:ASN>
4068
4069TempA
4070
4071DEFINITIONS
4072AUTOMATIC TAGS
4073::=
4074BEGIN
4075MySeq ::= SET
4076 {x INTEGER OPTIONAL,
4077 y OCTET STRING}
4078BERPDU ::= SET
4079 {
4080 b BOOLEAN OPTIONAL,
4081 c INTEGER OPTIONAL,
4082 COMPONENTS OF MySeq
4083 }
4084END
4085
4086<STATIC>
4087
4088import from TempA all;
4089external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4090external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4091external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4092
4093const BERPDU myValue := {b := true,
4094 c := 5 ,
4095 x := 6,
4096 y := 'FF'O }
4097
4098<TTCN_TC:EXEC>
4099
4100if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4101if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4102if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4103if (dec_BER_PDU('310C8001FF8201068101058301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4104if (dec_BER_PDU('31808001FF8201068101058301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4105
4106<RESULT>
4107
4108Overall verdict: pass
4109
4110<END_TC>
4111
4112:exmp.
4113
4114.*---------------------------------------------------------------------*
4115:h3. encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags
4116.*---------------------------------------------------------------------*
4117:xmp tab=0.
4118
4119<TC - encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags>
4120
4121<STATIC:ASN>
4122
4123TempA
4124
4125DEFINITIONS
4126
4127AUTOMATIC TAGS
4128
4129
4130::=
4131
4132BEGIN
4133
4134MySeq ::= SET
4135 {y OCTET STRING,
4136
4137 x INTEGER OPTIONAL
4138 }
4139
4140
4141
4142BERPDU ::= SET
4143 {
4144 b BOOLEAN OPTIONAL,
4145 c INTEGER OPTIONAL,
4146 COMPONENTS OF MySeq
4147 }
4148
4149
4150END
4151
4152<STATIC>
4153
4154import from TempA all;
4155external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4156external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4157
4158const BERPDU myValue := {b := true,
4159 c := 5 ,
4160 x := 6,
4161 y := 'FF'O }
4162
4163<TTCN_TC:EXEC>
4164
4165
4166
4167
4168if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4169
4170<RESULT>
4171
4172Overall verdict: pass
4173
4174<END_TC>
4175
4176:exmp.
4177
4178.*---------------------------------------------------------------------*
4179:h3.CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)
4180.*---------------------------------------------------------------------*
4181:xmp tab=0.
4182
4183<TC - CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)>
4184
4185<STATIC:ASN>
4186
4187TempA
4188
4189DEFINITIONS
4190AUTOMATIC TAGS
4191::=
4192BEGIN
4193MySeq ::= SET
4194 {x [0] INTEGER OPTIONAL,
4195 y OCTET STRING}
4196BERPDU ::= SET
4197 {
4198 b BOOLEAN OPTIONAL,
4199 c INTEGER OPTIONAL,
4200 COMPONENTS OF MySeq
4201 }
4202END
4203
4204<STATIC>
4205
4206import from TempA all;
4207external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4208external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4209external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4210
4211const BERPDU myValue := {b := true,
4212 c := 5 ,
4213 x := 6,
4214 y := 'FF'O }
4215
4216<TTCN_TC:EXEC>
4217
4218if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4219if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4220if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4221if (dec_BER_PDU('310C8301FF8001FF820106810105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4222if (dec_BER_PDU('31808301FF8101058201068001FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4223
4224<RESULT>
4225
4226Overall verdict: pass
4227
4228<END_TC>
4229
4230:exmp.
4231
4232.*---------------------------------------------------------------------*
4233:h3.CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
4234.*---------------------------------------------------------------------*
4235:xmp tab=0.
4236
4237<TC - CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS>
4238
4239<STATIC:ASN>
4240
4241TempA
4242
4243DEFINITIONS
4244
4245AUTOMATIC TAGS
4246
4247::=
4248
4249BEGIN
4250
4251MySeq ::= SET
4252 {y OCTET STRING,
4253 x [0] INTEGER OPTIONAL
4254 }
4255
4256
4257
4258BERPDU ::= SET
4259 {
4260 b BOOLEAN OPTIONAL,
4261 c INTEGER OPTIONAL,
4262 COMPONENTS OF MySeq
4263 }
4264
4265
4266END
4267
4268<STATIC>
4269
4270import from TempA all;
4271external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4272external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4273
4274const BERPDU myValue := {b := true,
4275 c := 5 ,
4276 x := 6,
4277 y := 'FF'O }
4278
4279<TTCN_TC:EXEC>
4280
4281
4282
4283
4284if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4285
4286<RESULT>
4287
4288Overall verdict: pass
4289
4290<END_TC>
4291
4292:exmp.
4293
4294.*---------------------------------------------------------------------*
4295:h3.CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)
4296.*---------------------------------------------------------------------*
4297:xmp tab=0.
4298
4299<TC - CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)>
4300
4301<STATIC:ASN>
4302
4303TempA
4304
4305DEFINITIONS
4306AUTOMATIC TAGS
4307::=
4308BEGIN
4309MySeq ::= SET
4310 {x INTEGER OPTIONAL,
4311 y OCTET STRING}
4312BERPDU ::= SET
4313 {
4314 b [0] BOOLEAN OPTIONAL,
4315 c BIT STRING OPTIONAL,
4316 COMPONENTS OF MySeq
4317 }
4318END
4319
4320<STATIC>
4321
4322import from TempA all;
4323external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4324external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4325external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4326
4327const BERPDU myValue1 := {b := true,
4328 c := '1'B ,
4329 x := 6,
4330 y := 'FF'O }
4331
4332<TTCN_TC:EXEC>
4333
4334if ((enc_DER_PDU(myValue1) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue1) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4335if (dec_BER_PDU('310D020106030207800401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4336if (dec_BER_PDU('3180020106030207800401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4337if (dec_BER_PDU('310D030207800201060401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4338if (dec_BER_PDU('3180030207800201060401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4339
4340<RESULT>
4341
4342Overall verdict: pass
4343
4344<END_TC>
4345
4346:exmp.
4347
4348.*---------------------------------------------------------------------*
4349:h3.CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
4350.*---------------------------------------------------------------------*
4351:xmp tab=0.
4352
4353<TC - CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS>
4354
4355<STATIC:ASN>
4356
4357TempA
4358
4359DEFINITIONS
4360
4361AUTOMATIC TAGS
4362
4363::=
4364
4365BEGIN
4366
4367
4368MySeq ::= SET
4369 {y OCTET STRING,
4370 x INTEGER OPTIONAL
4371 }
4372
4373
4374
4375BERPDU ::= SET
4376 {
4377 b [0] BOOLEAN OPTIONAL,
4378 c BIT STRING OPTIONAL,
4379 COMPONENTS OF MySeq
4380 }
4381
4382
4383END
4384
4385<STATIC>
4386
4387import from TempA all;
4388external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4389external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4390external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4391
4392const BERPDU myValue := {b := true,
4393 c := '1'B ,
4394 x := 6,
4395 y := 'FF'O }
4396
4397<TTCN_TC:EXEC>
4398
4399
4400
4401
4402if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4403
4404<RESULT>
4405
4406Overall verdict: pass
4407
4408<END_TC>
4409
4410:exmp.
4411
4412.*---------------------------------------------------------------------*
4413:h3.CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)
4414.*---------------------------------------------------------------------*
4415:xmp tab=0.
4416
4417<TC - CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)>
4418
4419<STATIC:ASN>
4420
4421TempA
4422DEFINITIONS
4423AUTOMATIC TAGS
4424::=
4425BEGIN
4426MySeq ::= SET
4427 {x [1] INTEGER OPTIONAL,
4428 y OCTET STRING}
4429BERPDU ::= SET
4430 {
4431 b [0] BOOLEAN OPTIONAL,
4432 c BIT STRING OPTIONAL,
4433 COMPONENTS OF MySeq
4434 }
4435END
4436
4437<STATIC>
4438
4439import from TempA all;
4440external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4441external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4442external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4443
4444const BERPDU myValue1 := {b := true,
4445 c := '1'B ,
4446 x := 6,
4447 y := 'FF'O }
4448
4449<TTCN_TC:EXEC>
4450
4451if ((enc_DER_PDU(myValue1) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue1) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4452if (dec_BER_PDU('310D030207800401FF8001FF810106'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4453if (dec_BER_PDU('3180030207800401FF8001FF8101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4454if (dec_BER_PDU('310D8101060401FF8001FF03020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4455if (dec_BER_PDU('31808001FF0401FF030207808101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4456
4457<RESULT>
4458
4459Overall verdict: pass
4460
4461<END_TC>
4462
4463:exmp.
4464
4465.*---------------------------------------------------------------------*
4466:h3.CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
4467.*---------------------------------------------------------------------*
4468:xmp tab=0.
4469
4470<TC - CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS>
4471
4472<STATIC:ASN>
4473
4474TempA
4475
4476DEFINITIONS
4477
4478AUTOMATIC TAGS
4479
4480::=
4481
4482BEGIN
4483
4484MySeq ::= SET
4485 { y OCTET STRING,
4486 x [1] INTEGER OPTIONAL
4487 }
4488
4489
4490
4491BERPDU ::= SET
4492 {
4493 b [0] BOOLEAN OPTIONAL,
4494 c BIT STRING OPTIONAL,
4495 COMPONENTS OF MySeq
4496 }
4497
4498
4499
4500END
4501
4502<STATIC>
4503
4504import from TempA all;
4505external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4506external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4507
4508const BERPDU myValue := {b := true,
4509 c := '1'B ,
4510 x := 6,
4511 y := 'FF'O }
4512
4513<TTCN_TC:EXEC>
4514
4515
4516
4517
4518if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4519
4520<RESULT>
4521
4522Overall verdict: pass
4523
4524<END_TC>
4525
4526:exmp.
4527
4528.*---------------------------------------------------------------------*
4529:h3.CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS (unified)
4530.*---------------------------------------------------------------------*
4531:xmp tab=0.
4532
4533<TC - CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS (unified)>
4534
4535<STATIC:ASN>
4536
4537TempA
4538
4539DEFINITIONS
4540AUTOMATIC TAGS
4541::=
4542BEGIN
4543BERPDU ::= SET
4544 {
4545 b CHOICE {
4546 x BOOLEAN,
4547 y OCTET STRING
4548 }
4549 OPTIONAL,
4550 c INTEGER OPTIONAL
4551 }
4552END
4553
4554<STATIC>
4555
4556import from TempA all;
4557external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4558external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4559external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4560
4561const BERPDU myValue1 := {b := {x := true},
4562 c := 4}
4563const BERPDU myValue2 := { c := 4,
4564 b := {x := true} }
4565<TTCN_TC:EXEC>
4566
4567if ((enc_DER_PDU(myValue1) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue1) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4568if ((enc_DER_PDU(myValue2) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue2) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4569if (dec_BER_PDU('3108A0038001FF810104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4570if (dec_BER_PDU('3180A0808001FF00008101040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4571if (dec_BER_PDU('3108810104A0038001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4572if (dec_BER_PDU('3180810104A0808001FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4573
4574<RESULT>
4575
4576Overall verdict: pass
4577
4578<END_TC>
4579
4580:exmp.
4581
4582.*---------------------------------------------------------------------*
4583:h3. encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS
4584.*---------------------------------------------------------------------*
4585:xmp tab=0.
4586
4587<TC - encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS>
4588
4589<STATIC:ASN>
4590
4591TempA
4592
4593DEFINITIONS
4594
4595AUTOMATIC TAGS
4596
4597::=
4598
4599BEGIN
4600
4601
4602
4603
4604BERPDU ::= SET
4605 {
4606
4607
4608 c INTEGER OPTIONAL,
4609 b CHOICE {
4610 x BOOLEAN,
4611 y OCTET STRING
4612 }
4613 OPTIONAL
4614
4615 }
4616
4617
4618
4619END
4620
4621<STATIC>
4622
4623import from TempA all;
4624external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4625external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4626
4627const BERPDU myValue := {
4628 c := 4,
4629 b := {x := true} }
4630<TTCN_TC:EXEC>
4631
4632
4633
4634
4635if ((enc_DER_PDU(myValue) == '3108800104A1038001FF'O)and(enc_CER_PDU(myValue) == '3180800104A1808001FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4636
4637<RESULT>
4638
4639Overall verdict: pass
4640
4641<END_TC>
4642
4643:exmp.
4644
4645.*---------------------------------------------------------------------*
4646:h3.CER + DER encoding of SET with CHOICE element, (unified)
4647.*---------------------------------------------------------------------*
4648:xmp tab=0.
4649
4650<TC - CER + DER encoding of SET with CHOICE element, (unified)>
4651
4652<STATIC:ASN>
4653
4654TempA
4655
4656DEFINITIONS
4657::=
4658BEGIN
4659BERPDU ::= SET
4660 {
4661 b CHOICE {
4662 x BOOLEAN,
4663 y OCTET STRING
4664 }
4665 OPTIONAL,
4666 c INTEGER OPTIONAL
4667 }
4668END
4669
4670<STATIC>
4671
4672import from TempA all;
4673external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4674external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4675external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4676
4677const BERPDU myValue1 := {b := {x := true},
4678 c := 4}
4679const BERPDU myValue2 := {c := 4 ,
4680 b := {x := true}}
4681const BERPDU myValue3 := {b := {y := 'FF'O},
4682 c := 4}
4683<TTCN_TC:EXEC>
4684
4685if ((enc_DER_PDU(myValue1) == '31060101FF020104'O)and(enc_CER_PDU(myValue1) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4686if ((enc_DER_PDU(myValue2) == '31060101FF020104'O)and(enc_CER_PDU(myValue2) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4687if ((enc_DER_PDU(myValue3) == '31060201040401FF'O)and(enc_CER_PDU(myValue3) == '31800401FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4688if (dec_BER_PDU('31060101FF020104'O) == myValue1) {setverdict(pass);} else {setverdict(fail);}
4689if (dec_BER_PDU('31800101FF0201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4690if (dec_BER_PDU('31060201040101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4691if (dec_BER_PDU('31800201040101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4692if (dec_BER_PDU('31060201040401FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4693if (dec_BER_PDU('31800401FF0201040000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4694if (dec_BER_PDU('31060401FF020104'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4695if (dec_BER_PDU('31800201040401FF0000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4696
4697<RESULT>
4698
4699Overall verdict: pass
4700
4701<END_TC>
4702
4703:exmp.
4704
4705.*---------------------------------------------------------------------*
4706:h3.CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS (unified)
4707.*---------------------------------------------------------------------*
4708:xmp tab=0.
4709
4710<TC - CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS (unified)>
4711
4712<STATIC:ASN>
4713
4714TempA
4715
4716DEFINITIONS
4717AUTOMATIC TAGS
4718::=
4719BEGIN
4720BERPDU ::= SET
4721 {
4722 a OCTET STRING,
4723 b BOOLEAN,
4724 c INTEGER OPTIONAL,
4725 ...,
4726 d BIT STRING
4727 }
4728END
4729
4730<STATIC>
4731
4732import from TempA all;
4733external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4734external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4735external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4736
4737const BERPDU myValue1 := {
4738 a := 'FF'O,
4739 b := true,
4740 d := '1'B,
4741 c := 4
4742 }
4743const BERPDU myValue2 := {
4744 a := 'FF'O,
4745 d := '1'B,
4746 b := true,
4747 c := 4
4748 }
4749<TTCN_TC:EXEC>
4750
4751if ((enc_DER_PDU(myValue1) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue1) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4752if ((enc_DER_PDU(myValue2) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue2) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4753if (dec_BER_PDU('310D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4754if (dec_BER_PDU('31808001FF8101FF820104830207800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4755if (dec_BER_PDU('310D8001FF830207808101FF820104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4756if (dec_BER_PDU('31808001FF830207808101FF8201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4757if (dec_BER_PDU('318300000D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4758if (dec_BER_PDU('318300000D8101FF820104830207808001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4759
4760<RESULT>
4761
4762Overall verdict: pass
4763
4764<END_TC>
4765
4766:exmp.
4767
4768.*---------------------------------------------------------------------*
4769:h3.CER + DER encoding of SET (EMPTY)
4770.*---------------------------------------------------------------------*
4771:xmp tab=0.
4772
4773<TC - CER + DER encoding of SET (EMPTY)>
4774
4775<STATIC:ASN>
4776
4777TempA
4778
4779DEFINITIONS ::=
4780BEGIN
4781
4782BERPDU ::= SET
4783 {
4784 a NULL,
4785 b BOOLEAN,
4786 c INTEGER,
4787 d ENUMERATED {first ,second ,third},
4788 e REAL,
4789 f BIT STRING,
4790 g OCTET STRING,
4791
4792 h OBJECT IDENTIFIER,
4793 i IA5String,
4794 j CHOICE {x1 [1] BOOLEAN,
4795 y1 [2] OCTET STRING},
4796
4797 k SEQUENCE{x2 NULL,
4798 y2 BOOLEAN},
4799
4800 l SET { x3 BIT STRING,
4801 y3 REAL},
4802
4803 m [3] SEQUENCE OF INTEGER,
4804 n [4] SET OF BOOLEAN
4805 }
4806
4807myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4808
4809
4810END
4811
4812<STATIC>
4813
4814import from TempA all;
4815external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4816external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4817
4818const BERPDU myValue := {a := NULL,
4819 b := true,
4820 c := 2,
4821 d := first,
4822 e := 1.0,
4823 f := '1'B,
4824 g := 'FFFF'O,
4825 h := myOBJID,
4826 i := "ABC",
4827 j := {x1 := true } ,
4828 k := {x2 := NULL,
4829
4830 y2 := true } ,
4831 l := {y3 := 1.0 ,
4832
4833 x3 := '1'B } ,
4834 m :=
4835 { 1 ,2 } ,
4836 n :=
4837 { true, true }
4838 }
4839
4840
4841
4842<TTCN_TC:EXEC>
4843
4844
4845
4846
4847if ((enc_DER_PDU(myValue) == '31530101FF020102030207800402FFFF05000603000203090603312E452B300A0100300505000101FF310C03020780090603312E452B301603414243A1030101FFA3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '31800101FF020102030207800402FFFF05000603000203090603312E452B300A0100308005000101FF0000318003020780090603312E452B3000001603414243A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
4848
4849<RESULT>
4850
4851Overall verdict: pass
4852
4853<END_TC>
4854
4855:exmp.
4856
4857.*---------------------------------------------------------------------*
4858:h3.CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS (unified)
4859.*---------------------------------------------------------------------*
4860:xmp tab=0.
4861
4862<TC - CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS (unified)>
4863
4864<STATIC:ASN>
4865
4866TempA
4867
4868DEFINITIONS
4869AUTOMATIC TAGS
4870::=
4871BEGIN
4872BERPDU ::= SET
4873 {
4874 a NULL,
4875 b BOOLEAN,
4876 c INTEGER,
4877 d ENUMERATED {first ,second ,third},
4878 e REAL,
4879 f BIT STRING,
4880 g OCTET STRING,
4881 h OBJECT IDENTIFIER,
4882 i IA5String,
4883 j CHOICE {x1 BOOLEAN,
4884 y1 OCTET STRING},
4885 k SEQUENCE{x2 NULL,
4886 y2 BOOLEAN},
4887 l SET { x3 BIT STRING,
4888 y3 REAL},
4889 m SEQUENCE OF INTEGER,
4890 n SET OF BOOLEAN
4891 }
4892myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4893END
4894
4895<STATIC>
4896
4897import from TempA all;
4898external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4899external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4900
4901const BERPDU myValue1 := {a := NULL,
4902 b := true,
4903 c := 2,
4904 d := first,
4905 e := 1.0,
4906 f := '1'B,
4907 g := 'FFFF'O,
4908 h := myOBJID,
4909 i := "ABC",
4910 j := {x1 := true } ,
4911 k := {x2 := NULL,
4912 y2 := true } ,
4913 l := {y3 := 1.0 ,
4914 x3 := '1'B } ,
4915 m :=
4916 { 1 ,2 } ,
4917 n :=
4918 { true, true }
4919 }
4920const BERPDU myValue2 := {a := NULL,
4921 c := 2,
4922 d := first,
4923 e := 1.0,
4924 b := true,
4925 f := '1'B,
4926 g := 'FFFF'O,
4927 i := "ABC",
4928 j := {x1 := true } ,
4929 k := {x2 := NULL,
4930 y2 := true } ,
4931 l := {y3 := 1.0 ,
4932 x3 := '1'B } ,
4933 h := myOBJID,
4934 m :=
4935 { 1 ,2 } ,
4936 n :=
4937 { true, true }
4938 }
4939
4940<TTCN_TC:EXEC>
4941
4942if ((enc_DER_PDU(myValue1) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4943 and(enc_CER_PDU(myValue1) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4944if ((enc_DER_PDU(myValue2) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4945 and(enc_CER_PDU(myValue2) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4946
4947<RESULT>
4948
4949Overall verdict: pass
4950
4951<END_TC>
4952
4953:exmp.
4954
4955.*---------------------------------------------------------------------*
4956:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING (unified)
4957.*---------------------------------------------------------------------*
4958:xmp tab=0.
4959
4960<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING (unified)>
4961
4962<STATIC:ASN>
4963
4964TempA
4965DEFINITIONS
4966IMPLICIT TAGS
4967::=
4968BEGIN
4969BERPDU ::= SET
4970 {
4971 d [PRIVATE 0] INTEGER OPTIONAL,
4972 a INTEGER OPTIONAL,
4973 b [APPLICATION 0] INTEGER OPTIONAL,
4974 c [0] INTEGER OPTIONAL
4975 }
4976END
4977
4978<STATIC>
4979
4980import from TempA all;
4981external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4982external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4983external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4984
4985const BERPDU myValue1 := {
4986 a := 1,
4987 c := 3,
4988 d := 4,
4989 b := 2 }
4990
4991<TTCN_TC:EXEC>
4992
4993if ((enc_DER_PDU(myValue1) == '310C020101400102800103C00104'O)and(enc_CER_PDU(myValue1) == '3180020101400102800103C001040000'O)) {setverdict(pass);} else {setverdict(fail);}
4994if (dec_BER_PDU('310C020101400102800103C00104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4995if (dec_BER_PDU('3180020101400102800103C001040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4996
4997<RESULT>
4998
4999Overall verdict: pass
5000
5001<END_TC>
5002
5003:exmp.
5004
5005.*---------------------------------------------------------------------*
5006:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) (unified)
5007.*---------------------------------------------------------------------*
5008:xmp tab=0.
5009
5010<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) (unified)>
5011
5012<STATIC:ASN>
5013
5014TempA
5015DEFINITIONS
5016::=
5017BEGIN
5018BERPDU ::= SET
5019 {
5020 d [PRIVATE 0] INTEGER OPTIONAL,
5021 a INTEGER OPTIONAL,
5022 b [APPLICATION 0] INTEGER OPTIONAL,
5023 c [0] INTEGER OPTIONAL
5024 }
5025END
5026
5027<STATIC>
5028
5029import from TempA all;
5030external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5031external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5032external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5033
5034const BERPDU myValue1 := {
5035 a := 1,
5036 c := 3,
5037 d := 4,
5038 b := 2 }
5039
5040<TTCN_TC:EXEC>
5041if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5042if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5043if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5044
5045<RESULT>
5046
5047Overall verdict: pass
5048
5049<END_TC>
5050
5051:exmp.
5052
5053.*---------------------------------------------------------------------*
5054:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING (unified)
5055.*---------------------------------------------------------------------*
5056:xmp tab=0.
5057
5058<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING (unified)>
5059
5060<STATIC:ASN>
5061
5062TempA
5063DEFINITIONS
5064EXPLICIT TAGS
5065::=
5066BEGIN
5067BERPDU ::= SET
5068 {
5069 d [PRIVATE 0] INTEGER OPTIONAL,
5070 a INTEGER OPTIONAL,
5071 b [APPLICATION 0] INTEGER OPTIONAL,
5072 c [0] INTEGER OPTIONAL
5073 }
5074END
5075
5076<STATIC>
5077
5078import from TempA all;
5079external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5080external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5081external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5082
5083const BERPDU myValue1 := {
5084 a := 1,
5085 c := 3,
5086 d := 4,
5087 b := 2 }
5088
5089<TTCN_TC:EXEC>
5090if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5091if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5092if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5093
5094<RESULT>
5095
5096Overall verdict: pass
5097
5098<END_TC>
5099
5100:exmp.
5101
5102.*---------------------------------------------------------------------*
5103:h3.CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS (unified)
5104.*---------------------------------------------------------------------*
5105:xmp tab=0.
5106
5107<TC - CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS (unified)>
5108
5109<STATIC:ASN>
5110
5111TempA
5112DEFINITIONS
5113IMPLICIT TAGS
5114::=
5115BEGIN
5116BERPDU ::= SET
5117 {
5118 a [3] INTEGER,
5119 b [1] CHOICE
5120 {
5121 c [2] INTEGER,
5122 d [4] INTEGER
5123 },
5124 e CHOICE
5125 {
5126 f CHOICE
5127 {
5128 g [5] INTEGER,
5129 h [6] INTEGER
5130 },
5131 i CHOICE
5132 {
5133 j [0] INTEGER
5134 }
5135 }
5136 }
5137END
5138
5139<STATIC>
5140
5141import from TempA all;
5142external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5143external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5144external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5145
5146const BERPDU myValue1 := {
5147 a := 1,
5148 b := {c:= 2},
5149 e := { f := {g := 3 } }
5150 }
5151
5152<TTCN_TC:EXEC>
5153if ((enc_DER_PDU(myValue1) == '310BA103820102830101850103'O)and(enc_CER_PDU(myValue1) == '3180850103A18082010200008301010000'O)) {setverdict(pass);} else {setverdict(fail);}
5154if (dec_BER_PDU('310BA103820102830101850103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5155if (dec_BER_PDU('3180850103A18082010200008301010000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5156
5157<RESULT>
5158
5159Overall verdict: pass
5160
5161<END_TC>
5162
5163:exmp.
5164
5165.*---------------------------------------------------------------------*
5166:h3.CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS (unified)
5167.*---------------------------------------------------------------------*
5168:xmp tab=0.
5169
5170<TC - CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS (unified)>
5171
5172<STATIC:ASN>
5173
5174TempA
5175DEFINITIONS
5176EXPLICIT TAGS
5177::=
5178BEGIN
5179BERPDU ::= SET
5180 {
5181 a [3] INTEGER,
5182 b [1] CHOICE
5183 {
5184 c [2] INTEGER,
5185 d [4] INTEGER
5186 },
5187 e CHOICE
5188 {
5189 f CHOICE
5190 {
5191 g [5] INTEGER,
5192 h [6] INTEGER
5193 },
5194 i CHOICE
5195 {
5196 j [0] INTEGER
5197 }
5198 }
5199 }
5200END
5201
5202<STATIC>
5203
5204import from TempA all;
5205external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5206external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5207external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5208
5209const BERPDU myValue1 := {
5210 a := 1,
5211 b := {c:= 2},
5212 e := { f := { g := 3 } }
5213 }
5214
5215<TTCN_TC:EXEC>
5216
5217if ((enc_DER_PDU(myValue1) == '3111A105A203020102A303020101A503020103'O)and(enc_CER_PDU(myValue1) == '3180A5800201030000A180A28002010200000000A38002010100000000'O)) {setverdict(pass);} else {setverdict(fail);}
5218if (dec_BER_PDU('3111A105A203020102A303020101A503020103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5219if (dec_BER_PDU('3180A5800201030000A180A28002010200000000A38002010100000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5220
5221<RESULT>
5222
5223Overall verdict: pass
5224
5225<END_TC>
5226
5227:exmp.
5228
5229.*---------------------------------------------------------------------*
5230:h3. DECODING , different order, SET (both elements are used)
5231.*---------------------------------------------------------------------*
5232:xmp tab=0.
5233
5234<TC - DECODING , different order, SET (both elements are used)>
5235
5236<STATIC:ASN>
5237
5238TempA
5239
5240DEFINITIONS ::=
5241BEGIN
5242BERPDU ::= SET
5243 {
5244
5245 c INTEGER OPTIONAL,
5246 b BOOLEAN OPTIONAL
5247 }
5248
5249
5250END
5251
5252<STATIC>
5253
5254import from TempA all;
5255
5256external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5257
5258
5259const BERPDU myValue := {
5260 c := 5,
5261 b := true }
5262
5263
5264<TTCN_TC:EXEC>
5265
5266if (dec_BER_PDU('31800201050101FF0000'O) == myValue)
5267
5268
5269
5270{setverdict(pass);} else {setverdict(fail);}
5271
5272
5273<RESULT>
5274
5275Overall verdict: pass
5276
5277<END_TC>
5278
5279:exmp.
5280
5281.*---------------------------------------------------------------------*
5282:h3. DECODING , DER, SET with fields of different types , (unified)
5283.*---------------------------------------------------------------------*
5284:xmp tab=0.
5285
5286<TC - DECODING , DER, SET with fields of different types ,(unified)>
5287
5288<STATIC:ASN>
5289
5290TempA
5291DEFINITIONS
5292::=
5293BEGIN
5294BERPDU ::= SET
5295 {
5296 a NULL,
5297 b BOOLEAN,
5298 c INTEGER,
5299 d ENUMERATED {first ,second ,third},
5300 --e REAL,
5301 f BIT STRING,
5302 g OCTET STRING,
5303 h OBJECT IDENTIFIER,
5304 i IA5String,
5305 j CHOICE {x1 [1] BOOLEAN,
5306 y1 [2] OCTET STRING},
5307 k SEQUENCE{x2 NULL,
5308 y2 BOOLEAN},
5309 l SET { x3 BIT STRING,
5310 y3 NULL},
5311 m [3] SEQUENCE OF INTEGER,
5312 n [4] SET OF BOOLEAN
5313 }
5314myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5315END
5316
5317<STATIC>
5318
5319import from TempA all;
5320
5321external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5322
5323const BERPDU myValue := {a := NULL,
5324 b := true,
5325 c := 2,
5326 d := first,
5327 // e := 1.0,
5328 f := '1'B,
5329 g := 'FFFF'O,
5330 h := myOBJID,
5331 i := "ABC",
5332 j := {x1 := true } ,
5333 k := {x2 := NULL,
5334 y2 := true } ,
5335 l := {y3 := NULL ,
5336 x3 := '1'B } ,
5337 m :=
5338 { 1 ,2 } ,
5339 n :=
5340 { true, true }
5341 }
5342
5343<TTCN_TC:EXEC>
5344
5345if (dec_BER_PDU('31450101FF020102030207800402FFFF050006030002030A01001603414243300505000101FF3106030207800500A1030101FFA3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5346if (dec_BER_PDU('31800101FF020102030207800402FFFF050006030002030A01001603414243308005000101FF000031800302078005000000A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5347if (dec_BER_PDU('31450101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF0500'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5348if (dec_BER_PDU('31800101FF0201020A0100030207800402FFFF050006030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5349
5350<RESULT>
5351
5352Overall verdict: pass
5353
5354<END_TC>
5355
5356:exmp.
5357
5358.*---------------------------------------------------------------------*
5359:h3. DECODING , DER, SET with fields of different types , AUTOMATIC TAGS (unified)
5360.*---------------------------------------------------------------------*
5361:xmp tab=0.
5362
5363<TC - DECODING , DER, SET with fields of different types , AUTOMATIC TAGS (unified)>
5364
5365<STATIC:ASN>
5366
5367TempA
5368DEFINITIONS
5369AUTOMATIC TAGS
5370::=
5371BEGIN
5372BERPDU ::= SET
5373 {
5374 a NULL,
5375 b BOOLEAN,
5376 c INTEGER,
5377 d ENUMERATED {first ,second ,third},
5378 e NULL,
5379 f BIT STRING,
5380 g OCTET STRING,
5381 h OBJECT IDENTIFIER,
5382 i IA5String,
5383 j CHOICE {x1 BOOLEAN,
5384 y1 OCTET STRING},
5385 k SEQUENCE{x2 NULL,
5386 y2 BOOLEAN},
5387 l SET { x3 BIT STRING,
5388 y3 NULL},
5389 m SEQUENCE OF INTEGER,
5390 n SET OF BOOLEAN
5391 }
5392myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5393END
5394
5395<STATIC>
5396
5397import from TempA all;
5398
5399external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5400
5401const BERPDU myValue := {a := NULL,
5402 b := true,
5403 c := 2,
5404 d := first,
5405 e := NULL,
5406 f := '1'B,
5407 g := 'FFFF'O,
5408 h := myOBJID,
5409 i := "ABC",
5410 j := {x1 := true } ,
5411 k := {x2 := NULL,
5412 y2 := true } ,
5413 l := {y3 := NULL ,
5414 x3 := '1'B } ,
5415 m :=
5416 { 1 ,2 } ,
5417 n :=
5418 { true, true }
5419 }
5420
5421<TTCN_TC:EXEC>
5422
5423if (dec_BER_PDU('314380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5424if (dec_BER_PDU('318080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5425if (dec_BER_PDU('31438101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF8000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5426if (dec_BER_PDU('318080008201028101FF8301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5427
5428<RESULT>
5429
5430Overall verdict: pass
5431
5432<END_TC>
5433
5434:exmp.
5435
5436.*---------------------------------------------------------------------*
5437:h3.CER + DER encoding of SET OF INTEGER (empty) (unified)
5438.*---------------------------------------------------------------------*
5439:xmp tab=0.
5440
5441<TC - CER + DER encoding of SET OF INTEGER (empty) (unified)>
5442
5443<STATIC:ASN>
5444
5445TempA
5446
5447DEFINITIONS ::=
5448BEGIN
5449BERPDU ::= SET OF INTEGER
5450END
5451
5452<STATIC>
5453
5454import from TempA all;
5455external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5456external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5457external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5458
5459const BERPDU myValue1 := { }
5460
5461<TTCN_TC:EXEC>
5462
5463if ((enc_DER_PDU(myValue1) == '3100'O)and(enc_CER_PDU(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
5464if (dec_BER_PDU('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5465if (dec_BER_PDU('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5466
5467<RESULT>
5468
5469Overall verdict: pass
5470
5471<END_TC>
5472
5473:exmp.
5474
5475.*---------------------------------------------------------------------*
5476:h3.CER + DER encoding of SET OF BOOLEAN (unified)
5477.*---------------------------------------------------------------------*
5478:xmp tab=0.
5479
5480<TC - CER + DER encoding of SET OF BOOLEAN (unified)>
5481
5482<STATIC:ASN>
5483
5484TempA
5485
5486DEFINITIONS ::=
5487BEGIN
5488BERPDU ::= SET OF BOOLEAN
5489END
5490
5491<STATIC>
5492
5493import from TempA all;
5494external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5495external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5496external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5497
5498const BERPDU myValue := {true, false }
5499
5500<TTCN_TC:EXEC>
5501
5502if ((enc_DER_PDU(myValue) == '31060101000101FF'O)and(enc_CER_PDU(myValue) == '31800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5503if (dec_BER_PDU('31060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5504if (dec_BER_PDU('31800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5505if (dec_BER_PDU('31060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5506if (dec_BER_PDU('31800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5507
5508<RESULT>
5509
5510Overall verdict: pass
5511
5512<END_TC>
5513
5514:exmp.
5515
5516.*---------------------------------------------------------------------*
5517:h3.CER + DER encoding of SET OF OCTET STRING (unified)
5518.*---------------------------------------------------------------------*
5519:xmp tab=0.
5520
5521<TC - CER + DER encoding of SET OF OCTET STRING (unified)>
5522
5523<STATIC:ASN>
5524
5525TempA
5526
5527DEFINITIONS ::=
5528BEGIN
5529BERPDU ::= SET OF OCTET STRING
5530END
5531
5532<STATIC>
5533
5534import from TempA all;
5535external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5536external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5537external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5538
5539const BERPDU myValue := {'FFFF'O, 'AB'O };
5540
5541<TTCN_TC:EXEC>
5542
5543if ((enc_DER_PDU(myValue) == '31070401AB0402FFFF'O)and(enc_CER_PDU(myValue) == '31800401AB0402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5544if (dec_BER_PDU('31070401AB0402FFFF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5545if (dec_BER_PDU('31800401AB0402FFFF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5546if (dec_BER_PDU('31070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5547if (dec_BER_PDU('31800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5548
5549<RESULT>
5550
5551Overall verdict: pass
5552
5553<END_TC>
5554
5555:exmp.
5556
5557.*---------------------------------------------------------------------*
5558:h3.CER + DER encoding of SET OF SEQUENCE (unified)
5559.*---------------------------------------------------------------------*
5560:xmp tab=0.
5561
5562<TC - CER + DER encoding of SET OF SEQUENCE (unified)>
5563
5564<STATIC:ASN>
5565
5566TempA
5567
5568DEFINITIONS ::=
5569BEGIN
5570BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN}
5571END
5572
5573<STATIC>
5574
5575import from TempA all;
5576external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5577external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5578external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5579
5580const BERPDU myValue := {
5581 {
5582 a := 5,
5583 b := true
5584 },
5585
5586 {
5587 a := 3,
5588 b := false
5589 }
5590
5591 };
5592
5593<TTCN_TC:EXEC>
5594
5595if ((enc_DER_PDU(myValue) == '3110300602010301010030060201050101FF'O)and(enc_CER_PDU(myValue) == '31803080020103010100000030800201050101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5596if (dec_BER_PDU('3110300602010301010030060201050101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5597if (dec_BER_PDU('31803080020103010100000030800201050101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5598if (dec_BER_PDU('311030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5599if (dec_BER_PDU('318030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5600
5601<RESULT>
5602
5603Overall verdict: pass
5604
5605<END_TC>
5606
5607:exmp.
5608
5609.*---------------------------------------------------------------------*
5610:h3.CER + DER encoding of SET OF SET (unified)
5611.*---------------------------------------------------------------------*
5612:xmp tab=0.
5613
5614<TC - CER + DER encoding of SET OF SET (unified)>
5615
5616<STATIC:ASN>
5617
5618TempA
5619
5620DEFINITIONS ::=
5621BEGIN
5622BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN}
5623END
5624
5625<STATIC>
5626
5627import from TempA all;
5628external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5629external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5630external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5631
5632const BERPDU myValue := {
5633 {
5634 a := 5,
5635 b := true
5636 },
5637
5638 {
5639 a := 3,
5640 b := false
5641 }
5642 };
5643
5644<TTCN_TC:EXEC>
5645
5646if ((enc_DER_PDU(myValue) == '3110310601010002010331060101FF020105'O)and(enc_CER_PDU(myValue) == '31803180010100020103000031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
5647if (dec_BER_PDU('3110310601010002010331060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5648if (dec_BER_PDU('31803180010100020103000031800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5649if (dec_BER_PDU('311031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5650if (dec_BER_PDU('318031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5651
5652<RESULT>
5653
5654Overall verdict: pass
5655
5656<END_TC>
5657
5658:exmp.
5659
5660.*---------------------------------------------------------------------*
5661:h3.CER + DER encoding of SET OF CHOICE (unified)
5662.*---------------------------------------------------------------------*
5663:xmp tab=0.
5664
5665<TC - CER + DER encoding of SET OF CHOICE (unified)>
5666
5667<STATIC:ASN>
5668
5669TempA
5670
5671DEFINITIONS ::=
5672BEGIN
5673BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN}
5674END
5675
5676<STATIC>
5677
5678import from TempA all;
5679external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5680external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5681external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5682
5683const BERPDU myValue := {
5684 {
5685 a := 5
5686 },
5687 {
5688 b := false
5689 }
5690 };
5691
5692<TTCN_TC:EXEC>
5693
5694if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
5695if (dec_BER_PDU('3106010100020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5696if (dec_BER_PDU('31800101000201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5697if (dec_BER_PDU('3106020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5698if (dec_BER_PDU('31800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5699
5700<RESULT>
5701
5702Overall verdict: pass
5703
5704<END_TC>
5705
5706:exmp.
5707
5708.*---------------------------------------------------------------------*
5709:h3.CER + DER encoding of SET OF SEQUENCE OF (unified)
5710.*---------------------------------------------------------------------*
5711:xmp tab=0.
5712
5713<TC - CER + DER encoding of SET OF SEQUENCE OF (unified)>
5714
5715<STATIC:ASN>
5716
5717TempA
5718
5719DEFINITIONS ::=
5720BEGIN
5721BERPDU ::= SET OF SEQUENCE OF INTEGER
5722END
5723
5724<STATIC>
5725
5726import from TempA all;
5727external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5728external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5729external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5730
5731const BERPDU myValue := {
5732 {
5733 5,
5734 6,
5735 7
5736 },
5737 {
5738 1,
5739 2,
5740 3
5741 }
5742 };
5743
5744<TTCN_TC:EXEC>
5745
5746if ((enc_DER_PDU(myValue) == '311630090201010201020201033009020105020106020107'O)and(enc_CER_PDU(myValue) == '318030800201010201020201030000308002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5747if (dec_BER_PDU('311630090201010201020201033009020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5748if (dec_BER_PDU('318030800201010201020201030000308002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5749if (dec_BER_PDU('311630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5750if (dec_BER_PDU('318030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5751
5752<RESULT>
5753
5754Overall verdict: pass
5755
5756<END_TC>
5757
5758:exmp.
5759
5760.*---------------------------------------------------------------------*
5761:h3.CER + DER encoding of SET OF SET OF (unified)
5762.*---------------------------------------------------------------------*
5763:xmp tab=0.
5764
5765<TC - CER + DER encoding of SET OF SET OF (unified)>
5766
5767<STATIC:ASN>
5768
5769TempA
5770
5771DEFINITIONS ::=
5772BEGIN
5773BERPDU ::= SET OF SET OF INTEGER
5774END
5775
5776<STATIC>
5777
5778import from TempA all;
5779external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5780external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5781external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5782
5783const BERPDU myValue := {
5784 {5,6,7},
5785 {1,2,3}
5786 };
5787
5788<TTCN_TC:EXEC>
5789
5790if ((enc_DER_PDU(myValue) == '311631090201010201020201033109020105020106020107'O)and(enc_CER_PDU(myValue) == '318031800201010201020201030000318002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5791if (dec_BER_PDU('311631090201010201020201033109020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5792if (dec_BER_PDU('318031800201010201020201030000318002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5793if (dec_BER_PDU('311631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5794if (dec_BER_PDU('318031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5795
5796<RESULT>
5797
5798Overall verdict: pass
5799
5800<END_TC>
5801
5802:exmp.
5803
5804.*---------------------------------------------------------------------*
5805:h3.CER + DER encoding of TAGGED SET OF BOOLEAN (unified)
5806.*---------------------------------------------------------------------*
5807:xmp tab=0.
5808
5809<TC - CER + DER encoding of TAGGED SET OF BOOLEAN (unified)>
5810
5811<STATIC:ASN>
5812
5813TempA
5814
5815DEFINITIONS ::=
5816BEGIN
5817BERPDU ::= [0] SET OF BOOLEAN
5818END
5819
5820<STATIC>
5821
5822import from TempA all;
5823external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5824external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5825external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5826
5827const BERPDU myValue := {true, false }
5828
5829<TTCN_TC:EXEC>
5830
5831if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5832if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5833if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5834if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5835if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5836
5837<RESULT>
5838
5839Overall verdict: pass
5840
5841<END_TC>
5842
5843:exmp.
5844
5845.*---------------------------------------------------------------------*
5846:h3.CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (unified)
5847.*---------------------------------------------------------------------*
5848:xmp tab=0.
5849
5850<TC - CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (unified)>
5851
5852<STATIC:ASN>
5853
5854TempA
5855
5856DEFINITIONS
5857EXPLICIT TAGS
5858::=
5859BEGIN
5860BERPDU ::= [0] SET OF BOOLEAN
5861END
5862
5863<STATIC>
5864
5865import from TempA all;
5866external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5867external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5868external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5869
5870const BERPDU myValue := {true, false }
5871
5872<TTCN_TC:EXEC>
5873
5874if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5875if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5876if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5877if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5878if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5879
5880<RESULT>
5881
5882Overall verdict: pass
5883
5884<END_TC>
5885
5886:exmp.
5887
5888.*---------------------------------------------------------------------*
5889:h3.CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (unified)
5890.*---------------------------------------------------------------------*
5891:xmp tab=0.
5892
5893<TC - CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (unified)>
5894
5895<STATIC:ASN>
5896
5897TempA
5898
5899DEFINITIONS
5900IMPLICIT TAGS
5901::=
5902BEGIN
5903BERPDU ::= [0] SET OF BOOLEAN
5904END
5905
5906<STATIC>
5907
5908import from TempA all;
5909external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5910external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5911external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5912
5913const BERPDU myValue := {true, false }
5914
5915<TTCN_TC:EXEC>
5916
5917if ((enc_DER_PDU(myValue) == 'A0060101000101FF'O)and(enc_CER_PDU(myValue) == 'A0800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5918if (dec_BER_PDU('A0060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5919if (dec_BER_PDU('A0800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5920if (dec_BER_PDU('A0060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5921if (dec_BER_PDU('A0800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5922
5923<RESULT>
5924
5925Overall verdict: pass
5926
5927<END_TC>
5928
5929:exmp.
5930
5931.*---------------------------------------------------------------------*
5932:h3.CER + DER encoding of SET OF OCTET STRING
5933.*---------------------------------------------------------------------*
5934:xmp tab=0.
5935
5936<TC - CER + DER encoding of SET OF OCTET STRING >
5937
5938<STATIC:ASN>
5939
5940TempA
5941
5942DEFINITIONS ::=
5943BEGIN
5944
5945BERPDU ::= SET OF OCTET STRING
5946
5947END
5948
5949<STATIC>
5950
5951import from TempA all;
5952external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5953external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5954
5955const BERPDU myValue := {'FFFF'O, ''O };
5956
5957<TTCN_TC:EXEC>
5958
5959if ((enc_DER_PDU(myValue) == '310604000402FFFF'O)and(enc_CER_PDU(myValue) == '318004000402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5960
5961<RESULT>
5962
5963Overall verdict: pass
5964
5965<END_TC>
5966
5967:exmp.
5968
5969.*---------------------------------------------------------------------*
5970:h3.CER + DER encoding of CHOICE - NULL (unified)
5971.*---------------------------------------------------------------------*
5972:xmp tab=0.
5973
5974<TC - CER + DER encoding of CHOICE - NULL (unified)>
5975
5976<STATIC:ASN>
5977
5978TempA
5979
5980DEFINITIONS ::=
5981BEGIN
5982
5983BERPDU ::= CHOICE
5984 {
5985 a NULL,
5986 b BOOLEAN,
5987 c INTEGER,
5988 d ENUMERATED {first ,second ,third},
5989 e REAL,
5990 f BIT STRING,
5991 g OCTET STRING,
5992
5993 h OBJECT IDENTIFIER,
5994 i IA5String,
5995 j CHOICE {x1 [1] BOOLEAN,
5996 y1 [2] OCTET STRING},
5997
5998 k SEQUENCE{x2 NULL,
5999 y2 BOOLEAN},
6000
6001 l SET { x3 BIT STRING,
6002 y3 REAL},
6003
6004 m [3] SEQUENCE OF INTEGER,
6005 n [4] SET OF BOOLEAN
6006 }
6007
6008myValue8 BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)}
6009END
6010
6011<STATIC>
6012
6013import from TempA all;
6014external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6015external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6016external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6017
6018const BERPDU myValue1 := {a := NULL}
6019const BERPDU myValue2 := {b := true}
6020const BERPDU myValue3 := {c := 2}
6021const BERPDU myValue4 := {d := first}
6022const BERPDU myValue5 := {e := 1.0}
6023const BERPDU myValue6 := {f := '1'B}
6024const BERPDU myValue7 := {g := 'FFFF'O}
6025
6026const BERPDU myValue9 := {i := "ABC"}
6027const BERPDU myValue10 := {j := {x1 := true } }
6028const BERPDU myValue11 := {k := {x2 := NULL,
6029 y2 := true } }
6030const BERPDU myValue12 := {l := {y3 := 1.0 ,
6031 x3 := '1'B } }
6032const BERPDU myValue13 := {m :=
6033 { 1 ,2 } }
6034const BERPDU myValue14 := {n :=
6035 { true, true } }
6036<TTCN_TC:EXEC>
6037
6038if ((enc_DER_PDU(myValue1) == '0500'O)and(enc_CER_PDU(myValue1) == '0500'O)) {setverdict(pass);} else {setverdict(fail);}
6039if ((enc_DER_PDU(myValue2) == '0101FF'O)and(enc_CER_PDU(myValue2) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6040if ((enc_DER_PDU(myValue3) == '020102'O)and(enc_CER_PDU(myValue3) == '020102'O)) {setverdict(pass);} else {setverdict(fail);}
6041if ((enc_DER_PDU(myValue4) == '0A0100'O)and(enc_CER_PDU(myValue4) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
6042if ((enc_DER_PDU(myValue5) == '090603312E452B30'O)and(enc_CER_PDU(myValue5) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
6043if ((enc_DER_PDU(myValue6) == '03020780'O)and(enc_CER_PDU(myValue6) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);}
6044if ((enc_DER_PDU(myValue7) == '0402FFFF'O)and(enc_CER_PDU(myValue7) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
6045if ((enc_DER_PDU(myValue8) == '0603000203'O)and(enc_CER_PDU(myValue8) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
6046if ((enc_DER_PDU(myValue9) == '1603414243'O)and(enc_CER_PDU(myValue9) == '1603414243'O)) {setverdict(pass);} else {setverdict(fail);}
6047if ((enc_DER_PDU(myValue10) == 'A1030101FF'O)and(enc_CER_PDU(myValue10) == 'A1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6048if ((enc_DER_PDU(myValue11) == '300505000101FF'O)and(enc_CER_PDU(myValue11) == '308005000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6049if ((enc_DER_PDU(myValue12) == '310C03020780090603312E452B30'O)and(enc_CER_PDU(myValue12) == '318003020780090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);}
6050if ((enc_DER_PDU(myValue13) == 'A3083006020101020102'O)and(enc_CER_PDU(myValue13) == 'A380308002010102010200000000'O)) {setverdict(pass);} else {setverdict(fail);}
6051if ((enc_DER_PDU(myValue14) == 'A40831060101FF0101FF'O)and(enc_CER_PDU(myValue14) == 'A48031800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6052if (dec_BER_PDU('0500'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6053if (dec_BER_PDU('0101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
6054if (dec_BER_PDU('020102'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
6055if (dec_BER_PDU('0A0100'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
6056if (dec_BER_PDU('03020780'O) == myValue6){setverdict(pass);} else {setverdict(fail);}
6057if (dec_BER_PDU('0402FFFF'O) == myValue7){setverdict(pass);} else {setverdict(fail);}
6058if (dec_BER_PDU('0603000203'O) == myValue8){setverdict(pass);} else {setverdict(fail);}
6059if (dec_BER_PDU('1603414243'O) == myValue9){setverdict(pass);} else {setverdict(fail);}
6060if (dec_BER_PDU('A1030101FF'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6061if (dec_BER_PDU('A1800101FF0000'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6062if (dec_BER_PDU('300505000101FF'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6063if (dec_BER_PDU('308005000101FF0000'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6064if (dec_BER_PDU('A3083006020101020102'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6065if (dec_BER_PDU('A380308002010102010200000000'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6066if (dec_BER_PDU('A40831060101FF0101FF'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6067if (dec_BER_PDU('A48031800101FF0101FF00000000'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6068
6069<RESULT>
6070
6071Overall verdict: pass
6072
6073<END_TC>
6074
6075:exmp.
6076
6077.*---------------------------------------------------------------------*
6078:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged (unified)
6079.*---------------------------------------------------------------------*
6080:xmp tab=0.
6081
6082<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged (unified)>
6083
6084<STATIC:ASN>
6085
6086TempA
6087
6088DEFINITIONS
6089IMPLICIT TAGS
6090::=
6091BEGIN
6092BERPDU ::= CHOICE
6093 {
6094 b BOOLEAN,
6095 c INTEGER
6096 }
6097END
6098
6099<STATIC>
6100
6101import from TempA all;
6102external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6103external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6104external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6105
6106const BERPDU myValue1 := {b := true }
6107
6108<TTCN_TC:EXEC>
6109
6110if ((enc_DER_PDU(myValue1) == '0101FF'O)and(enc_CER_PDU(myValue1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6111if (dec_BER_PDU('0101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6112
6113<RESULT>
6114
6115Overall verdict: pass
6116
6117<END_TC>
6118
6119:exmp.
6120
6121.*---------------------------------------------------------------------*
6122:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged (unified)
6123.*---------------------------------------------------------------------*
6124:xmp tab=0.
6125
6126<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged (unified)>
6127
6128<STATIC:ASN>
6129
6130TempA
6131
6132DEFINITIONS
6133EXPLICIT TAGS
6134::=
6135BEGIN
6136BERPDU ::= CHOICE
6137 {
6138 b BOOLEAN,
6139 c INTEGER
6140 }
6141END
6142
6143<STATIC>
6144
6145import from TempA all;
6146external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6147external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6148external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6149
6150const BERPDU myValue := {b := true }
6151
6152<TTCN_TC:EXEC>
6153
6154if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6155if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6156
6157
6158<RESULT>
6159
6160Overall verdict: pass
6161
6162<END_TC>
6163
6164:exmp.
6165
6166.*---------------------------------------------------------------------*
6167:h3.CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged(unified)
6168.*---------------------------------------------------------------------*
6169:xmp tab=0.
6170
6171<TC - CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged(unified)>
6172
6173<STATIC:ASN>
6174
6175TempA
6176DEFINITIONS
6177::=
6178BEGIN
6179BERPDU ::= CHOICE
6180 {
6181 b BOOLEAN,
6182 c INTEGER
6183 }
6184END
6185
6186<STATIC>
6187
6188import from TempA all;
6189external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6190external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6191external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6192
6193const BERPDU myValue := {b := true }
6194
6195<TTCN_TC:EXEC>
6196
6197if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6198if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6199
6200<RESULT>
6201
6202Overall verdict: pass
6203
6204<END_TC>
6205
6206:exmp.
6207
6208.*---------------------------------------------------------------------*
6209:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged (unified)
6210.*---------------------------------------------------------------------*
6211:xmp tab=0.
6212
6213<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged (unified)>
6214
6215<STATIC:ASN>
6216
6217TempA
6218
6219DEFINITIONS
6220AUTOMATIC TAGS
6221::=
6222BEGIN
6223BERPDU ::= CHOICE
6224 {
6225 b BOOLEAN,
6226 c INTEGER
6227 }
6228END
6229
6230<STATIC>
6231
6232import from TempA all;
6233external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6234external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6235external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6236
6237const BERPDU myValue := {b := true }
6238
6239<TTCN_TC:EXEC>
6240
6241if ((enc_DER_PDU(myValue) == '8001FF'O)and(enc_CER_PDU(myValue) == '8001FF'O)) {setverdict(pass);} else {setverdict(fail);}
6242if (dec_BER_PDU('8001FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6243
6244<RESULT>
6245
6246Overall verdict: pass
6247
6248<END_TC>
6249
6250:exmp.
6251
6252.*---------------------------------------------------------------------*
6253:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE (unified)
6254.*---------------------------------------------------------------------*
6255:xmp tab=0.
6256
6257<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE (unified)>
6258
6259<STATIC:ASN>
6260
6261TempA
6262
6263DEFINITIONS
6264IMPLICIT TAGS
6265::=
6266BEGIN
6267BERPDU ::= CHOICE
6268 {
6269 b [3] BOOLEAN,
6270 c [6] INTEGER
6271 }
6272END
6273
6274<STATIC>
6275
6276import from TempA all;
6277external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6278external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6279external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6280
6281const BERPDU myValue := {b := true }
6282
6283<TTCN_TC:EXEC>
6284
6285if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6286if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6287
6288<RESULT>
6289
6290Overall verdict: pass
6291
6292<END_TC>
6293
6294:exmp.
6295
6296.*---------------------------------------------------------------------*
6297:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE (unified)
6298.*---------------------------------------------------------------------*
6299:xmp tab=0.
6300
6301<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE (unified)>
6302
6303<STATIC:ASN>
6304
6305TempA
6306
6307DEFINITIONS
6308EXPLICIT TAGS
6309::=
6310BEGIN
6311BERPDU ::= CHOICE
6312 {
6313 b [3] BOOLEAN,
6314 c [6] INTEGER
6315 }
6316END
6317
6318<STATIC>
6319
6320import from TempA all;
6321external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6322external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6323external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6324
6325const BERPDU myValue := {b := true }
6326
6327<TTCN_TC:EXEC>
6328
6329if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6330if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6331if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6332
6333<RESULT>
6334
6335Overall verdict: pass
6336
6337<END_TC>
6338
6339:exmp.
6340
6341.*---------------------------------------------------------------------*
6342:h3.CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE (unified)
6343.*---------------------------------------------------------------------*
6344:xmp tab=0.
6345
6346<TC - CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE (unified)>
6347
6348<STATIC:ASN>
6349
6350TempA
6351
6352DEFINITIONS ::=
6353BEGIN
6354
6355BERPDU ::= CHOICE
6356 {
6357 b [3] BOOLEAN,
6358 c [6] INTEGER
6359 }
6360END
6361
6362<STATIC>
6363
6364import from TempA all;
6365external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6366external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6367external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6368
6369const BERPDU myValue := {b := true }
6370
6371<TTCN_TC:EXEC>
6372
6373if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6374if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6375if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6376
6377<RESULT>
6378
6379Overall verdict: pass
6380
6381<END_TC>
6382
6383:exmp.
6384
6385.*---------------------------------------------------------------------*
6386:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)
6387.*---------------------------------------------------------------------*
6388:xmp tab=0.
6389
6390<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)>
6391
6392<STATIC:ASN>
6393
6394TempA
6395
6396DEFINITIONS
6397AUTOMATIC TAGS
6398::=
6399BEGIN
6400BERPDU ::= CHOICE
6401 {
6402 b [3] BOOLEAN,
6403 c [6] INTEGER
6404 }
6405END
6406
6407<STATIC>
6408
6409import from TempA all;
6410external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6411external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6412external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6413
6414const BERPDU myValue := {b := true }
6415
6416<TTCN_TC:EXEC>
6417
6418if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6419if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6420
6421<RESULT>
6422
6423Overall verdict: pass
6424
6425<END_TC>
6426
6427:exmp.
6428
6429.*---------------------------------------------------------------------*
6430:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)
6431.*---------------------------------------------------------------------*
6432:xmp tab=0.
6433
6434<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)>
6435
6436<STATIC:ASN>
6437
6438TempA
6439
6440DEFINITIONS
6441IMPLICIT TAGS
6442::=
6443BEGIN
6444BERPDU ::= CHOICE
6445 {
6446 b [3] IMPLICIT BOOLEAN,
6447 c [6] INTEGER
6448 }
6449END
6450
6451<STATIC>
6452
6453import from TempA all;
6454external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6455external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6456external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6457
6458const BERPDU myValue := {b := true }
6459
6460<TTCN_TC:EXEC>
6461
6462if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6463if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6464
6465<RESULT>
6466
6467Overall verdict: pass
6468
6469<END_TC>
6470
6471:exmp.
6472
6473.*---------------------------------------------------------------------*
6474:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)
6475.*---------------------------------------------------------------------*
6476:xmp tab=0.
6477
6478<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)>
6479
6480<STATIC:ASN>
6481
6482TempA
6483
6484DEFINITIONS
6485EXPLICIT TAGS
6486::=
6487BEGIN
6488BERPDU ::= CHOICE
6489 {
6490 b [3] IMPLICIT BOOLEAN,
6491 c [6] INTEGER
6492 }
6493END
6494
6495<STATIC>
6496
6497import from TempA all;
6498external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6499external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6500external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6501
6502const BERPDU myValue := {b := true }
6503
6504<TTCN_TC:EXEC>
6505
6506if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6507if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6508
6509<RESULT>
6510
6511Overall verdict: pass
6512
6513<END_TC>
6514
6515:exmp.
6516
6517.*---------------------------------------------------------------------*
6518:h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)
6519.*---------------------------------------------------------------------*
6520:xmp tab=0.
6521
6522<TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)>
6523
6524<STATIC:ASN>
6525
6526TempA
6527
6528DEFINITIONS
6529::=
6530BEGIN
6531BERPDU ::= CHOICE
6532 {
6533 b [3] IMPLICIT BOOLEAN,
6534 c [6] INTEGER
6535 }
6536END
6537
6538<STATIC>
6539
6540import from TempA all;
6541external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6542external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6543external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6544
6545const BERPDU myValue := {b := true }
6546
6547<TTCN_TC:EXEC>
6548
6549if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6550if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6551
6552<RESULT>
6553
6554Overall verdict: pass
6555
6556<END_TC>
6557
6558:exmp.
6559
6560.*---------------------------------------------------------------------*
6561:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)
6562.*---------------------------------------------------------------------*
6563:xmp tab=0.
6564
6565<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)>
6566
6567<STATIC:ASN>
6568
6569TempA
6570
6571DEFINITIONS
6572AUTOMATIC TAGS
6573::=
6574BEGIN
6575BERPDU ::= CHOICE
6576 {
6577 b [3] IMPLICIT BOOLEAN,
6578 c [6] INTEGER
6579 }
6580END
6581
6582<STATIC>
6583
6584import from TempA all;
6585external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6586external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6587external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6588
6589const BERPDU myValue := {b := true }
6590
6591<TTCN_TC:EXEC>
6592
6593if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6594if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6595
6596<RESULT>
6597
6598Overall verdict: pass
6599
6600<END_TC>
6601
6602:exmp.
6603
6604.*---------------------------------------------------------------------*
6605:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)
6606.*---------------------------------------------------------------------*
6607:xmp tab=0.
6608
6609<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)>
6610
6611<STATIC:ASN>
6612
6613TempA
6614DEFINITIONS
6615IMPLICIT TAGS
6616::=
6617BEGIN
6618BERPDU ::= CHOICE
6619 {
6620 b [3] EXPLICIT BOOLEAN,
6621 c [6] INTEGER
6622 }
6623END
6624
6625<STATIC>
6626
6627import from TempA all;
6628external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6629external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6630external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6631
6632const BERPDU myValue := {b := true }
6633
6634<TTCN_TC:EXEC>
6635
6636if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6637if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6638if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6639
6640<RESULT>
6641
6642Overall verdict: pass
6643
6644<END_TC>
6645
6646:exmp.
6647
6648.*---------------------------------------------------------------------*
6649:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)
6650.*---------------------------------------------------------------------*
6651:xmp tab=0.
6652
6653<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)>
6654
6655<STATIC:ASN>
6656
6657TempA
6658
6659DEFINITIONS
6660EXPLICIT TAGS
6661::=
6662BEGIN
6663BERPDU ::= CHOICE
6664 {
6665 b [3] EXPLICIT BOOLEAN,
6666 c [6] INTEGER
6667 }
6668END
6669
6670<STATIC>
6671
6672import from TempA all;
6673external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6674external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6675external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6676
6677const BERPDU myValue := {b := true }
6678
6679<TTCN_TC:EXEC>
6680
6681if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6682if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6683if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6684
6685<RESULT>
6686
6687Overall verdict: pass
6688
6689<END_TC>
6690
6691:exmp.
6692
6693.*---------------------------------------------------------------------*
6694:h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)
6695.*---------------------------------------------------------------------*
6696:xmp tab=0.
6697
6698<TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)>
6699
6700<STATIC:ASN>
6701
6702TempA
6703DEFINITIONS
6704::=
6705BEGIN
6706BERPDU ::= CHOICE
6707 {
6708 b [3] EXPLICIT BOOLEAN,
6709 c [6] INTEGER
6710 }
6711END
6712
6713<STATIC>
6714
6715import from TempA all;
6716external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6717external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6718external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6719
6720const BERPDU myValue := {b := true }
6721
6722<TTCN_TC:EXEC>
6723
6724if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6725if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6726if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6727
6728<RESULT>
6729
6730Overall verdict: pass
6731
6732<END_TC>
6733
6734:exmp.
6735
6736.*---------------------------------------------------------------------*
6737:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)
6738.*---------------------------------------------------------------------*
6739:xmp tab=0.
6740
6741<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)>
6742
6743<STATIC:ASN>
6744
6745TempA
6746
6747DEFINITIONS
6748EXPLICIT TAGS
6749::=
6750BEGIN
6751BERPDU ::= CHOICE
6752 {
6753 b [3] EXPLICIT BOOLEAN,
6754 c [6] INTEGER
6755 }
6756END
6757
6758<STATIC>
6759
6760import from TempA all;
6761external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6762external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6763external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6764
6765const BERPDU myValue := {b := true }
6766
6767<TTCN_TC:EXEC>
6768
6769if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6770if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6771if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6772
6773<RESULT>
6774
6775Overall verdict: pass
6776
6777<END_TC>
6778
6779:exmp.
6780
6781.*---------------------------------------------------------------------*
6782:h3.CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, (unified)
6783.*---------------------------------------------------------------------*
6784:xmp tab=0.
6785
6786<TC - CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, (unified)>
6787
6788<STATIC:ASN>
6789
6790TempA
6791
6792DEFINITIONS
6793IMPLICIT TAGS
6794::=
6795BEGIN
6796BERPDU ::= [0] CHOICE
6797 {
6798 b [3] BOOLEAN,
6799 c [6] INTEGER
6800 }
6801END
6802
6803<STATIC>
6804
6805import from TempA all;
6806external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6807external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6808external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6809
6810const BERPDU myValue := {b := true }
6811
6812<TTCN_TC:EXEC>
6813
6814if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6815if (dec_BER_PDU('A0038301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6816if (dec_BER_PDU('A0808301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6817
6818<RESULT>
6819
6820Overall verdict: pass
6821
6822<END_TC>
6823
6824:exmp.
6825
6826.*---------------------------------------------------------------------*
6827:h3.CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, (unified)
6828.*---------------------------------------------------------------------*
6829:xmp tab=0.
6830
6831<TC - CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, (unified)>
6832
6833<STATIC:ASN>
6834
6835TempA
6836
6837DEFINITIONS
6838EXPLICIT TAGS
6839::=
6840BEGIN
6841BERPDU ::= [0] CHOICE
6842 {
6843 b [3] BOOLEAN,
6844 c [6] INTEGER
6845 }
6846END
6847
6848<STATIC>
6849
6850import from TempA all;
6851external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6852external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6853external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6854
6855const BERPDU myValue := {b := true }
6856
6857<TTCN_TC:EXEC>
6858
6859if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6860if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6861if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6862
6863<RESULT>
6864
6865Overall verdict: pass
6866
6867<END_TC>
6868
6869:exmp.
6870
6871.*---------------------------------------------------------------------*
6872:h3.CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE, (unified)
6873.*---------------------------------------------------------------------*
6874:xmp tab=0.
6875
6876<TC - CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE, (unified)>
6877
6878<STATIC:ASN>
6879
6880TempA
6881
6882DEFINITIONS
6883::=
6884BEGIN
6885BERPDU ::= [0] CHOICE
6886 {
6887 b [3] BOOLEAN,
6888 c [6] INTEGER
6889 }
6890END
6891
6892<STATIC>
6893
6894import from TempA all;
6895external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6896external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6897external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6898
6899const BERPDU myValue := {b := true }
6900
6901<TTCN_TC:EXEC>
6902
6903if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6904if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6905if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6906
6907<RESULT>
6908
6909Overall verdict: pass
6910
6911<END_TC>
6912
6913:exmp.
6914
6915.*---------------------------------------------------------------------*
6916:h3.CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,
6917.*---------------------------------------------------------------------*
6918:xmp tab=0.
6919
6920<TC - CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,>
6921
6922<STATIC:ASN>
6923
6924TempA
6925
6926DEFINITIONS
6927
6928AUTOMATIC TAGS
6929
6930::=
6931
6932BEGIN
6933
6934BERPDU ::= [0] CHOICE
6935 {
6936 b [3] BOOLEAN,
6937 c [6] INTEGER
6938 }
6939
6940
6941END
6942
6943<STATIC>
6944
6945import from TempA all;
6946external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6947external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6948
6949const BERPDU myValue := {b := true }
6950
6951<TTCN_TC:EXEC>
6952
6953
6954
6955
6956if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6957
6958
6959<RESULT>
6960
6961Overall verdict: pass
6962
6963<END_TC>
6964
6965:exmp.
6966
6967
6968.*---------------------------------------------------------------------*
6969:h3. DECODING OBJECT IDENTIFIER , DER, CHOICE - SET
6970.*---------------------------------------------------------------------*
6971:xmp tab=0.
6972
6973<TC - DECODING OBJECT IDENTIFIER , DER, CHOICE - SET>
6974
6975<STATIC:ASN>
6976
6977TempA
6978
6979DEFINITIONS ::=
6980BEGIN
6981BERPDU ::= CHOICE
6982 {
6983 a NULL,
6984 b BOOLEAN,
6985 c INTEGER,
6986 d ENUMERATED {first ,second ,third},
6987 e REAL,
6988 f BIT STRING,
6989 g OCTET STRING,
6990
6991 h OBJECT IDENTIFIER,
6992 i IA5String,
6993 j CHOICE {x1 [1] BOOLEAN,
6994 y1 [2] OCTET STRING},
6995
6996 k SEQUENCE{x2 NULL,
6997 y2 BOOLEAN},
6998
6999 l SET { x3 BIT STRING,
7000 y3 OCTET STRING},
7001
7002 m [3] SEQUENCE OF INTEGER,
7003 n [4] SET OF BOOLEAN
7004 }
7005
7006
7007
7008END
7009
7010<STATIC>
7011
7012import from TempA all;
7013
7014external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7015
7016const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7017
7018 x3 := '1'B } }
7019
7020
7021
7022
7023<TTCN_TC:EXEC>
7024
7025if (dec_BER_PDU('3108030207800402FFFF'O) == myValue)
7026
7027
7028{setverdict(pass);} else {setverdict(fail);}
7029
7030
7031<RESULT>
7032
7033Overall verdict: pass
7034
7035<END_TC>
7036
7037:exmp.
7038
7039.*---------------------------------------------------------------------*
7040:h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - SET
7041.*---------------------------------------------------------------------*
7042:xmp tab=0.
7043
7044<TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - SET>
7045
7046<STATIC:ASN>
7047
7048TempA
7049
7050DEFINITIONS ::=
7051BEGIN
7052BERPDU ::= CHOICE
7053 {
7054 a NULL,
7055 b BOOLEAN,
7056 c INTEGER,
7057 d ENUMERATED {first ,second ,third},
7058 e REAL,
7059 f BIT STRING,
7060 g OCTET STRING,
7061
7062 h OBJECT IDENTIFIER,
7063 i IA5String,
7064 j CHOICE {x1 [1] BOOLEAN,
7065 y1 [2] OCTET STRING},
7066
7067 k SEQUENCE{x2 NULL,
7068 y2 BOOLEAN},
7069
7070 l SET { x3 BIT STRING,
7071 y3 OCTET STRING},
7072
7073 m [3] SEQUENCE OF INTEGER,
7074 n [4] SET OF BOOLEAN
7075 }
7076
7077
7078
7079END
7080
7081<STATIC>
7082
7083import from TempA all;
7084
7085external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7086
7087const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7088
7089 x3 := '1'B } }
7090
7091
7092
7093
7094<TTCN_TC:EXEC>
7095
7096if (dec_BER_PDU('3180030207800402FFFF0000'O) == myValue)
7097
7098
7099{setverdict(pass);} else {setverdict(fail);}
7100
7101
7102<RESULT>
7103
7104Overall verdict: pass
7105
7106<END_TC>
7107
7108:exmp.
7109
7110.*---------------------------------------------------------------------*
7111:h3. DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,
7112.*---------------------------------------------------------------------*
7113:xmp tab=0.
7114
7115<TC - DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,>
7116
7117<STATIC:ASN>
7118
7119TempA
7120
7121DEFINITIONS
7122
7123AUTOMATIC TAGS
7124
7125
7126
7127::=
7128
7129BEGIN
7130
7131
7132
7133BERPDU ::= [0] CHOICE
7134 {
7135 b [3] BOOLEAN,
7136 c [6] INTEGER
7137 }
7138
7139
7140
7141
7142END
7143
7144<STATIC>
7145
7146import from TempA all;
7147
7148external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7149
7150const BERPDU myValue := {b := true }
7151
7152
7153
7154<TTCN_TC:EXEC>
7155
7156if (dec_BER_PDU('A0038301FF'O) == myValue)
7157
7158
7159{setverdict(pass);} else {setverdict(fail);}
7160
7161
7162<RESULT>
7163
7164Overall verdict: pass
7165
7166<END_TC>
7167
7168:exmp.
7169
7170.*---------------------------------------------------------------------*
7171:h3. CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,
7172.*---------------------------------------------------------------------*
7173:xmp tab=0.
7174
7175<TC - CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,>
7176
7177<STATIC:ASN>
7178
7179TempA
7180
7181DEFINITIONS
7182
7183AUTOMATIC TAGS
7184
7185
7186
7187::=
7188
7189BEGIN
7190
7191
7192
7193BERPDU ::= [0] CHOICE
7194 {
7195 b [3] BOOLEAN,
7196 c [6] INTEGER
7197 }
7198
7199
7200
7201
7202END
7203
7204<STATIC>
7205
7206import from TempA all;
7207
7208external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7209
7210const BERPDU myValue := {b := true }
7211
7212
7213
7214<TTCN_TC:EXEC>
7215
7216if (dec_BER_PDU('A0808301FF0000'O) == myValue)
7217
7218
7219{setverdict(pass);} else {setverdict(fail);}
7220
7221
7222<RESULT>
7223
7224Overall verdict: pass
7225
7226<END_TC>
7227
7228:exmp.
7229
7230.*---------------------------------------------------------------------*
7231:h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive)
7232.*---------------------------------------------------------------------*
7233:xmp tab=0.
7234
7235<TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive)>
7236
7237<STATIC:ASN>
7238
7239TempA
7240
7241DEFINITIONS ::=
7242BEGIN
7243BERPDU ::= OBJECT IDENTIFIER
7244b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
7245
7246END
7247
7248<STATIC>
7249
7250import from TempA all;
7251external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7252external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7253
7254
7255
7256<TTCN_TC:EXEC>
7257
7258if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7259
7260<RESULT>
7261
7262Overall verdict: pass
7263
7264<END_TC>
7265
7266:exmp.
7267
7268.*---------------------------------------------------------------------*
7269:h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive)
7270.*---------------------------------------------------------------------*
7271:xmp tab=0.
7272
7273<TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive)>
7274
7275<STATIC:ASN>
7276
7277TempA
7278
7279DEFINITIONS ::=
7280BEGIN
7281BERPDU ::= OBJECT IDENTIFIER
7282b BERPDU ::= {itu-t recommendation a(2) b(3)}
7283
7284END
7285
7286<STATIC>
7287
7288import from TempA all;
7289external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7290external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7291
7292
7293
7294<TTCN_TC:EXEC>
7295
7296if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7297
7298<RESULT>
7299
7300Overall verdict: pass
7301
7302<END_TC>
7303
7304:exmp.
7305
7306.*---------------------------------------------------------------------*
7307:h3.CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive)
7308.*---------------------------------------------------------------------*
7309:xmp tab=0.
7310
7311<TC - CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive)>
7312
7313<STATIC:ASN>
7314
7315TempA
7316
7317DEFINITIONS ::=
7318BEGIN
7319BERPDU ::= OBJECT IDENTIFIER
7320b BERPDU ::= {0 0 a(2) b(3)}
7321
7322END
7323
7324<STATIC>
7325
7326import from TempA all;
7327external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7328external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7329
7330
7331
7332<TTCN_TC:EXEC>
7333
7334if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7335
7336<RESULT>
7337
7338Overall verdict: pass
7339
7340<END_TC>
7341
7342:exmp.
7343
7344.*---------------------------------------------------------------------*
7345:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive)
7346.*---------------------------------------------------------------------*
7347:xmp tab=0.
7348
7349<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive)>
7350
7351<STATIC:ASN>
7352
7353TempA
7354
7355DEFINITIONS ::=
7356BEGIN
7357BERPDU ::= OBJECT IDENTIFIER
7358b BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
7359
7360END
7361
7362<STATIC>
7363
7364import from TempA all;
7365external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7366external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7367
7368
7369
7370<TTCN_TC:EXEC>
7371
7372if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7373
7374<RESULT>
7375
7376Overall verdict: pass
7377
7378<END_TC>
7379
7380:exmp.
7381
7382.*---------------------------------------------------------------------*
7383:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive)
7384.*---------------------------------------------------------------------*
7385:xmp tab=0.
7386
7387<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive)>
7388
7389<STATIC:ASN>
7390
7391TempA
7392
7393DEFINITIONS ::=
7394BEGIN
7395BERPDU ::= OBJECT IDENTIFIER
7396b BERPDU ::= {itu-t question a(2) b(3)}
7397
7398END
7399
7400<STATIC>
7401
7402import from TempA all;
7403external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7404external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7405
7406
7407
7408<TTCN_TC:EXEC>
7409
7410if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7411
7412<RESULT>
7413
7414Overall verdict: pass
7415
7416<END_TC>
7417
7418:exmp.
7419
7420.*---------------------------------------------------------------------*
7421:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive)
7422.*---------------------------------------------------------------------*
7423:xmp tab=0.
7424
7425<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive)>
7426
7427<STATIC:ASN>
7428
7429TempA
7430
7431DEFINITIONS ::=
7432BEGIN
7433BERPDU ::= OBJECT IDENTIFIER
7434b BERPDU ::= {0 1 a(2) b(3)}
7435
7436END
7437
7438<STATIC>
7439
7440import from TempA all;
7441external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7442external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7443
7444
7445
7446<TTCN_TC:EXEC>
7447
7448if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7449
7450<RESULT>
7451
7452Overall verdict: pass
7453
7454<END_TC>
7455
7456:exmp.
7457
7458.*---------------------------------------------------------------------*
7459:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive)
7460.*---------------------------------------------------------------------*
7461:xmp tab=0.
7462
7463<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive)>
7464
7465<STATIC:ASN>
7466
7467TempA
7468
7469DEFINITIONS ::=
7470BEGIN
7471BERPDU ::= OBJECT IDENTIFIER
7472b BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
7473
7474END
7475
7476<STATIC>
7477
7478import from TempA all;
7479external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7480external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7481
7482
7483
7484<TTCN_TC:EXEC>
7485
7486if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7487
7488<RESULT>
7489
7490Overall verdict: pass
7491
7492<END_TC>
7493
7494:exmp.
7495
7496.*---------------------------------------------------------------------*
7497:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive)
7498.*---------------------------------------------------------------------*
7499:xmp tab=0.
7500
7501<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive)>
7502
7503<STATIC:ASN>
7504
7505TempA
7506
7507DEFINITIONS ::=
7508BEGIN
7509BERPDU ::= OBJECT IDENTIFIER
7510b BERPDU ::= {itu-t administration a(2) b(3)}
7511
7512END
7513
7514<STATIC>
7515
7516import from TempA all;
7517external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7518external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7519
7520
7521
7522<TTCN_TC:EXEC>
7523
7524if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7525
7526<RESULT>
7527
7528Overall verdict: pass
7529
7530<END_TC>
7531
7532:exmp.
7533
7534.*---------------------------------------------------------------------*
7535:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive)
7536.*---------------------------------------------------------------------*
7537:xmp tab=0.
7538
7539<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive)>
7540
7541<STATIC:ASN>
7542
7543TempA
7544
7545DEFINITIONS ::=
7546BEGIN
7547BERPDU ::= OBJECT IDENTIFIER
7548b BERPDU ::= {0 2 a(2) b(3)}
7549
7550END
7551
7552<STATIC>
7553
7554import from TempA all;
7555external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7556external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7557
7558
7559
7560<TTCN_TC:EXEC>
7561
7562if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7563
7564<RESULT>
7565
7566Overall verdict: pass
7567
7568<END_TC>
7569
7570:exmp.
7571
7572.*---------------------------------------------------------------------*
7573:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive)
7574.*---------------------------------------------------------------------*
7575:xmp tab=0.
7576
7577<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive)>
7578
7579<STATIC:ASN>
7580
7581TempA
7582
7583DEFINITIONS ::=
7584BEGIN
7585BERPDU ::= OBJECT IDENTIFIER
7586b BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
7587
7588END
7589
7590<STATIC>
7591
7592import from TempA all;
7593external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7594external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7595
7596
7597
7598<TTCN_TC:EXEC>
7599
7600if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7601
7602<RESULT>
7603
7604Overall verdict: pass
7605
7606<END_TC>
7607
7608:exmp.
7609
7610.*---------------------------------------------------------------------*
7611:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive)
7612.*---------------------------------------------------------------------*
7613:xmp tab=0.
7614
7615<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive)>
7616
7617<STATIC:ASN>
7618
7619TempA
7620
7621DEFINITIONS ::=
7622BEGIN
7623BERPDU ::= OBJECT IDENTIFIER
7624b BERPDU ::= {itu-t network-operator a(2) b(3)}
7625
7626END
7627
7628<STATIC>
7629
7630import from TempA all;
7631external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7632external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7633
7634
7635
7636<TTCN_TC:EXEC>
7637
7638if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7639
7640<RESULT>
7641
7642Overall verdict: pass
7643
7644<END_TC>
7645
7646:exmp.
7647
7648.*---------------------------------------------------------------------*
7649:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive)
7650.*---------------------------------------------------------------------*
7651:xmp tab=0.
7652
7653<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive)>
7654
7655<STATIC:ASN>
7656
7657TempA
7658
7659DEFINITIONS ::=
7660BEGIN
7661BERPDU ::= OBJECT IDENTIFIER
7662b BERPDU ::= {0 3 a(2) b(3)}
7663
7664END
7665
7666<STATIC>
7667
7668import from TempA all;
7669external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7670external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7671
7672
7673
7674<TTCN_TC:EXEC>
7675
7676if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7677
7678<RESULT>
7679
7680Overall verdict: pass
7681
7682<END_TC>
7683
7684:exmp.
7685
7686.*---------------------------------------------------------------------*
7687:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive)
7688.*---------------------------------------------------------------------*
7689:xmp tab=0.
7690
7691<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive)>
7692
7693<STATIC:ASN>
7694
7695TempA
7696
7697DEFINITIONS ::=
7698BEGIN
7699BERPDU ::= OBJECT IDENTIFIER
7700b BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
7701
7702END
7703
7704<STATIC>
7705
7706import from TempA all;
7707external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7708external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7709
7710
7711
7712<TTCN_TC:EXEC>
7713
7714if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7715
7716<RESULT>
7717
7718Overall verdict: pass
7719
7720<END_TC>
7721
7722:exmp.
7723
7724.*---------------------------------------------------------------------*
7725:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive)
7726.*---------------------------------------------------------------------*
7727:xmp tab=0.
7728
7729<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive)>
7730
7731<STATIC:ASN>
7732
7733TempA
7734
7735DEFINITIONS ::=
7736BEGIN
7737BERPDU ::= OBJECT IDENTIFIER
7738b BERPDU ::= {itu-t identified-organization a(2) b(3)}
7739
7740END
7741
7742<STATIC>
7743
7744import from TempA all;
7745external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7746external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7747
7748
7749
7750<TTCN_TC:EXEC>
7751
7752if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7753
7754<RESULT>
7755
7756Overall verdict: pass
7757
7758<END_TC>
7759
7760:exmp.
7761
7762.*---------------------------------------------------------------------*
7763:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive)
7764.*---------------------------------------------------------------------*
7765:xmp tab=0.
7766
7767<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive)>
7768
7769<STATIC:ASN>
7770
7771TempA
7772
7773DEFINITIONS ::=
7774BEGIN
7775BERPDU ::= OBJECT IDENTIFIER
7776b BERPDU ::= {0 4 a(2) b(3)}
7777
7778END
7779
7780<STATIC>
7781
7782import from TempA all;
7783external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7784external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7785
7786
7787
7788<TTCN_TC:EXEC>
7789
7790if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7791
7792<RESULT>
7793
7794Overall verdict: pass
7795
7796<END_TC>
7797
7798:exmp.
7799
7800.*---------------------------------------------------------------------*
7801:h3.CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive)
7802.*---------------------------------------------------------------------*
7803:xmp tab=0.
7804
7805<TC - CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive)>
7806
7807<STATIC:ASN>
7808
7809TempA
7810
7811DEFINITIONS ::=
7812BEGIN
7813BERPDU ::= OBJECT IDENTIFIER
7814b BERPDU ::= {iso(1) standard(0) a(2) b(3)}
7815
7816END
7817
7818<STATIC>
7819
7820import from TempA all;
7821external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7822external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7823
7824
7825
7826<TTCN_TC:EXEC>
7827
7828if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7829
7830<RESULT>
7831
7832Overall verdict: pass
7833
7834<END_TC>
7835
7836:exmp.
7837
7838.*---------------------------------------------------------------------*
7839:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive)
7840.*---------------------------------------------------------------------*
7841:xmp tab=0.
7842
7843<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive)>
7844
7845<STATIC:ASN>
7846
7847TempA
7848
7849DEFINITIONS ::=
7850BEGIN
7851BERPDU ::= OBJECT IDENTIFIER
7852b BERPDU ::= {iso standard a(2) b(3)}
7853
7854END
7855
7856<STATIC>
7857
7858import from TempA all;
7859external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7860external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7861
7862
7863
7864<TTCN_TC:EXEC>
7865
7866if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7867
7868<RESULT>
7869
7870Overall verdict: pass
7871
7872<END_TC>
7873
7874:exmp.
7875
7876.*---------------------------------------------------------------------*
7877:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive)
7878.*---------------------------------------------------------------------*
7879:xmp tab=0.
7880
7881<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive)>
7882
7883<STATIC:ASN>
7884
7885TempA
7886
7887DEFINITIONS ::=
7888BEGIN
7889BERPDU ::= OBJECT IDENTIFIER
7890b BERPDU ::= {1 0 a(2) b(3)}
7891
7892END
7893
7894<STATIC>
7895
7896import from TempA all;
7897external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7898external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7899
7900
7901
7902<TTCN_TC:EXEC>
7903
7904if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7905
7906<RESULT>
7907
7908Overall verdict: pass
7909
7910<END_TC>
7911
7912:exmp.
7913
7914.*---------------------------------------------------------------------*
7915:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive)
7916.*---------------------------------------------------------------------*
7917:xmp tab=0.
7918
7919<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive)>
7920
7921<STATIC:ASN>
7922
7923TempA
7924
7925DEFINITIONS ::=
7926BEGIN
7927BERPDU ::= OBJECT IDENTIFIER
7928b BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
7929
7930END
7931
7932<STATIC>
7933
7934import from TempA all;
7935external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7936external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7937
7938
7939
7940<TTCN_TC:EXEC>
7941
7942if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7943
7944<RESULT>
7945
7946Overall verdict: pass
7947
7948<END_TC>
7949
7950:exmp.
7951
7952.*---------------------------------------------------------------------*
7953:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive)
7954.*---------------------------------------------------------------------*
7955:xmp tab=0.
7956
7957<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive)>
7958
7959<STATIC:ASN>
7960
7961TempA
7962
7963DEFINITIONS ::=
7964BEGIN
7965BERPDU ::= OBJECT IDENTIFIER
7966b BERPDU ::= {iso member-body a(2) b(3)}
7967
7968END
7969
7970<STATIC>
7971
7972import from TempA all;
7973external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7974external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7975
7976
7977
7978<TTCN_TC:EXEC>
7979
7980if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7981
7982<RESULT>
7983
7984Overall verdict: pass
7985
7986<END_TC>
7987
7988:exmp.
7989
7990.*---------------------------------------------------------------------*
7991:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive)
7992.*---------------------------------------------------------------------*
7993:xmp tab=0.
7994
7995<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive)>
7996
7997<STATIC:ASN>
7998
7999TempA
8000
8001DEFINITIONS ::=
8002BEGIN
8003BERPDU ::= OBJECT IDENTIFIER
8004b BERPDU ::= {1 2 a(2) b(3)}
8005
8006END
8007
8008<STATIC>
8009
8010import from TempA all;
8011external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8012external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8013
8014
8015
8016<TTCN_TC:EXEC>
8017
8018if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
8019
8020<RESULT>
8021
8022Overall verdict: pass
8023
8024<END_TC>
8025
8026:exmp.
8027
8028.*---------------------------------------------------------------------*
8029:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive)
8030.*---------------------------------------------------------------------*
8031:xmp tab=0.
8032
8033<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive)>
8034
8035<STATIC:ASN>
8036
8037TempA
8038
8039DEFINITIONS ::=
8040BEGIN
8041BERPDU ::= OBJECT IDENTIFIER
8042b BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
8043
8044END
8045
8046<STATIC>
8047
8048import from TempA all;
8049external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8050external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8051
8052
8053
8054<TTCN_TC:EXEC>
8055
8056if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8057
8058<RESULT>
8059
8060Overall verdict: pass
8061
8062<END_TC>
8063
8064:exmp.
8065
8066.*---------------------------------------------------------------------*
8067:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive)
8068.*---------------------------------------------------------------------*
8069:xmp tab=0.
8070
8071<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive)>
8072
8073<STATIC:ASN>
8074
8075TempA
8076
8077DEFINITIONS ::=
8078BEGIN
8079BERPDU ::= OBJECT IDENTIFIER
8080b BERPDU ::= {iso identified-organization a(2) b(3)}
8081
8082END
8083
8084<STATIC>
8085
8086import from TempA all;
8087external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8088external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8089
8090
8091
8092<TTCN_TC:EXEC>
8093
8094if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8095
8096<RESULT>
8097
8098Overall verdict: pass
8099
8100<END_TC>
8101
8102:exmp.
8103
8104.*---------------------------------------------------------------------*
8105:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive)
8106.*---------------------------------------------------------------------*
8107:xmp tab=0.
8108
8109<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive)>
8110
8111<STATIC:ASN>
8112
8113TempA
8114
8115DEFINITIONS ::=
8116BEGIN
8117BERPDU ::= OBJECT IDENTIFIER
8118b BERPDU ::= {1 3 a(2) b(3)}
8119
8120END
8121
8122<STATIC>
8123
8124import from TempA all;
8125external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8126external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8127
8128
8129
8130<TTCN_TC:EXEC>
8131
8132if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8133
8134<RESULT>
8135
8136Overall verdict: pass
8137
8138<END_TC>
8139
8140:exmp.
8141
8142.*---------------------------------------------------------------------*
8143:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive)
8144.*---------------------------------------------------------------------*
8145:xmp tab=0.
8146
8147<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive)>
8148
8149<STATIC:ASN>
8150
8151TempA
8152
8153DEFINITIONS ::=
8154BEGIN
8155BERPDU ::= OBJECT IDENTIFIER
8156b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
8157
8158END
8159
8160<STATIC>
8161
8162import from TempA all;
8163external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8164external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8165
8166
8167
8168<TTCN_TC:EXEC>
8169
8170if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8171
8172<RESULT>
8173
8174Overall verdict: pass
8175
8176<END_TC>
8177
8178:exmp.
8179
8180.*---------------------------------------------------------------------*
8181:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive)
8182.*---------------------------------------------------------------------*
8183:xmp tab=0.
8184
8185<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive)>
8186
8187<STATIC:ASN>
8188
8189TempA
8190
8191DEFINITIONS ::=
8192BEGIN
8193BERPDU ::= OBJECT IDENTIFIER
8194b BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
8195
8196END
8197
8198<STATIC>
8199
8200import from TempA all;
8201external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8202external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8203
8204
8205
8206<TTCN_TC:EXEC>
8207
8208if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8209
8210<RESULT>
8211
8212Overall verdict: pass
8213
8214<END_TC>
8215
8216:exmp.
8217
8218.*---------------------------------------------------------------------*
8219:h3.CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive)
8220.*---------------------------------------------------------------------*
8221:xmp tab=0.
8222
8223<TC - CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive)>
8224
8225<STATIC:ASN>
8226
8227TempA
8228
8229DEFINITIONS ::=
8230BEGIN
8231BERPDU ::= OBJECT IDENTIFIER
8232b BERPDU ::= {2 0 a(2) b(3)}
8233
8234END
8235
8236<STATIC>
8237
8238import from TempA all;
8239external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8240external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8241
8242
8243
8244<TTCN_TC:EXEC>
8245
8246if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8247
8248<RESULT>
8249
8250Overall verdict: pass
8251
8252<END_TC>
8253
8254:exmp.
8255
8256.*---------------------------------------------------------------------*
8257:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive)
8258.*---------------------------------------------------------------------*
8259:xmp tab=0.
8260
8261<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive)>
8262
8263<STATIC:ASN>
8264
8265TempA
8266
8267DEFINITIONS ::=
8268BEGIN
8269BERPDU ::= OBJECT IDENTIFIER
8270b BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
8271
8272END
8273
8274<STATIC>
8275
8276import from TempA all;
8277external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8278external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8279
8280
8281
8282<TTCN_TC:EXEC>
8283
8284if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8285
8286<RESULT>
8287
8288Overall verdict: pass
8289
8290<END_TC>
8291
8292:exmp.
8293
8294.*---------------------------------------------------------------------*
8295:h3.CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive)
8296.*---------------------------------------------------------------------*
8297:xmp tab=0.
8298
8299<TC - CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive)>
8300
8301<STATIC:ASN>
8302
8303TempA
8304
8305DEFINITIONS ::=
8306BEGIN
8307BERPDU ::= OBJECT IDENTIFIER
8308b BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
8309
8310END
8311
8312<STATIC>
8313
8314import from TempA all;
8315external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8316external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8317
8318
8319
8320<TTCN_TC:EXEC>
8321
8322if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8323
8324<RESULT>
8325
8326Overall verdict: pass
8327
8328<END_TC>
8329
8330:exmp.
8331
8332.*---------------------------------------------------------------------*
8333:h3.CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive)
8334.*---------------------------------------------------------------------*
8335:xmp tab=0.
8336
8337<TC - CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive)>
8338
8339<STATIC:ASN>
8340
8341TempA
8342
8343DEFINITIONS ::=
8344BEGIN
8345BERPDU ::= OBJECT IDENTIFIER
8346b BERPDU ::= {2 100 a(2) b(3)}
8347
8348END
8349
8350<STATIC>
8351
8352import from TempA all;
8353external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8354external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8355
8356
8357
8358<TTCN_TC:EXEC>
8359
8360if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8361
8362<RESULT>
8363
8364Overall verdict: pass
8365
8366<END_TC>
8367
8368:exmp.
8369
8370.*---------------------------------------------------------------------*
8371:h3.CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive)
8372.*---------------------------------------------------------------------*
8373:xmp tab=0.
8374
8375<TC - CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive)>
8376
8377<STATIC:ASN>
8378
8379TempA
8380
8381DEFINITIONS ::=
8382BEGIN
8383BERPDU ::= OBJECT IDENTIFIER
8384b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
8385
8386END
8387
8388<STATIC>
8389
8390import from TempA all;
8391external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8392external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8393
8394
8395
8396<TTCN_TC:EXEC>
8397
8398if ((enc_DER_PDU(b) == '06075002038F509F20'O)and(enc_CER_PDU(b) == '06075002038F509F20'O)) {setverdict(pass);} else {setverdict(fail);}
8399
8400<RESULT>
8401
8402Overall verdict: pass
8403
8404<END_TC>
8405
8406:exmp.
8407
8408.*---------------------------------------------------------------------*
8409:h3.CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive
8410.*---------------------------------------------------------------------*
8411:xmp tab=0.
8412
8413<TC - CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive>
8414
8415<STATIC:ASN>
8416
8417TempA
8418
8419DEFINITIONS ::=
8420BEGIN
8421BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
8422b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8423
8424END
8425
8426<STATIC>
8427
8428import from TempA all;
8429external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8430external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8431
8432
8433
8434<TTCN_TC:EXEC>
8435
8436if ((enc_DER_PDU(b) == '8003000203'O)and(enc_CER_PDU(b) == '8003000203'O)) {setverdict(pass);} else {setverdict(fail);}
8437
8438<RESULT>
8439
8440Overall verdict: pass
8441
8442<END_TC>
8443
8444:exmp.
8445
8446.*---------------------------------------------------------------------*
8447:h3.CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed
8448.*---------------------------------------------------------------------*
8449:xmp tab=0.
8450
8451<TC - CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed>
8452
8453<STATIC:ASN>
8454
8455TempA
8456
8457DEFINITIONS ::=
8458BEGIN
8459BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
8460b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8461
8462END
8463
8464<STATIC>
8465
8466import from TempA all;
8467external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8468external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8469
8470
8471
8472<TTCN_TC:EXEC>
8473
8474if ((enc_DER_PDU(b) == 'A0050603000203'O)and(enc_CER_PDU(b) == 'A08006030002030000'O)) {setverdict(pass);} else {setverdict(fail);}
8475
8476<RESULT>
8477
8478Overall verdict: pass
8479
8480<END_TC>
8481
8482:exmp.
8483
8484.*---------------------------------------------------------------------*
8485:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive)
8486.*---------------------------------------------------------------------*
8487:xmp tab=0.
8488
8489<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive)>
8490
8491<STATIC:ASN>
8492
8493TempA
8494
8495DEFINITIONS ::=
8496BEGIN
8497BERPDU ::= OBJECT IDENTIFIER
8498
8499myValue BERPDU ::= { itu-t(0) recommendation(0) a(2) b(3)}
8500
8501END
8502
8503<STATIC>
8504
8505import from TempA all;
8506
8507external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8508
8509
8510<TTCN_TC:EXEC>
8511
8512if (dec_BER_PDU('0603000203'O) == myValue)
8513
8514
8515{setverdict(pass);} else {setverdict(fail);}
8516
8517
8518<RESULT>
8519
8520Overall verdict: pass
8521
8522<END_TC>
8523
8524:exmp.
8525
8526.*---------------------------------------------------------------------*
8527:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive)
8528.*---------------------------------------------------------------------*
8529:xmp tab=0.
8530
8531<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive)>
8532
8533<STATIC:ASN>
8534
8535TempA
8536
8537DEFINITIONS ::=
8538BEGIN
8539BERPDU ::= OBJECT IDENTIFIER
8540
8541myValue BERPDU ::= {itu-t recommendation a(2) b(3)}
8542
8543END
8544
8545<STATIC>
8546
8547import from TempA all;
8548
8549external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8550
8551
8552<TTCN_TC:EXEC>
8553
8554if (dec_BER_PDU('0603000203'O) == myValue)
8555
8556
8557{setverdict(pass);} else {setverdict(fail);}
8558
8559
8560<RESULT>
8561
8562Overall verdict: pass
8563
8564<END_TC>
8565
8566:exmp.
8567
8568.*---------------------------------------------------------------------*
8569:h3. DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive)
8570.*---------------------------------------------------------------------*
8571:xmp tab=0.
8572
8573<TC - DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive)>
8574
8575<STATIC:ASN>
8576
8577TempA
8578
8579DEFINITIONS ::=
8580BEGIN
8581BERPDU ::= OBJECT IDENTIFIER
8582
8583myValue BERPDU ::= {0 0 a(2) b(3)}
8584
8585END
8586
8587<STATIC>
8588
8589import from TempA all;
8590
8591external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8592
8593
8594<TTCN_TC:EXEC>
8595
8596if (dec_BER_PDU('0603000203'O) == myValue)
8597
8598
8599{setverdict(pass);} else {setverdict(fail);}
8600
8601
8602<RESULT>
8603
8604Overall verdict: pass
8605
8606<END_TC>
8607
8608:exmp.
8609
8610.*---------------------------------------------------------------------*
8611:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive)
8612.*---------------------------------------------------------------------*
8613:xmp tab=0.
8614
8615<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive)>
8616
8617<STATIC:ASN>
8618
8619TempA
8620
8621DEFINITIONS ::=
8622BEGIN
8623BERPDU ::= OBJECT IDENTIFIER
8624
8625myValue BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
8626
8627END
8628
8629<STATIC>
8630
8631import from TempA all;
8632
8633external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8634
8635
8636<TTCN_TC:EXEC>
8637
8638if (dec_BER_PDU('0603010203'O) == myValue)
8639
8640
8641{setverdict(pass);} else {setverdict(fail);}
8642
8643
8644<RESULT>
8645
8646Overall verdict: pass
8647
8648<END_TC>
8649
8650:exmp.
8651
8652.*---------------------------------------------------------------------*
8653:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive)
8654.*---------------------------------------------------------------------*
8655:xmp tab=0.
8656
8657<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive)>
8658
8659<STATIC:ASN>
8660
8661TempA
8662
8663DEFINITIONS ::=
8664BEGIN
8665BERPDU ::= OBJECT IDENTIFIER
8666
8667myValue BERPDU ::= {itu-t question a(2) b(3)}
8668
8669END
8670
8671<STATIC>
8672
8673import from TempA all;
8674
8675external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8676
8677
8678<TTCN_TC:EXEC>
8679
8680if (dec_BER_PDU('0603010203'O) == myValue)
8681
8682
8683{setverdict(pass);} else {setverdict(fail);}
8684
8685
8686<RESULT>
8687
8688Overall verdict: pass
8689
8690<END_TC>
8691
8692:exmp.
8693
8694.*---------------------------------------------------------------------*
8695:h3. DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive)
8696.*---------------------------------------------------------------------*
8697:xmp tab=0.
8698
8699<TC - DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive)>
8700
8701<STATIC:ASN>
8702
8703TempA
8704
8705DEFINITIONS ::=
8706BEGIN
8707BERPDU ::= OBJECT IDENTIFIER
8708
8709myValue BERPDU ::= {0 1 a(2) b(3)}
8710
8711END
8712
8713<STATIC>
8714
8715import from TempA all;
8716
8717external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8718
8719
8720<TTCN_TC:EXEC>
8721
8722if (dec_BER_PDU('0603010203'O) == myValue)
8723
8724
8725{setverdict(pass);} else {setverdict(fail);}
8726
8727
8728<RESULT>
8729
8730Overall verdict: pass
8731
8732<END_TC>
8733
8734:exmp.
8735
8736.*---------------------------------------------------------------------*
8737:h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive)
8738.*---------------------------------------------------------------------*
8739:xmp tab=0.
8740
8741<TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive)>
8742
8743<STATIC:ASN>
8744
8745TempA
8746
8747DEFINITIONS ::=
8748BEGIN
8749BERPDU ::= OBJECT IDENTIFIER
8750
8751myValue BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
8752
8753END
8754
8755<STATIC>
8756
8757import from TempA all;
8758
8759external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8760
8761
8762<TTCN_TC:EXEC>
8763
8764if (dec_BER_PDU('0603020203'O) == myValue)
8765
8766
8767{setverdict(pass);} else {setverdict(fail);}
8768
8769
8770<RESULT>
8771
8772Overall verdict: pass
8773
8774<END_TC>
8775
8776:exmp.
8777
8778.*---------------------------------------------------------------------*
8779:h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive)
8780.*---------------------------------------------------------------------*
8781:xmp tab=0.
8782
8783<TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive)>
8784
8785<STATIC:ASN>
8786
8787TempA
8788
8789DEFINITIONS ::=
8790BEGIN
8791BERPDU ::= OBJECT IDENTIFIER
8792
8793myValue BERPDU ::= {itu-t administration a(2) b(3)}
8794
8795END
8796
8797<STATIC>
8798
8799import from TempA all;
8800
8801external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8802
8803
8804<TTCN_TC:EXEC>
8805
8806if (dec_BER_PDU('0603020203'O) == myValue)
8807
8808
8809{setverdict(pass);} else {setverdict(fail);}
8810
8811
8812<RESULT>
8813
8814Overall verdict: pass
8815
8816<END_TC>
8817
8818:exmp.
8819
8820.*---------------------------------------------------------------------*
8821:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive)
8822.*---------------------------------------------------------------------*
8823:xmp tab=0.
8824
8825<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive)>
8826
8827<STATIC:ASN>
8828
8829TempA
8830
8831DEFINITIONS ::=
8832BEGIN
8833BERPDU ::= OBJECT IDENTIFIER
8834
8835myValue BERPDU ::= {0 2 a(2) b(3)}
8836
8837END
8838
8839<STATIC>
8840
8841import from TempA all;
8842
8843external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8844
8845
8846<TTCN_TC:EXEC>
8847
8848if (dec_BER_PDU('0603020203'O) == myValue)
8849
8850
8851{setverdict(pass);} else {setverdict(fail);}
8852
8853
8854<RESULT>
8855
8856Overall verdict: pass
8857
8858<END_TC>
8859
8860:exmp.
8861
8862.*---------------------------------------------------------------------*
8863:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive)
8864.*---------------------------------------------------------------------*
8865:xmp tab=0.
8866
8867<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive)>
8868
8869<STATIC:ASN>
8870
8871TempA
8872
8873DEFINITIONS ::=
8874BEGIN
8875BERPDU ::= OBJECT IDENTIFIER
8876
8877myValue BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
8878
8879END
8880
8881<STATIC>
8882
8883import from TempA all;
8884
8885external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8886
8887
8888<TTCN_TC:EXEC>
8889
8890if (dec_BER_PDU('0603030203'O) == myValue)
8891
8892
8893{setverdict(pass);} else {setverdict(fail);}
8894
8895
8896<RESULT>
8897
8898Overall verdict: pass
8899
8900<END_TC>
8901
8902:exmp.
8903
8904.*---------------------------------------------------------------------*
8905:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive)
8906.*---------------------------------------------------------------------*
8907:xmp tab=0.
8908
8909<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive)>
8910
8911<STATIC:ASN>
8912
8913TempA
8914
8915DEFINITIONS ::=
8916BEGIN
8917BERPDU ::= OBJECT IDENTIFIER
8918
8919myValue BERPDU ::= {itu-t network-operator a(2) b(3)}
8920
8921END
8922
8923<STATIC>
8924
8925import from TempA all;
8926
8927external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8928
8929
8930<TTCN_TC:EXEC>
8931
8932if (dec_BER_PDU('0603030203'O) == myValue)
8933
8934
8935{setverdict(pass);} else {setverdict(fail);}
8936
8937
8938<RESULT>
8939
8940Overall verdict: pass
8941
8942<END_TC>
8943
8944:exmp.
8945
8946.*---------------------------------------------------------------------*
8947:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive)
8948.*---------------------------------------------------------------------*
8949:xmp tab=0.
8950
8951<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive)>
8952
8953<STATIC:ASN>
8954
8955TempA
8956
8957DEFINITIONS ::=
8958BEGIN
8959BERPDU ::= OBJECT IDENTIFIER
8960
8961myValue BERPDU ::= {0 3 a(2) b(3)}
8962
8963END
8964
8965<STATIC>
8966
8967import from TempA all;
8968
8969external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8970
8971
8972<TTCN_TC:EXEC>
8973
8974if (dec_BER_PDU('0603030203'O) == myValue)
8975
8976
8977{setverdict(pass);} else {setverdict(fail);}
8978
8979
8980<RESULT>
8981
8982Overall verdict: pass
8983
8984<END_TC>
8985
8986:exmp.
8987
8988.*---------------------------------------------------------------------*
8989:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive)
8990.*---------------------------------------------------------------------*
8991:xmp tab=0.
8992
8993<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive)>
8994
8995<STATIC:ASN>
8996
8997TempA
8998
8999DEFINITIONS ::=
9000BEGIN
9001BERPDU ::= OBJECT IDENTIFIER
9002
9003myValue BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
9004
9005END
9006
9007<STATIC>
9008
9009import from TempA all;
9010
9011external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9012
9013
9014<TTCN_TC:EXEC>
9015
9016if (dec_BER_PDU('0603040203'O) == myValue)
9017
9018
9019{setverdict(pass);} else {setverdict(fail);}
9020
9021
9022<RESULT>
9023
9024Overall verdict: pass
9025
9026<END_TC>
9027
9028:exmp.
9029
9030.*---------------------------------------------------------------------*
9031:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive)
9032.*---------------------------------------------------------------------*
9033:xmp tab=0.
9034
9035<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive)>
9036
9037<STATIC:ASN>
9038
9039TempA
9040
9041DEFINITIONS ::=
9042BEGIN
9043BERPDU ::= OBJECT IDENTIFIER
9044
9045myValue BERPDU ::= {itu-t identified-organization a(2) b(3)}
9046
9047END
9048
9049<STATIC>
9050
9051import from TempA all;
9052
9053external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9054
9055
9056<TTCN_TC:EXEC>
9057
9058if (dec_BER_PDU('0603040203'O) == myValue)
9059
9060
9061{setverdict(pass);} else {setverdict(fail);}
9062
9063
9064<RESULT>
9065
9066Overall verdict: pass
9067
9068<END_TC>
9069
9070:exmp.
9071
9072.*---------------------------------------------------------------------*
9073:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive)
9074.*---------------------------------------------------------------------*
9075:xmp tab=0.
9076
9077<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive)>
9078
9079<STATIC:ASN>
9080
9081TempA
9082
9083DEFINITIONS ::=
9084BEGIN
9085BERPDU ::= OBJECT IDENTIFIER
9086
9087myValue BERPDU ::= {0 4 a(2) b(3)}
9088
9089END
9090
9091<STATIC>
9092
9093import from TempA all;
9094
9095external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9096
9097
9098<TTCN_TC:EXEC>
9099
9100if (dec_BER_PDU('0603040203'O) == myValue)
9101
9102
9103{setverdict(pass);} else {setverdict(fail);}
9104
9105
9106<RESULT>
9107
9108Overall verdict: pass
9109
9110<END_TC>
9111
9112:exmp.
9113
9114.*---------------------------------------------------------------------*
9115:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive)
9116.*---------------------------------------------------------------------*
9117:xmp tab=0.
9118
9119<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive)>
9120
9121<STATIC:ASN>
9122
9123TempA
9124
9125DEFINITIONS ::=
9126BEGIN
9127BERPDU ::= OBJECT IDENTIFIER
9128
9129myValue BERPDU ::= {iso(1) standard(0) a(2) b(3)}
9130
9131END
9132
9133<STATIC>
9134
9135import from TempA all;
9136
9137external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9138
9139
9140<TTCN_TC:EXEC>
9141
9142if (dec_BER_PDU('0603280203'O) == myValue)
9143
9144
9145{setverdict(pass);} else {setverdict(fail);}
9146
9147
9148<RESULT>
9149
9150Overall verdict: pass
9151
9152<END_TC>
9153
9154:exmp.
9155
9156.*---------------------------------------------------------------------*
9157:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive)
9158.*---------------------------------------------------------------------*
9159:xmp tab=0.
9160
9161<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive)>
9162
9163<STATIC:ASN>
9164
9165TempA
9166
9167DEFINITIONS ::=
9168BEGIN
9169BERPDU ::= OBJECT IDENTIFIER
9170
9171myValue BERPDU ::= {iso standard a(2) b(3)}
9172
9173END
9174
9175<STATIC>
9176
9177import from TempA all;
9178
9179external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9180
9181
9182<TTCN_TC:EXEC>
9183
9184if (dec_BER_PDU('0603280203'O) == myValue)
9185
9186
9187{setverdict(pass);} else {setverdict(fail);}
9188
9189
9190<RESULT>
9191
9192Overall verdict: pass
9193
9194<END_TC>
9195
9196:exmp.
9197
9198.*---------------------------------------------------------------------*
9199:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive)
9200.*---------------------------------------------------------------------*
9201:xmp tab=0.
9202
9203<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive)>
9204
9205<STATIC:ASN>
9206
9207TempA
9208
9209DEFINITIONS ::=
9210BEGIN
9211BERPDU ::= OBJECT IDENTIFIER
9212
9213myValue BERPDU ::= {1 0 a(2) b(3)}
9214
9215END
9216
9217<STATIC>
9218
9219import from TempA all;
9220
9221external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9222
9223
9224<TTCN_TC:EXEC>
9225
9226if (dec_BER_PDU('0603280203'O) == myValue)
9227
9228
9229{setverdict(pass);} else {setverdict(fail);}
9230
9231
9232<RESULT>
9233
9234Overall verdict: pass
9235
9236<END_TC>
9237
9238:exmp.
9239
9240.*---------------------------------------------------------------------*
9241:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive)
9242.*---------------------------------------------------------------------*
9243:xmp tab=0.
9244
9245<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive)>
9246
9247<STATIC:ASN>
9248
9249TempA
9250
9251DEFINITIONS ::=
9252BEGIN
9253BERPDU ::= OBJECT IDENTIFIER
9254
9255myValue BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
9256
9257END
9258
9259<STATIC>
9260
9261import from TempA all;
9262
9263external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9264
9265
9266<TTCN_TC:EXEC>
9267
9268if (dec_BER_PDU('06032A0203'O) == myValue)
9269
9270
9271{setverdict(pass);} else {setverdict(fail);}
9272
9273
9274<RESULT>
9275
9276Overall verdict: pass
9277
9278<END_TC>
9279
9280:exmp.
9281
9282.*---------------------------------------------------------------------*
9283:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive)
9284.*---------------------------------------------------------------------*
9285:xmp tab=0.
9286
9287<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive)>
9288
9289<STATIC:ASN>
9290
9291TempA
9292
9293DEFINITIONS ::=
9294BEGIN
9295BERPDU ::= OBJECT IDENTIFIER
9296
9297myValue BERPDU ::= {iso member-body a(2) b(3)}
9298
9299END
9300
9301<STATIC>
9302
9303import from TempA all;
9304
9305external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9306
9307
9308<TTCN_TC:EXEC>
9309
9310if (dec_BER_PDU('06032A0203'O) == myValue)
9311
9312
9313{setverdict(pass);} else {setverdict(fail);}
9314
9315
9316<RESULT>
9317
9318Overall verdict: pass
9319
9320<END_TC>
9321
9322:exmp.
9323
9324.*---------------------------------------------------------------------*
9325:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive)
9326.*---------------------------------------------------------------------*
9327:xmp tab=0.
9328
9329<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive)>
9330
9331<STATIC:ASN>
9332
9333TempA
9334
9335DEFINITIONS ::=
9336BEGIN
9337BERPDU ::= OBJECT IDENTIFIER
9338
9339myValue BERPDU ::= {1 2 a(2) b(3)}
9340
9341END
9342
9343<STATIC>
9344
9345import from TempA all;
9346
9347external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9348
9349
9350<TTCN_TC:EXEC>
9351
9352if (dec_BER_PDU('06032A0203'O) == myValue)
9353
9354
9355{setverdict(pass);} else {setverdict(fail);}
9356
9357
9358<RESULT>
9359
9360Overall verdict: pass
9361
9362<END_TC>
9363
9364:exmp.
9365
9366.*---------------------------------------------------------------------*
9367:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive)
9368.*---------------------------------------------------------------------*
9369:xmp tab=0.
9370
9371<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive)>
9372
9373<STATIC:ASN>
9374
9375TempA
9376
9377DEFINITIONS ::=
9378BEGIN
9379BERPDU ::= OBJECT IDENTIFIER
9380
9381myValue BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
9382
9383END
9384
9385<STATIC>
9386
9387import from TempA all;
9388
9389external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9390
9391
9392<TTCN_TC:EXEC>
9393
9394if (dec_BER_PDU('06032B0203'O) == myValue)
9395
9396
9397{setverdict(pass);} else {setverdict(fail);}
9398
9399
9400<RESULT>
9401
9402Overall verdict: pass
9403
9404<END_TC>
9405
9406:exmp.
9407
9408.*---------------------------------------------------------------------*
9409:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive)
9410.*---------------------------------------------------------------------*
9411:xmp tab=0.
9412
9413<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive)>
9414
9415<STATIC:ASN>
9416
9417TempA
9418
9419DEFINITIONS ::=
9420BEGIN
9421BERPDU ::= OBJECT IDENTIFIER
9422
9423myValue BERPDU ::= {iso identified-organization a(2) b(3)}
9424
9425END
9426
9427<STATIC>
9428
9429import from TempA all;
9430
9431external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9432
9433
9434<TTCN_TC:EXEC>
9435
9436if (dec_BER_PDU('06032B0203'O) == myValue)
9437
9438
9439{setverdict(pass);} else {setverdict(fail);}
9440
9441
9442<RESULT>
9443
9444Overall verdict: pass
9445
9446<END_TC>
9447
9448:exmp.
9449
9450.*---------------------------------------------------------------------*
9451:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive)
9452.*---------------------------------------------------------------------*
9453:xmp tab=0.
9454
9455<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive)>
9456
9457<STATIC:ASN>
9458
9459TempA
9460
9461DEFINITIONS ::=
9462BEGIN
9463BERPDU ::= OBJECT IDENTIFIER
9464
9465myValue BERPDU ::= {1 3 a(2) b(3)}
9466
9467END
9468
9469<STATIC>
9470
9471import from TempA all;
9472
9473external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9474
9475
9476<TTCN_TC:EXEC>
9477
9478if (dec_BER_PDU('06032B0203'O) == myValue)
9479
9480
9481{setverdict(pass);} else {setverdict(fail);}
9482
9483
9484<RESULT>
9485
9486Overall verdict: pass
9487
9488<END_TC>
9489
9490:exmp.
9491
9492.*---------------------------------------------------------------------*
9493:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive)
9494.*---------------------------------------------------------------------*
9495:xmp tab=0.
9496
9497<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive)>
9498
9499<STATIC:ASN>
9500
9501TempA
9502
9503DEFINITIONS ::=
9504BEGIN
9505BERPDU ::= OBJECT IDENTIFIER
9506
9507myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
9508
9509END
9510
9511<STATIC>
9512
9513import from TempA all;
9514
9515external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9516
9517
9518<TTCN_TC:EXEC>
9519
9520if (dec_BER_PDU('0603500203'O) == myValue)
9521
9522
9523{setverdict(pass);} else {setverdict(fail);}
9524
9525
9526<RESULT>
9527
9528Overall verdict: pass
9529
9530<END_TC>
9531
9532:exmp.
9533
9534.*---------------------------------------------------------------------*
9535:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive)
9536.*---------------------------------------------------------------------*
9537:xmp tab=0.
9538
9539<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive)>
9540
9541<STATIC:ASN>
9542
9543TempA
9544
9545DEFINITIONS ::=
9546BEGIN
9547BERPDU ::= OBJECT IDENTIFIER
9548
9549myValue BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
9550
9551
9552END
9553
9554<STATIC>
9555
9556import from TempA all;
9557
9558external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9559
9560
9561<TTCN_TC:EXEC>
9562
9563if (dec_BER_PDU('0603500203'O) == myValue)
9564
9565
9566{setverdict(pass);} else {setverdict(fail);}
9567
9568
9569<RESULT>
9570
9571Overall verdict: pass
9572
9573<END_TC>
9574
9575:exmp.
9576
9577.*---------------------------------------------------------------------*
9578:h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive)
9579.*---------------------------------------------------------------------*
9580:xmp tab=0.
9581
9582<TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive)>
9583
9584<STATIC:ASN>
9585
9586TempA
9587
9588DEFINITIONS ::=
9589BEGIN
9590BERPDU ::= OBJECT IDENTIFIER
9591
9592myValue BERPDU ::= {2 0 a(2) b(3)}
9593
9594END
9595
9596<STATIC>
9597
9598import from TempA all;
9599
9600external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9601
9602
9603<TTCN_TC:EXEC>
9604
9605if (dec_BER_PDU('0603500203'O) == myValue)
9606
9607
9608{setverdict(pass);} else {setverdict(fail);}
9609
9610
9611<RESULT>
9612
9613Overall verdict: pass
9614
9615<END_TC>
9616
9617:exmp.
9618
9619.*---------------------------------------------------------------------*
9620:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)
9621.*---------------------------------------------------------------------*
9622:xmp tab=0.
9623
9624<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)>
9625
9626<STATIC:ASN>
9627
9628TempA
9629
9630DEFINITIONS ::=
9631BEGIN
9632BERPDU ::= OBJECT IDENTIFIER
9633
9634myValue BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
9635
9636END
9637
9638<STATIC>
9639
9640import from TempA all;
9641
9642external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9643
9644
9645<TTCN_TC:EXEC>
9646
9647if (dec_BER_PDU('060481340203'O) == myValue)
9648
9649
9650{setverdict(pass);} else {setverdict(fail);}
9651
9652
9653<RESULT>
9654
9655Overall verdict: pass
9656
9657<END_TC>
9658
9659:exmp.
9660
9661.*---------------------------------------------------------------------*
9662:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)
9663.*---------------------------------------------------------------------*
9664:xmp tab=0.
9665
9666<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)>
9667
9668<STATIC:ASN>
9669
9670TempA
9671
9672DEFINITIONS ::=
9673BEGIN
9674BERPDU ::= OBJECT IDENTIFIER
9675
9676myValue BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
9677
9678END
9679
9680<STATIC>
9681
9682import from TempA all;
9683
9684external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9685
9686
9687<TTCN_TC:EXEC>
9688
9689if (dec_BER_PDU('060481340203'O) == myValue)
9690
9691
9692{setverdict(pass);} else {setverdict(fail);}
9693
9694
9695<RESULT>
9696
9697Overall verdict: pass
9698
9699<END_TC>
9700
9701:exmp.
9702
9703.*---------------------------------------------------------------------*
9704:h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive)
9705.*---------------------------------------------------------------------*
9706:xmp tab=0.
9707
9708<TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive)>
9709
9710<STATIC:ASN>
9711
9712TempA
9713
9714DEFINITIONS ::=
9715BEGIN
9716BERPDU ::= OBJECT IDENTIFIER
9717
9718myValue BERPDU ::= {2 100 a(2) b(3)}
9719
9720END
9721
9722<STATIC>
9723
9724import from TempA all;
9725
9726external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9727
9728
9729<TTCN_TC:EXEC>
9730
9731if (dec_BER_PDU('060481340203'O) == myValue)
9732
9733
9734{setverdict(pass);} else {setverdict(fail);}
9735
9736
9737<RESULT>
9738
9739Overall verdict: pass
9740
9741<END_TC>
9742
9743:exmp.
9744
9745.*---------------------------------------------------------------------*
9746:h3. DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive)
9747.*---------------------------------------------------------------------*
9748:xmp tab=0.
9749
9750<TC - DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive)>
9751
9752<STATIC:ASN>
9753
9754TempA
9755
9756DEFINITIONS ::=
9757BEGIN
9758BERPDU ::= OBJECT IDENTIFIER
9759
9760myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
9761
9762END
9763
9764<STATIC>
9765
9766import from TempA all;
9767
9768external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9769
9770
9771<TTCN_TC:EXEC>
9772
9773if (dec_BER_PDU('06075002038F509F20'O) == myValue)
9774
9775
9776{setverdict(pass);} else {setverdict(fail);}
9777
9778
9779<RESULT>
9780
9781Overall verdict: pass
9782
9783<END_TC>
9784
9785:exmp.
9786
9787.*---------------------------------------------------------------------*
9788:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive
9789.*---------------------------------------------------------------------*
9790:xmp tab=0.
9791
9792<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive>
9793
9794<STATIC:ASN>
9795
9796TempA
9797
9798DEFINITIONS ::=
9799BEGIN
9800BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
9801
9802myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9803
9804END
9805
9806<STATIC>
9807
9808import from TempA all;
9809
9810external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9811
9812
9813<TTCN_TC:EXEC>
9814
9815if (dec_BER_PDU('8003000203'O) == myValue)
9816
9817
9818{setverdict(pass);} else {setverdict(fail);}
9819
9820
9821<RESULT>
9822
9823Overall verdict: pass
9824
9825<END_TC>
9826
9827:exmp.
9828
9829.*---------------------------------------------------------------------*
9830:h3. DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed
9831.*---------------------------------------------------------------------*
9832:xmp tab=0.
9833
9834<TC - DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed>
9835
9836<STATIC:ASN>
9837
9838TempA
9839
9840DEFINITIONS ::=
9841BEGIN
9842BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9843
9844myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9845
9846END
9847
9848<STATIC>
9849
9850import from TempA all;
9851
9852external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9853
9854
9855<TTCN_TC:EXEC>
9856
9857if (dec_BER_PDU('A0050603000203'O) == myValue)
9858
9859
9860
9861{setverdict(pass);} else {setverdict(fail);}
9862
9863
9864<RESULT>
9865
9866Overall verdict: pass
9867
9868<END_TC>
9869
9870:exmp.
9871
9872.*---------------------------------------------------------------------*
9873:h3. DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed
9874.*---------------------------------------------------------------------*
9875:xmp tab=0.
9876
9877<TC - DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed>
9878
9879<STATIC:ASN>
9880
9881TempA
9882
9883DEFINITIONS ::=
9884BEGIN
9885BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9886
9887myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9888
9889END
9890
9891<STATIC>
9892
9893import from TempA all;
9894
9895external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9896
9897
9898<TTCN_TC:EXEC>
9899
9900if (dec_BER_PDU('A08006030002030000'O) == myValue)
9901
9902{setverdict(pass);} else {setverdict(fail);}
9903
9904
9905<RESULT>
9906
9907Overall verdict: pass
9908
9909<END_TC>
9910
9911:exmp.
9912
9913.*---------------------------------------------------------------------*
9914:h3. CER + DER encoding of OPEN TYPE from Information Object Class
9915.*---------------------------------------------------------------------*
9916:xmp tab=0.
9917
9918<TC - CER + DER encoding of OPEN TYPE from Information Object Class>
9919
9920<STATIC:ASN>
9921
9922TempA
9923
9924DEFINITIONS ::=
9925BEGIN
9926
9927
9928--***************************************************************************************************
9929--modified class taken from Gyuri ASN1
9930--***************************************************************************************************
9931MY-CLASS-1 ::= CLASS
9932{
9933&TypeField OPTIONAL,
9934&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
9935
9936}
9937WITH SYNTAX
9938{
9939[TYPE FIELD &TypeField]
9940[FIXED VALUE TYPE FIELD &fixedTypeValueField]
9941}
9942
9943ASN1-Type1 ::= INTEGER
9944
9945ASN1-Type2 ::= BOOLEAN
9946
9947ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
9948
9949ASN1-Type4 ::= OCTET STRING
9950
9951
9952--****************************************************************************************************
9953-- OBJECTS using the class defined above
9954--****************************************************************************************************
9955
9956
9957myObject-1 MY-CLASS-1 ::=
9958{
9959TYPE FIELD ASN1-Type3
9960FIXED VALUE TYPE FIELD 999
9961}
9962
9963
9964myObject-2 MY-CLASS-1 ::=
9965{
9966TYPE FIELD ASN1-Type2
9967FIXED VALUE TYPE FIELD 888
9968}
9969
9970myObject-3 MY-CLASS-1 ::=
9971{
9972TYPE FIELD ASN1-Type4
9973FIXED VALUE TYPE FIELD 555
9974}
9975
9976--****************************************************************************************************
9977-- Defining Information Object sets
9978--****************************************************************************************************
9979
9980MyInformationObjectSet1 MY-CLASS-1 ::=
9981{
9982myObject-1|
9983myObject-2,
9984...
9985}
9986
9987MyInformationObjectSet2 MY-CLASS-1 ::=
9988{
9989MyInformationObjectSet1|
9990myObject-3,
9991...
9992}
9993
9994BERPDU ::= SEQUENCE
9995
9996{
9997field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
9998field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
9999}
10000
10001
10002END
10003
10004<STATIC>
10005
10006import from TempA all;
10007external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10008external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10009
10010const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}},field2 := 999 };
10011
10012
10013<TTCN_TC:EXEC>
10014
10015if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10016
10017
10018<RESULT>
10019
10020Overall verdict: pass
10021
10022<END_TC>
10023
10024:exmp.
10025
10026.*---------------------------------------------------------------------*
10027:h3. CER + DER encoding of TYPE from Information Object
10028.*---------------------------------------------------------------------*
10029:xmp tab=0.
10030
10031<TC - CER + DER encoding of TYPE from Information Object >
10032
10033<STATIC:ASN>
10034
10035TempA
10036
10037DEFINITIONS
10038
10039
10040::=
10041
10042BEGIN
10043
10044
10045--***************************************************************************************************
10046--modified class taken from Gyuri ASN1
10047--***************************************************************************************************
10048MY-CLASS-1 ::= CLASS
10049{
10050&TypeField OPTIONAL,
10051&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10052
10053}
10054WITH SYNTAX
10055{
10056[TYPE FIELD &TypeField]
10057[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10058}
10059
10060ASN1-Type1 ::= INTEGER
10061
10062ASN1-Type2 ::= BOOLEAN
10063
10064ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10065
10066ASN1-Type4 ::= OCTET STRING
10067
10068
10069--****************************************************************************************************
10070-- OBJECTS using the class defined above
10071--****************************************************************************************************
10072
10073
10074myObject-1 MY-CLASS-1 ::=
10075{
10076TYPE FIELD ASN1-Type3
10077FIXED VALUE TYPE FIELD 999
10078}
10079
10080
10081myObject-2 MY-CLASS-1 ::=
10082{
10083TYPE FIELD ASN1-Type2
10084FIXED VALUE TYPE FIELD 888
10085}
10086
10087myObject-3 MY-CLASS-1 ::=
10088{
10089TYPE FIELD ASN1-Type4
10090FIXED VALUE TYPE FIELD 555
10091}
10092
10093--****************************************************************************************************
10094-- Defining Information Object sets
10095--****************************************************************************************************
10096
10097MyInformationObjectSet1 MY-CLASS-1 ::=
10098{
10099myObject-1|
10100myObject-2,
10101...
10102}
10103
10104MyInformationObjectSet2 MY-CLASS-1 ::=
10105{
10106MyInformationObjectSet1|
10107myObject-3,
10108...
10109}
10110
10111
10112
10113BERPDU ::= SEQUENCE
10114
10115{
10116field1 myObject-1.&TypeField , -- type from object
10117field2 MY-CLASS-1.&fixedTypeValueField
10118}
10119
10120END
10121
10122
10123<STATIC>
10124
10125import from TempA all;
10126external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10127external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10128
10129const BERPDU myValue := { field1 := {f1 := 8},field2 := 999 };
10130
10131
10132<TTCN_TC:EXEC>
10133
10134if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10135
10136
10137<RESULT>
10138
10139Overall verdict: pass
10140
10141<END_TC>
10142
10143:exmp.
10144
10145.*---------------------------------------------------------------------*
10146:h3. DECODING ,OPEN TYPE, DER, from Information Object Class
10147.*---------------------------------------------------------------------*
10148:xmp tab=0.
10149
10150<TC - DECODING ,OPEN TYPE, DER, from Information Object Class>
10151
10152<STATIC:ASN>
10153
10154
10155TempA
10156
10157DEFINITIONS ::=
10158BEGIN
10159
10160
10161--***************************************************************************************************
10162--modified class taken from Gyuri ASN1
10163--***************************************************************************************************
10164MY-CLASS-1 ::= CLASS
10165{
10166&TypeField OPTIONAL,
10167&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10168
10169}
10170WITH SYNTAX
10171{
10172[TYPE FIELD &TypeField]
10173[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10174}
10175
10176ASN1-Type1 ::= INTEGER
10177
10178ASN1-Type2 ::= BOOLEAN
10179
10180ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10181
10182ASN1-Type4 ::= OCTET STRING
10183
10184
10185--****************************************************************************************************
10186-- OBJECTS using the class defined above
10187--****************************************************************************************************
10188
10189
10190myObject-1 MY-CLASS-1 ::=
10191{
10192TYPE FIELD ASN1-Type3
10193FIXED VALUE TYPE FIELD 999
10194}
10195
10196
10197myObject-2 MY-CLASS-1 ::=
10198{
10199TYPE FIELD ASN1-Type2
10200FIXED VALUE TYPE FIELD 888
10201}
10202
10203myObject-3 MY-CLASS-1 ::=
10204{
10205TYPE FIELD ASN1-Type4
10206FIXED VALUE TYPE FIELD 555
10207}
10208
10209--****************************************************************************************************
10210-- Defining Information Object sets
10211--****************************************************************************************************
10212
10213MyInformationObjectSet1 MY-CLASS-1 ::=
10214{
10215myObject-1|
10216myObject-2,
10217...
10218}
10219
10220MyInformationObjectSet2 MY-CLASS-1 ::=
10221{
10222MyInformationObjectSet1|
10223myObject-3,
10224...
10225}
10226
10227BERPDU ::= SEQUENCE
10228
10229{
10230field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10231field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10232}
10233
10234
10235END
10236<STATIC>
10237
10238import from TempA all;
10239
10240external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10241
10242const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10243
10244
10245<TTCN_TC:EXEC>
10246
10247if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10248
10249{setverdict(pass);} else {setverdict(fail);}
10250
10251
10252<RESULT>
10253
10254Overall verdict: pass
10255
10256<END_TC>
10257
10258:exmp.
10259
10260.*---------------------------------------------------------------------*
10261:h3. DECODING ,OPEN TYPE, CER, from Information Object Class
10262.*---------------------------------------------------------------------*
10263:xmp tab=0.
10264
10265<TC - DECODING ,OPEN TYPE, CER, from Information Object Class>
10266
10267<STATIC:ASN>
10268
10269
10270TempA
10271
10272DEFINITIONS ::=
10273BEGIN
10274
10275
10276--***************************************************************************************************
10277--modified class taken from Gyuri ASN1
10278--***************************************************************************************************
10279MY-CLASS-1 ::= CLASS
10280{
10281&TypeField OPTIONAL,
10282&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10283
10284}
10285WITH SYNTAX
10286{
10287[TYPE FIELD &TypeField]
10288[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10289}
10290
10291ASN1-Type1 ::= INTEGER
10292
10293ASN1-Type2 ::= BOOLEAN
10294
10295ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10296
10297ASN1-Type4 ::= OCTET STRING
10298
10299
10300--****************************************************************************************************
10301-- OBJECTS using the class defined above
10302--****************************************************************************************************
10303
10304
10305myObject-1 MY-CLASS-1 ::=
10306{
10307TYPE FIELD ASN1-Type3
10308FIXED VALUE TYPE FIELD 999
10309}
10310
10311
10312myObject-2 MY-CLASS-1 ::=
10313{
10314TYPE FIELD ASN1-Type2
10315FIXED VALUE TYPE FIELD 888
10316}
10317
10318myObject-3 MY-CLASS-1 ::=
10319{
10320TYPE FIELD ASN1-Type4
10321FIXED VALUE TYPE FIELD 555
10322}
10323
10324--****************************************************************************************************
10325-- Defining Information Object sets
10326--****************************************************************************************************
10327
10328MyInformationObjectSet1 MY-CLASS-1 ::=
10329{
10330myObject-1|
10331myObject-2,
10332...
10333}
10334
10335MyInformationObjectSet2 MY-CLASS-1 ::=
10336{
10337MyInformationObjectSet1|
10338myObject-3,
10339...
10340}
10341
10342BERPDU ::= SEQUENCE
10343
10344{
10345field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10346field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10347}
10348
10349
10350END
10351<STATIC>
10352
10353import from TempA all;
10354
10355external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10356
10357const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10358
10359
10360<TTCN_TC:EXEC>
10361
10362if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10363
10364{setverdict(pass);} else {setverdict(fail);}
10365
10366
10367<RESULT>
10368
10369Overall verdict: pass
10370
10371<END_TC>
10372
10373:exmp.
10374
10375.*---------------------------------------------------------------------*
10376:h3. DECODING , TYPE from Information Object Class, DER
10377.*---------------------------------------------------------------------*
10378:xmp tab=0.
10379
10380<TC - DECODING , TYPE from Information Object Class, DER>
10381
10382<STATIC:ASN>
10383
10384
10385TempA
10386
10387DEFINITIONS
10388
10389
10390::=
10391
10392BEGIN
10393
10394
10395--***************************************************************************************************
10396--modified class taken from Gyuri ASN1
10397--***************************************************************************************************
10398MY-CLASS-1 ::= CLASS
10399{
10400&TypeField OPTIONAL,
10401&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10402
10403}
10404WITH SYNTAX
10405{
10406[TYPE FIELD &TypeField]
10407[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10408}
10409
10410ASN1-Type1 ::= INTEGER
10411
10412ASN1-Type2 ::= BOOLEAN
10413
10414ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10415
10416ASN1-Type4 ::= OCTET STRING
10417
10418
10419--****************************************************************************************************
10420-- OBJECTS using the class defined above
10421--****************************************************************************************************
10422
10423
10424myObject-1 MY-CLASS-1 ::=
10425{
10426TYPE FIELD ASN1-Type3
10427FIXED VALUE TYPE FIELD 999
10428}
10429
10430
10431myObject-2 MY-CLASS-1 ::=
10432{
10433TYPE FIELD ASN1-Type2
10434FIXED VALUE TYPE FIELD 888
10435}
10436
10437myObject-3 MY-CLASS-1 ::=
10438{
10439TYPE FIELD ASN1-Type4
10440FIXED VALUE TYPE FIELD 555
10441}
10442
10443--****************************************************************************************************
10444-- Defining Information Object sets
10445--****************************************************************************************************
10446
10447MyInformationObjectSet1 MY-CLASS-1 ::=
10448{
10449myObject-1|
10450myObject-2,
10451...
10452}
10453
10454MyInformationObjectSet2 MY-CLASS-1 ::=
10455{
10456MyInformationObjectSet1|
10457myObject-3,
10458...
10459}
10460
10461
10462
10463BERPDU ::= SEQUENCE
10464
10465{
10466field1 myObject-1.&TypeField , -- type from object
10467field2 MY-CLASS-1.&fixedTypeValueField
10468}
10469
10470END
10471
10472<STATIC>
10473
10474import from TempA all;
10475
10476external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10477
10478const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10479
10480
10481<TTCN_TC:EXEC>
10482
10483if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10484
10485{setverdict(pass);} else {setverdict(fail);}
10486
10487
10488<RESULT>
10489
10490Overall verdict: pass
10491
10492<END_TC>
10493
10494:exmp.
10495
10496.*---------------------------------------------------------------------*
10497:h3. DECODING , TYPE from Information Object Class, CER
10498.*---------------------------------------------------------------------*
10499:xmp tab=0.
10500
10501<TC - DECODING , TYPE from Information Object Class, CER>
10502
10503<STATIC:ASN>
10504
10505
10506TempA
10507
10508DEFINITIONS
10509
10510
10511::=
10512
10513BEGIN
10514
10515
10516--***************************************************************************************************
10517--modified class taken from Gyuri ASN1
10518--***************************************************************************************************
10519MY-CLASS-1 ::= CLASS
10520{
10521&TypeField OPTIONAL,
10522&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10523
10524}
10525WITH SYNTAX
10526{
10527[TYPE FIELD &TypeField]
10528[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10529}
10530
10531ASN1-Type1 ::= INTEGER
10532
10533ASN1-Type2 ::= BOOLEAN
10534
10535ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10536
10537ASN1-Type4 ::= OCTET STRING
10538
10539
10540--****************************************************************************************************
10541-- OBJECTS using the class defined above
10542--****************************************************************************************************
10543
10544
10545myObject-1 MY-CLASS-1 ::=
10546{
10547TYPE FIELD ASN1-Type3
10548FIXED VALUE TYPE FIELD 999
10549}
10550
10551
10552myObject-2 MY-CLASS-1 ::=
10553{
10554TYPE FIELD ASN1-Type2
10555FIXED VALUE TYPE FIELD 888
10556}
10557
10558myObject-3 MY-CLASS-1 ::=
10559{
10560TYPE FIELD ASN1-Type4
10561FIXED VALUE TYPE FIELD 555
10562}
10563
10564--****************************************************************************************************
10565-- Defining Information Object sets
10566--****************************************************************************************************
10567
10568MyInformationObjectSet1 MY-CLASS-1 ::=
10569{
10570myObject-1|
10571myObject-2,
10572...
10573}
10574
10575MyInformationObjectSet2 MY-CLASS-1 ::=
10576{
10577MyInformationObjectSet1|
10578myObject-3,
10579...
10580}
10581
10582
10583
10584BERPDU ::= SEQUENCE
10585
10586{
10587field1 myObject-1.&TypeField , -- type from object
10588field2 MY-CLASS-1.&fixedTypeValueField
10589}
10590
10591END
10592
10593<STATIC>
10594
10595import from TempA all;
10596
10597external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10598
10599const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10600
10601
10602<TTCN_TC:EXEC>
10603
10604if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10605
10606{setverdict(pass);} else {setverdict(fail);}
10607
10608
10609<RESULT>
10610
10611Overall verdict: pass
10612
10613<END_TC>
10614
10615:exmp.
10616
10617.*---------------------------------------------------------------------*
10618:h2. Encoding/decoding of big integers
10619.*---------------------------------------------------------------------*
10620.*---------------------------------------------------------------------*
10621:h3. Encoding/decoding of big integers
10622.*---------------------------------------------------------------------*
10623:xmp tab=0.
10624
10625<TC - Encoding/decoding of big integers>
10626
10627<STATIC:ASN>
10628
10629TempA DEFINITIONS AUTOMATIC TAGS ::=
10630BEGIN
10631
10632BERPDU ::= INTEGER
10633bi1 BERPDU ::= 5
10634bi2 BERPDU ::= 0
10635bi3 BERPDU ::= 127
10636bi4 BERPDU ::= -128
10637bi5 BERPDU ::= -5
10638bi-6 BERPDU ::= 128
10639bi7 BERPDU ::= -129
10640
10641BERPDU2 ::= REAL
10642--b BERPDU2 ::= 12345678900
10643
10644Rec-ber ::= SEQUENCE {
10645 int1 Number,
10646 int2 Number
10647}
10648Rec-ber-literal ::= SEQUENCE {
10649 int1 NumberLit,
10650 int2 NumberLit
10651}
10652Number ::= INTEGER
10653NumberLit ::= NumericString (SIZE (100))
10654myNumber Number ::= 12345678910111213141516
10655
10656END
10657
10658<STATIC>
10659
10660import from TempA language "ASN.1:1997" all
10661
10662external function enc_ber1(in Rec_ber r) return octetstring
10663 with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10664external function dec_ber1(in octetstring r) return Rec_ber
10665 with { extension "decode(BER:BER_ACCEPT_ALL) prototype(convert) errorbehavior(ALL:WARNING)" }
10666external function enc_ber2(in integer r) return octetstring
10667 with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10668// Attributes are not checked in the compiler.
10669external function dec_ber2(in octetstring r) return integer
10670 with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10671external function dec_ber3(inout octetstring r, out Rec_ber s) return integer
10672 with { extension "decode(BER:BER_ACCEPT_ALL) prototype(sliding) errorbehavior(ALL:WARNING)" }
10673
10674type component comp_ber { }
10675
10676<TTCN_TC:EXEC>
10677
10678 const integer a := 2147483647
10679 const integer b := 2147483648
10680 const integer c := 2147483649
10681 const integer d := 128
10682 const integer e := myNumber
10683 const integer f := 12147483648
10684 var Rec_ber myrec1 := {int1 := a, int2 := b}
10685 var Rec_ber myrec2 := {int1 := c, int2 := d}
10686 var Rec_ber myrec3 := {int1 := 1048576, int2 := 321768}
10687 var Rec_ber myrec4 := {65536, 131072}
10688 var Rec_ber myrec5 := {4294967296, 8388608}
10689 var Rec_ber myrec6 := {12345678910111213141516, 11111111111111111111}
10690 var Rec_ber myrec7 := {8589934592, 1099511627776}
10691 var Rec_ber myrec8 := {int1 := a, int2 := b}
10692 var Rec_ber myrec9 := {int1 := 12345678910111213141516, int2 := -1234}
10693 var Rec_ber myrec10 := {int1 := -12345678910111213141516, int2 := -1234}
10694 var Rec_ber myrec11 := {2147483648, -2147483648}
10695 var Rec_ber myrec12 := {-2147483647, 2147483647}
10696 var Rec_ber myrec13 := {2147483649, -2147483649}
10697 var Rec_ber myrec14 := {-4294967296, 4294967296}
10698 var Rec_ber myrec15 := {4294967295, -4294967295}
10699 var Rec_ber myrec16 := {-4294967297, 4294967297}
10700 var Rec_ber pdu1 := {12345678910111213141516, -2147483648}
10701 var Rec_ber pdu2 := {123, 456}
10702 var octetstring encoded_pdu
10703 var Rec_ber decoded_pdu
10704 var integer ret_val
10705 encoded_pdu := enc_ber1(pdu2)
10706 ret_val := dec_ber3(encoded_pdu, decoded_pdu)
10707 if (ret_val == 0 and decoded_pdu == pdu2) {setverdict(pass)} else {setverdict(fail)}
10708 encoded_pdu := '800100'O
10709 ret_val := dec_ber3(encoded_pdu, decoded_pdu)
10710 if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)}
10711 encoded_pdu := substr(enc_ber1(pdu1), 0, 4)
10712 ret_val := dec_ber3(encoded_pdu, decoded_pdu)
10713 if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)}
10714 encoded_pdu := enc_ber2(-2147483648)
10715 if (encoded_pdu == '020480000000'O) {setverdict(pass)} else {setverdict(fail)}
10716 encoded_pdu := enc_ber1(myrec1)
10717 if (myrec1 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10718 if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10719 encoded_pdu := enc_ber1(myrec2)
10720 if (myrec2 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10721 if ({int1 := c, int2 := d} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10722 encoded_pdu := enc_ber1(myrec3)
10723 if (myrec3 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10724 if ({int1 := 1048576, int2 := 321768} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10725 encoded_pdu := enc_ber1(myrec4)
10726 if (myrec4 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10727 if ({65536, 131072} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10728 encoded_pdu := enc_ber1(myrec5)
10729 if (myrec5 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10730 if ({4294967296, 8388608} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10731 encoded_pdu := enc_ber1(myrec6)
10732 if (myrec6 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10733 if ({12345678910111213141516, 11111111111111111111} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10734 encoded_pdu := enc_ber1(myrec7)
10735 if (myrec7 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10736 if ({8589934592, 1099511627776} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10737 encoded_pdu := enc_ber1(myrec8)
10738 if (myrec8 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10739 if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10740 encoded_pdu := enc_ber1(myrec9)
10741 if (myrec9 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10742 if ({int1 := 12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10743 encoded_pdu := enc_ber1(myrec10)
10744 if (myrec10 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10745 if ({int1 := -12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10746 encoded_pdu := enc_ber1(myrec11)
10747 if (myrec11 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10748 if ({2147483648, -2147483648} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10749 encoded_pdu := enc_ber1(myrec12)
10750 if (myrec12 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10751 if ({-2147483647, 2147483647} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10752 encoded_pdu := enc_ber1(myrec13)
10753 if (myrec13 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10754 if ({2147483649, -2147483649} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10755 encoded_pdu := enc_ber1(myrec14)
10756 if (myrec14 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10757 if ({-4294967296, 4294967296} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10758 encoded_pdu := enc_ber1(myrec15)
10759 if (myrec15 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10760 if ({4294967295, -4294967295} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10761 encoded_pdu := enc_ber1(myrec16)
10762 if (myrec16 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10763 if ({-4294967297, 4294967297} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10764
10765<RESULT>
10766
10767Overall verdict: pass
10768
10769<END_TC>
10770
10771:exmp.
10772
10773.*---------------------------------------------------------------------*
10774:h2.Purpose
10775.*---------------------------------------------------------------------*
10776Negative tests for the BER decoder.
10777.*---------------------------------------------------------------------*
10778:h2.Test cases
10779.*---------------------------------------------------------------------*
10780
10781.*---------------------------------------------------------------------*
10782:h3. BER decoding REAL, decimal form NR3 pretending to be NR1
10783.*---------------------------------------------------------------------*
10784:xmp tab=0.
10785
10786<TC- BER decoding REAL, decimal form NR3 pretending to be NR1>
10787
10788<STATIC:ASN>
10789
10790TempA
10791DEFINITIONS
10792AUTOMATIC TAGS
10793::=
10794BEGIN
10795
10796IMPORTS; -- nothing
10797
10798BERPDU ::= REAL
10799
10800END
10801
10802<STATIC>
10803
10804type float BERPDU;
10805
10806external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10807 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10808
10809// pi: 31415926.E-7
10810const octetstring der_encoded := '090D0133313431353932362E452D37'O;
10811const BERPDU myValue := 3.1415926;
10812
10813<TTCN_TC:EXEC>
10814
10815var BERPDU der_decoded, cer_decoded;
10816
10817dec_BER_PDU(der_encoded, der_decoded);
10818if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10819
10820<RESULT>
10821
10822Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR1 form.
10823
10824<END_TC>
10825
10826:exmp.
10827
10828
10829.*---------------------------------------------------------------------*
10830:h3. BER decoding REAL, decimal form NR3 pretending to be NR2
10831.*---------------------------------------------------------------------*
10832:xmp tab=0.
10833
10834<TC- BER decoding REAL, decimal form NR3 pretending to be NR2>
10835
10836<STATIC:ASN>
10837
10838TempA
10839DEFINITIONS
10840AUTOMATIC TAGS
10841::=
10842BEGIN
10843
10844IMPORTS; -- nothing
10845
10846BERPDU ::= REAL
10847
10848END
10849
10850<STATIC>
10851
10852type float BERPDU;
10853
10854external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10855 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10856
10857// pi: 31415926.E-7
10858const octetstring der_encoded := '090D0233313431353932362E452D37'O;
10859const BERPDU myValue := 3.1415926;
10860
10861<TTCN_TC:EXEC>
10862
10863var BERPDU der_decoded, cer_decoded;
10864
10865dec_BER_PDU(der_encoded, der_decoded);
10866if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10867
10868<RESULT>
10869
10870Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR2 form.
10871
10872<END_TC>
10873
10874:exmp.
10875
10876.*---------------------------------------------------------------------*
10877:h3. BER decoding REAL, reserved decimal form 0x20
10878.*---------------------------------------------------------------------*
10879:xmp tab=0.
10880
10881<TC- BER decoding REAL, reserved decimal form 0x20>
10882
10883<STATIC:ASN>
10884
10885TempA
10886DEFINITIONS
10887AUTOMATIC TAGS
10888::=
10889BEGIN
10890
10891IMPORTS; -- nothing
10892
10893BERPDU ::= REAL
10894
10895END
10896
10897<STATIC>
10898
10899type float BERPDU;
10900
10901external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10902 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10903
10904// pi: 31415926.E-7
10905const octetstring der_encoded := '090D2033313431353932362E452D37'O;
10906const BERPDU myValue := 3.1415926;
10907
10908<TTCN_TC:EXEC>
10909
10910var BERPDU der_decoded, cer_decoded;
10911
10912dec_BER_PDU(der_encoded, der_decoded);
10913if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10914
10915<RESULT>
10916
10917Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x20 (See X.690 8.5.7).
10918
10919<END_TC>
10920
10921:exmp.
10922
10923
10924.*---------------------------------------------------------------------*
10925:h3. BER decoding REAL, decimal form 0
10926.*---------------------------------------------------------------------*
10927:xmp tab=0.
10928
10929<TC- BER decoding REAL, decimal form 0>
10930
10931<STATIC:ASN>
10932
10933TempA
10934DEFINITIONS
10935AUTOMATIC TAGS
10936::=
10937BEGIN
10938
10939IMPORTS; -- nothing
10940
10941BERPDU ::= REAL
10942
10943END
10944
10945<STATIC>
10946
10947type float BERPDU;
10948
10949external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10950 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10951
10952// pi: 31415926.E-7
10953const octetstring der_encoded := '090D0033313431353932362E452D37'O;
10954const BERPDU myValue := 3.1415926;
10955
10956<TTCN_TC:EXEC>
10957
10958var BERPDU der_decoded, cer_decoded;
10959
10960dec_BER_PDU(der_encoded, der_decoded);
10961if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10962
10963<RESULT>
10964
10965Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x0 (See X.690 8.5.7).
10966
10967<END_TC>
10968
10969:exmp.
10970
10971
10972.*---------------------------------------------------------------------*
10973:h3. BER decoding REAL, decimal form 4
10974.*---------------------------------------------------------------------*
10975:xmp tab=0.
10976
10977<TC- BER decoding REAL, decimal form 4>
10978
10979<STATIC:ASN>
10980
10981TempA
10982DEFINITIONS
10983AUTOMATIC TAGS
10984::=
10985BEGIN
10986
10987IMPORTS; -- nothing
10988
10989BERPDU ::= REAL
10990
10991END
10992
10993<STATIC>
10994
10995type float BERPDU;
10996
10997external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10998 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10999
11000// pi: 31415926.E-7
11001const octetstring der_encoded := '090D0433313431353932362E452D37'O;
11002const BERPDU myValue := 3.1415926;
11003
11004<TTCN_TC:EXEC>
11005
11006var BERPDU der_decoded, cer_decoded;
11007
11008dec_BER_PDU(der_encoded, der_decoded);
11009if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
11010
11011<RESULT>
11012
11013Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x4 (See X.690 8.5.7).
11014
11015<END_TC>
11016
11017:exmp.
11018
11019.*---------------------------------------------------------------------*
11020:h3. Memory leak while BER decoding, test for HO73756
11021.*---------------------------------------------------------------------*
11022:xmp tab=0.
11023
11024<TC - Memory leak while BER decoding, test for HO73756>
11025
11026<STATIC:ASN>
11027TempA DEFINITIONS ::=
11028BEGIN
11029
11030MY-CLASS-1 ::= CLASS
11031{
11032&TypeField OPTIONAL,
11033&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
11034
11035}
11036WITH SYNTAX
11037{
11038[TYPE FIELD &TypeField]
11039[FIXED VALUE TYPE FIELD &fixedTypeValueField]
11040}
11041
11042ASN1-Type1 ::= INTEGER
11043
11044ASN1-Type2 ::= BOOLEAN
11045
11046ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
11047
11048ASN1-Type4 ::= OCTET STRING
11049
11050myObject-1 MY-CLASS-1 ::=
11051{
11052TYPE FIELD ASN1-Type3
11053FIXED VALUE TYPE FIELD 999
11054}
11055
11056myObject-2 MY-CLASS-1 ::=
11057{
11058TYPE FIELD ASN1-Type2
11059FIXED VALUE TYPE FIELD 888
11060}
11061
11062myObject-3 MY-CLASS-1 ::=
11063{
11064TYPE FIELD ASN1-Type4
11065FIXED VALUE TYPE FIELD 555
11066}
11067
11068MyInformationObjectSet1 MY-CLASS-1 ::=
11069{
11070myObject-1|myObject-2,
11071...
11072}
11073
11074MyInformationObjectSet2 MY-CLASS-1 ::=
11075{
11076MyInformationObjectSet1|myObject-3,
11077...
11078}
11079
11080BERPDU ::= SEQUENCE
11081{
11082field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
11083field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
11084}
11085
11086END
11087<STATIC>
11088// Test for memory leak problem in BER decoder: HO73756.
11089import from TempA all;
11090
11091external function dec_backtrack(in octetstring stream, out BERPDU outpdu) return integer with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" }
11092
11093type component empty {
11094 var BERPDU mypdu
11095}
11096
11097<TTCN_TC:PURE_EXEC>
11098
11099testcase mytc() runs on empty {
11100 dec_backtrack('30093003020108020203E7'O, mypdu)
11101 dec_backtrack('30093003020108020203E7'O, mypdu)
11102 setverdict(pass)
11103}
11104
11105control {
11106 execute(mytc())
11107}
11108
11109<RESULT>
11110
11111Overall verdict: pass
11112
11113<END_TC>
11114
11115:exmp.
11116
11117.*---------------------------------------------------------------------*
11118:h1.REFERENCES
11119.*---------------------------------------------------------------------*
11120:nl. Requirement specification(s):
11121:nl.-------------------------------
11122:list.
11123:li. 8/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's encoder/decoder functions
11124:elist.
11125
11126:etext.
This page took 0.567941 seconds and 5 git commands to generate.