Merge github.com:eclipse/titan.core
[deliverable/titan.core.git] / function_test / BER_EncDec / BER_EncDec_TD.fast_script
1 .******************************************************************************
2 .* Copyright (c) 2000-2016 Ericsson Telecom AB
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
7 .*
8 .* Contributors:
9 .* Balasko, Jeno
10 .* Beres, Szabolcs
11 .* Delic, Adam
12 .* Kovacs, Ferenc
13 .* Szabados, Kristof
14 .*
15 .******************************************************************************/
16 :text.
17 :lang eng.
18 .*
19 :docname.Test Description
20 :docno.8/152 91-CRL 113 200/5 Uen
21 :rev.C
22 :date.2015-04-27
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
38 This TD contains unified test cases related to TTCN3 Executor's BER coder function.
39 The original test cases can be found in the BER_EncDec_TD.script file.
40 The 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
49 REV DATE PREPARED CHANGE
50 === ========== ======== ======
51 A 2003-10-31 ETHEKR New document
52 B 2007-03-06 EDMDELI Implicit message encoding
53 C 2007-03-21 EJNOSZA Bugfix in a testcase for implicit msg. enc.
54 D 2008-10-01 EFERKOV Big integers
55 E 2010-01-18 EKRISZA Updated for TITAN R8C
56 F 2011-06-18 EKRISZA Added tests for errors
57 A 2011-12-12 EKRISZA Updated for release
58 PB1 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
91 TempA
92
93 DEFINITIONS ::=
94
95 BEGIN
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
466 b7-31 BERPDU31 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
467 b8-31 BERPDU31 ::= ''B
468 b9-31 BERPDU31 ::='1'B
469 b10-31 BERPDU31 ::='11'B
470 b11-31 BERPDU31 ::='1010101'B
471 b12-31 BERPDU31 ::='10101011010101'B
472 b13-31 BERPDU31 ::='10101010'B
473 b14-31 BERPDU31 ::='1010101010101010'B
474 b15-31 BERPDU31 ::='111100001'B
475 b16-31 BERPDU31 ::='111100001111100001'B
476 b17-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
477 b18-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
478 b19-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
479
480 b-32 BERPDU32 ::='1'B
481
482 b5-34 BERPDU34 ::=''H
483 b6-34 BERPDU34 ::='FFFF'H
484 b7-34 BERPDU34 ::='FFFFFFFF'H
485 b8-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
486 b9-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
487 b10-34 BERPDU34 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
488 myIntegerValue-34 BERPDU34 ::='FFFF'H
489 myIntegerValue-35 BERPDU35 ::='FFFF'H
490 myIntegerValue-36 BERPDU36 ::='FFFF'H
491
492 myNullValue-37 BERPDU37 ::= NULL
493 myNullValue-38 BERPDU38 ::= NULL
494 myNullValue-39 BERPDU39 ::= NULL
495 myNullValue-40 BERPDU40 ::= NULL
496 myNullValue-41 BERPDU41 ::= NULL
497 myNullValue-42 BERPDU42 ::= NULL
498 myNullValue-43 BERPDU43 ::= NULL
499
500
501
502 END
503
504 <STATIC>
505
506
507 type component Test_CT {}
508
509 <TTCN_TC:PURE_EXEC>
510
511 import from TempA all;
512 external function enc_DER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
513 external function enc_CER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
514
515 external function enc_DER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
516 external function enc_CER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
517 external function enc_DER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
518 external function enc_CER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
519 external function enc_DER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
520 external function enc_CER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
521 external function enc_DER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
522 external function enc_CER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
523 external function enc_DER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
524 external function enc_CER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
525 external function enc_DER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
526 external function enc_CER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
527 external function enc_DER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
528 external function enc_CER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
529 external function enc_DER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
530 external function enc_CER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
531 external function enc_DER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
532 external function enc_CER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
533 external function enc_DER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
534 external function enc_CER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
535 external function enc_DER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
536 external function enc_CER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
537 external function enc_DER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
538 external function enc_CER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
539 external function enc_DER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
540 external function enc_CER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
541 external function enc_DER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
542 external function enc_CER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
543 external function enc_DER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
544 external function enc_CER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
545 external function enc_DER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
546 external function enc_CER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
547 external function enc_DER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
548 external function enc_CER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
549 external function enc_DER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
550 external function enc_CER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
551 external function enc_DER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
552 external function enc_CER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
553 external function enc_DER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
554 external function enc_CER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
555 external function enc_DER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
556 external function enc_CER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
557 external function enc_DER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
558 external function enc_CER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
559 external function enc_DER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
560 external function enc_CER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
561 external function enc_DER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
562 external function enc_CER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
563 external function enc_DER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
564 external function enc_CER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
565 external function enc_DER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
566 external function enc_CER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
567 external function enc_DER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
568 external function enc_CER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
569 external function enc_DER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
570 external function enc_CER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
571 external function enc_DER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
572 external function enc_CER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
573 external function enc_DER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
574 external function enc_CER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
575 external function enc_DER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
576 external function enc_CER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
577 external function enc_DER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
578 external function enc_CER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
579 external function enc_DER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
580 external function enc_CER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
581 external function enc_DER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
582 external function enc_CER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
583 external function enc_DER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
584 external function enc_CER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
585 external function enc_DER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
586 external function enc_CER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
587 external function enc_DER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
588 external function enc_CER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
589 external function enc_DER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
590 external function enc_CER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
591 external function enc_DER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
592 external function enc_CER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
593 external function enc_DER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
594 external function enc_CER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
595 external function enc_DER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
596 external function enc_CER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
597 external function enc_DER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
598 external function enc_CER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
599 external function enc_DER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
600 external function enc_CER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
601 external function enc_DER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
602 external function enc_CER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
603 external function enc_DER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
604 external function enc_CER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
605 external function enc_DER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
606 external function enc_CER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
607 external function enc_DER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
608 external function enc_CER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
609 external function enc_DER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
610 external function enc_CER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
611 external function enc_DER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
612 external function enc_CER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
613 external function enc_DER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
614 external function enc_CER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
615 external function enc_DER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
616 external function enc_CER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
617 external function enc_DER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
618 external function enc_CER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
619 external function enc_DER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
620 external function enc_CER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
621 external function enc_DER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
622 external function enc_CER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
623 external function enc_DER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
624 external function enc_CER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
625 external function enc_DER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
626 external function enc_CER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
627 external function enc_DER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
628 external function enc_CER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
629 external function enc_DER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
630 external function enc_CER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
631 external function enc_DER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
632 external function enc_CER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
633 external function enc_DER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
634 external function enc_CER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
635 external function enc_DER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
636 external function enc_CER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
637 external function enc_DER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
638 external function enc_CER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
639
640 external function dec_BER_PDU1(in octetstring stream) return BERPDU1 with { extension "prototype(convert) decode(BER)" }
641 external function dec_BER_PDU2(in octetstring stream) return BERPDU2 with { extension "prototype(convert) decode(BER)" }
642 external function dec_BER_PDU3(in octetstring stream) return BERPDU3 with { extension "prototype(convert) decode(BER)" }
643 external function dec_BER_PDU4(in octetstring stream) return BERPDU4 with { extension "prototype(convert) decode(BER)" }
644 external function dec_BER_PDU5(in octetstring stream) return BERPDU5 with { extension "prototype(convert) decode(BER)" }
645 external function dec_BER_PDU6(in octetstring stream) return BERPDU6 with { extension "prototype(convert) decode(BER)" }
646 external function dec_BER_PDU7(in octetstring stream) return BERPDU7 with { extension "prototype(convert) decode(BER)" }
647 external function dec_BER_PDU8(in octetstring stream) return BERPDU8 with { extension "prototype(convert) decode(BER)" }
648 external function dec_BER_PDU9(in octetstring stream) return BERPDU9 with { extension "prototype(convert) decode(BER)" }
649 external function dec_BER_PDU10(in octetstring stream) return BERPDU10 with { extension "prototype(convert) decode(BER)" }
650 external function dec_BER_PDU11(in octetstring stream) return BERPDU11 with { extension "prototype(convert) decode(BER)" }
651 external function dec_BER_PDU12(in octetstring stream) return BERPDU12 with { extension "prototype(convert) decode(BER)" }
652 external function dec_BER_PDU13(in octetstring stream) return BERPDU13 with { extension "prototype(convert) decode(BER)" }
653 external function dec_BER_PDU14(in octetstring stream) return BERPDU14 with { extension "prototype(convert) decode(BER)" }
654 external function dec_BER_PDU15(in octetstring stream) return BERPDU15 with { extension "prototype(convert) decode(BER)" }
655 external function dec_BER_PDU16(in octetstring stream) return BERPDU16 with { extension "prototype(convert) decode(BER)" }
656 external function dec_BER_PDU17(in octetstring stream) return BERPDU17 with { extension "prototype(convert) decode(BER)" }
657 external function dec_BER_PDU18(in octetstring stream) return BERPDU18 with { extension "prototype(convert) decode(BER)" }
658 external function dec_BER_PDU19(in octetstring stream) return BERPDU19 with { extension "prototype(convert) decode(BER)" }
659 external function dec_BER_PDU20(in octetstring stream) return BERPDU20 with { extension "prototype(convert) decode(BER)" }
660 external function dec_BER_PDU21(in octetstring stream) return BERPDU21 with { extension "prototype(convert) decode(BER)" }
661 external function dec_BER_PDU22(in octetstring stream) return BERPDU22 with { extension "prototype(convert) decode(BER)" }
662 external function dec_BER_PDU23(in octetstring stream) return BERPDU23 with { extension "prototype(convert) decode(BER)" }
663 external 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)" }
665 external function dec_BER_PDU26(in octetstring stream) return BERPDU26 with { extension "prototype(convert) decode(BER)" }
666 external function dec_BER_PDU27(in octetstring stream) return BERPDU27 with { extension "prototype(convert) decode(BER)" }
667 external function dec_BER_PDU28(in octetstring stream) return BERPDU28 with { extension "prototype(convert) decode(BER)" }
668 external function dec_BER_PDU29(in octetstring stream) return BERPDU29 with { extension "prototype(convert) decode(BER)" }
669 external function dec_BER_PDU30(in octetstring stream) return BERPDU30 with { extension "prototype(convert) decode(BER)" }
670 external function dec_BER_PDU31(in octetstring stream) return BERPDU31 with { extension "prototype(convert) decode(BER)" }
671 external function dec_BER_PDU32(in octetstring stream) return BERPDU32 with { extension "prototype(convert) decode(BER)" }
672 external function dec_BER_PDU33(in octetstring stream) return BERPDU33 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
673 external function dec_BER_PDU34(in octetstring stream) return BERPDU34 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
674 external function dec_BER_PDU35(in octetstring stream) return BERPDU35 with { extension "prototype(convert) decode(BER)" }
675 external function dec_BER_PDU36(in octetstring stream) return BERPDU36 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
676 external function dec_BER_PDU37(in octetstring stream) return BERPDU37 with { extension "prototype(convert) decode(BER)" }
677 external function dec_BER_PDU38(in octetstring stream) return BERPDU38 with { extension "prototype(convert) decode(BER)" }
678 external function dec_BER_PDU39(in octetstring stream) return BERPDU39 with { extension "prototype(convert) decode(BER)" }
679 external function dec_BER_PDU40(in octetstring stream) return BERPDU40 with { extension "prototype(convert) decode(BER)" }
680 external function dec_BER_PDU41(in octetstring stream) return BERPDU41 with { extension "prototype(convert) decode(BER)" }
681 external function dec_BER_PDU42(in octetstring stream) return BERPDU42 with { extension "prototype(convert) decode(BER)" }
682 external function dec_BER_PDU43(in octetstring stream) return BERPDU43 with { extension "prototype(convert) decode(BER)" }
683 external function dec_BER_PDU44(in octetstring stream) return BERPDU44 with { extension "prototype(convert) decode(BER)" }
684 external function dec_BER_PDU45(in octetstring stream) return BERPDU45 with { extension "prototype(convert) decode(BER)" }
685 external function dec_BER_PDU48(in octetstring stream) return BERPDU48 with { extension "prototype(convert) decode(BER)" }
686 external function dec_BER_PDU49(in octetstring stream) return BERPDU49 with { extension "prototype(convert) decode(BER)" }
687 external function dec_BER_PDU50(in octetstring stream) return BERPDU50 with { extension "prototype(convert) decode(BER)" }
688 external function dec_BER_PDU54(in octetstring stream) return BERPDU54 with { extension "prototype(convert) decode(BER)" }
689 external function dec_BER_PDU65(in octetstring stream) return BERPDU65 with { extension "prototype(convert) decode(BER)" }
690 external function dec_BER_PDU67(in octetstring stream) return BERPDU67 with { extension "prototype(convert) decode(BER)" }
691 external function dec_BER_PDU69(in octetstring stream) return BERPDU69 with { extension "prototype(convert) decode(BER)" }
692 external function dec_BER_PDU71(in octetstring stream) return BERPDU71 with { extension "prototype(convert) decode(BER)" }
693 external function dec_BER_PDU72(in octetstring stream) return BERPDU72 with { extension "prototype(convert) decode(BER)" }
694 external function dec_BER_PDU73(in octetstring stream) return BERPDU73 with { extension "prototype(convert) decode(BER)" }
695 external function dec_BER_PDU74(in octetstring stream) return BERPDU74 with { extension "prototype(convert) decode(BER)" }
696 external function dec_BER_PDU75(in octetstring stream) return BERPDU75 with { extension "prototype(convert) decode(BER)" }
697 external function dec_BER_PDU76(in octetstring stream) return BERPDU76 with { extension "prototype(convert) decode(BER)" }
698 external function dec_BER_PDU77(in octetstring stream) return BERPDU77 with { extension "prototype(convert) decode(BER)" }
699 external function dec_BER_PDU78(in octetstring stream) return BERPDU78 with { extension "prototype(convert) decode(BER)" }
700 external function dec_BER_PDU79(in octetstring stream) return BERPDU79 with { extension "prototype(convert) decode(BER)" }
701 external function dec_BER_PDU82(in octetstring stream) return BERPDU82 with { extension "prototype(convert) decode(BER)" }
702 external function dec_BER_PDU83(in octetstring stream) return BERPDU83 with { extension "prototype(convert) decode(BER)" }
703 external 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 //===========================================
712 testcase 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 //===========================================
722 testcase 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 //===========================================
730 testcase 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 //===========================================
740 testcase 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 //===========================================
748 testcase 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 //===========================================
755 testcase 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 //===========================================
762 testcase 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 //===========================================
769 testcase 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 //===========================================
779 testcase 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 //===========================================
789 testcase 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 //===========================================
799 testcase 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 //===========================================
808 testcase 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 //===========================================
815 testcase 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 //===========================================
822 testcase 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
833 testcase 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 //===========================================
874 testcase 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 //===========================================
929 testcase 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 //===========================================
984 testcase 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 //===========================================
1038 testcase 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 //===========================================
1072 testcase 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 //===========================================
1106 testcase 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 //===========================================
1139 testcase 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 //===========================================
1149 testcase 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 //===========================================
1159 testcase 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 //===========================================
1169 testcase 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 //===========================================
1179 testcase 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 //===========================================
1189 testcase 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 //===========================================
1198 testcase 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 //===========================================
1210 testcase 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 //===========================================
1221 testcase 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 //===========================================
1234 testcase 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 //===========================================
1265 testcase 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 //===========================================
1273 testcase 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 //===========================================
1294 testcase 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 //===========================================
1326 testcase 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 //===========================================
1427 testcase 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 //===========================================
1434 testcase 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 //===========================================
1440 testcase 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 //===========================================
1506 testcase 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 //===========================================
1515 testcase 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 //===========================================
1524 testcase 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);}
1533 if ((enc_DER_PDU34(b4_34) == '048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1534 and(enc_CER_PDU34(b4_34) == '2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1535
1536 if (dec_BER_PDU34('0400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1537 if (dec_BER_PDU34('24020400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1538 if (dec_BER_PDU34('240404000400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1539 if (dec_BER_PDU34('248004000000'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1540 if (dec_BER_PDU34('0402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1541 if (dec_BER_PDU34('048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1542 if (dec_BER_PDU34('24040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1543 if (dec_BER_PDU34('2405048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1544 if (dec_BER_PDU34('248105048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1545 if (dec_BER_PDU34('24800402FFFF0000'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1546 if (dec_BER_PDU34('24080402FFFF0402FFFF'O) == b7_34){setverdict(pass);} else {setverdict(fail);}
1547 if (dec_BER_PDU34('240624040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1548 if (dec_BER_PDU34('048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1549 if (dec_BER_PDU34('04830003E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1550 if (dec_BER_PDU34('248203EC048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1551 if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1552 if (dec_BER_PDU34('248207D8048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b9_34){setverdict(pass);} else {setverdict(fail);}
1553 if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1554 if (dec_BER_PDU34('048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1555 if (dec_BER_PDU34('248203ED048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1556
1557 if (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 //===========================================
1564 testcase 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 //===========================================
1573 testcase 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 //===========================================
1582 testcase 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 //===========================================
1592 testcase 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 //===========================================
1605 testcase 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 //===========================================
1617 testcase 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 //===========================================
1630 testcase 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 //===========================================
1640 testcase 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 //===========================================
1650 testcase 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 //===========================================
1659 testcase 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 //===========================================
1680 testcase 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 //===========================================
1695 testcase 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 //===========================================
1705 testcase 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 //===========================================
1717 testcase 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 //===========================================
1730 testcase 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 //===========================================
1741 testcase 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 //===========================================
1754 testcase 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 //===========================================
1785 testcase 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);}
1808 if (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 //===========================================
1815 testcase 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 //===========================================
1826 testcase 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 //===========================================
1836 testcase 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 //===========================================
1846 testcase 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 //===========================================
1868 testcase 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 //===========================================
1889 testcase 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 //===========================================
1914 testcase 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 //===========================================
1933 testcase 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 //===========================================
1957 testcase 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 //===========================================
1968 testcase 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 //===========================================
1993 testcase 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 //===========================================
2014 testcase 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
2023 control {
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
2100 Overall 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
2115 TempA
2116
2117 DEFINITIONS
2118 AUTOMATIC TAGS
2119 ::=
2120 BEGIN
2121
2122 IMPORTS;
2123
2124 BERPDU46 ::= SEQUENCE
2125 {
2126 b BOOLEAN OPTIONAL,
2127 c INTEGER OPTIONAL
2128 }
2129
2130 BERPDU47 ::= SEQUENCE
2131 {
2132 b BOOLEAN DEFAULT TRUE,
2133 c INTEGER OPTIONAL
2134 }
2135
2136 BERPDU51 ::= [0] SEQUENCE
2137 {
2138 b BOOLEAN OPTIONAL,
2139 c INTEGER OPTIONAL
2140 }
2141
2142 BERPDU58 ::= [0] SEQUENCE
2143 {
2144 b [0] BOOLEAN OPTIONAL,
2145 c [1] INTEGER OPTIONAL
2146 }
2147
2148 BERPDU59 ::= SEQUENCE
2149 {
2150 b [5] BOOLEAN OPTIONAL,
2151 c INTEGER OPTIONAL
2152 }
2153
2154 MySeq60 ::= SEQUENCE
2155 {x INTEGER OPTIONAL,
2156 y OCTET STRING}
2157
2158 BERPDU60 ::= SEQUENCE
2159 {
2160 b BOOLEAN OPTIONAL,
2161 c INTEGER OPTIONAL,
2162 COMPONENTS OF MySeq60
2163 }
2164
2165 MySeq61 ::= SEQUENCE
2166 {x [0] INTEGER OPTIONAL,
2167 y OCTET STRING}
2168
2169 BERPDU61 ::= SEQUENCE
2170 {
2171 b BOOLEAN OPTIONAL,
2172 c INTEGER OPTIONAL,
2173 COMPONENTS OF MySeq61
2174 }
2175
2176 MySeq62 ::= SEQUENCE
2177 {x INTEGER OPTIONAL,
2178 y OCTET STRING}
2179 BERPDU62 ::= SEQUENCE
2180 {
2181 b [0] BOOLEAN OPTIONAL,
2182 c BIT STRING OPTIONAL,
2183 COMPONENTS OF MySeq62
2184 }
2185
2186 MySeq63 ::= SEQUENCE
2187 {x [1] INTEGER OPTIONAL,
2188 y OCTET STRING}
2189
2190 BERPDU63 ::= SEQUENCE
2191 {
2192 b [0] BOOLEAN OPTIONAL,
2193 c BIT STRING OPTIONAL,
2194 COMPONENTS OF MySeq63
2195 }
2196
2197 BERPDU64 ::= SEQUENCE
2198 {
2199 b CHOICE {
2200 x BOOLEAN,
2201 y OCTET STRING
2202 }
2203 OPTIONAL,
2204 c INTEGER OPTIONAL
2205
2206 }
2207
2208 BERPDU66 ::= SEQUENCE
2209 {
2210 a OCTET STRING,
2211 b BOOLEAN,
2212 ...,
2213 d BIT STRING,
2214 ...,
2215 c INTEGER OPTIONAL
2216 }
2217
2218 BERPDU68 ::= 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
2244 myOBJID-68 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2245
2246 BERPDU70 ::= 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
2267 BERPDU85 ::= SET
2268 {
2269 b BOOLEAN OPTIONAL,
2270 c INTEGER OPTIONAL
2271 }
2272
2273 BERPDU86 ::= SET
2274 {
2275
2276 c INTEGER OPTIONAL,
2277 b BOOLEAN OPTIONAL
2278 }
2279
2280 BERPDU87 ::= SET
2281 {
2282 b BOOLEAN DEFAULT TRUE,
2283 c INTEGER OPTIONAL
2284 }
2285
2286 BERPDU88 ::= SET
2287 {
2288 c INTEGER OPTIONAL,
2289 b BOOLEAN DEFAULT TRUE
2290 }
2291
2292 myOBJID-70 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2293
2294
2295
2296 END
2297
2298 <STATIC>
2299
2300 type component Test_CT {}
2301
2302 import from TempA all;
2303 external function enc_DER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2304 external function enc_CER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2305 external function dec_BER_PDU46(in octetstring stream) return BERPDU46 with { extension "prototype(convert) decode(BER)" }
2306
2307 external function enc_DER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2308 external function enc_CER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2309 external function dec_BER_PDU47(in octetstring stream) return BERPDU47 with { extension "prototype(convert) decode(BER)" }
2310
2311 external function enc_DER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2312 external function enc_CER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2313 external function dec_BER_PDU51(in octetstring stream) return BERPDU51 with { extension "prototype(convert) decode(BER)" }
2314
2315 external function enc_DER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2316 external function enc_CER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2317 external function dec_BER_PDU58(in octetstring stream) return BERPDU58 with { extension "prototype(convert) decode(BER)" }
2318
2319 external function enc_DER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2320 external function enc_CER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2321 external function dec_BER_PDU59(in octetstring stream) return BERPDU59 with { extension "prototype(convert) decode(BER)" }
2322
2323 external function enc_DER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2324 external function enc_CER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2325 external function dec_BER_PDU60(in octetstring stream) return BERPDU60 with { extension "prototype(convert) decode(BER)" }
2326
2327
2328 external function enc_DER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2329 external function enc_CER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2330 external function dec_BER_PDU61(in octetstring stream) return BERPDU61 with { extension "prototype(convert) decode(BER)" }
2331
2332 external function enc_DER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2333 external function enc_CER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2334 external function dec_BER_PDU62(in octetstring stream) return BERPDU62 with { extension "prototype(convert) decode(BER)" }
2335
2336 external function enc_DER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2337 external function enc_CER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2338 external function dec_BER_PDU63(in octetstring stream) return BERPDU63 with { extension "prototype(convert) decode(BER)" }
2339
2340 external function enc_DER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2341 external function enc_CER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2342 external function dec_BER_PDU64(in octetstring stream) return BERPDU64 with { extension "prototype(convert) decode(BER)" }
2343
2344 external function enc_DER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2345 external function enc_CER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2346 external function dec_BER_PDU66(in octetstring stream) return BERPDU66 with { extension "prototype(convert) decode(BER)" }
2347
2348 external function enc_DER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2349 external function enc_CER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2350 external function dec_BER_PDU68(in octetstring stream) return BERPDU68 with { extension "prototype(convert) decode(BER)" }
2351
2352 external function enc_DER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2353 external function enc_CER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2354 external function dec_BER_PDU70(in octetstring stream) return BERPDU70 with { extension "prototype(convert) decode(BER)" }
2355
2356 external function enc_DER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2357 external function enc_CER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2358 external function dec_BER_PDU85(in octetstring stream) return BERPDU85 with { extension "prototype(convert) decode(BER)" }
2359
2360 external function enc_DER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2361 external function enc_CER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2362 external function dec_BER_PDU86(in octetstring stream) return BERPDU86 with { extension "prototype(convert) decode(BER)" }
2363
2364 external function enc_DER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2365 external function enc_CER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2366 external function dec_BER_PDU87(in octetstring stream) return BERPDU87 with { extension "prototype(convert) decode(BER)" }
2367
2368 external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2369 external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2370 external 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 //===========================================
2381 testcase 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 //===========================================
2403 testcase 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 //===========================================
2421 testcase 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 //===========================================
2430 testcase 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 //===========================================
2441 testcase 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 //===========================================
2452 testcase 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 //===========================================
2465 testcase 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 //===========================================
2479 testcase 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 //===========================================
2495 testcase 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 //===========================================
2510 testcase 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 //===========================================
2523 testcase 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 //===========================================
2540 testcase tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging() runs on Test_CT {
2541 const 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)
2563 and(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 //===========================================
2572 testcase 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 //===========================================
2605 testcase 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 //===========================================
2637 testcase 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 //===========================================
2645 testcase 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 //===========================================
2668 testcase 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
2677 control {
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
2699 Overall 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
2714 TempA
2715
2716 DEFINITIONS
2717 EXPLICIT TAGS
2718 ::=
2719 BEGIN
2720
2721 IMPORTS;
2722
2723 BERPDU55 ::= SEQUENCE
2724 {
2725 b [30] IMPLICIT BOOLEAN OPTIONAL,
2726 c [31] IMPLICIT INTEGER OPTIONAL
2727 }
2728
2729 BERPDU56 ::= [0] SEQUENCE
2730 {
2731 b [0] BOOLEAN OPTIONAL,
2732 c [1] INTEGER OPTIONAL
2733 }
2734
2735 BERPDU80 ::= [0] SEQUENCE OF BOOLEAN
2736
2737 END
2738
2739 <STATIC>
2740
2741 import from TempA all;
2742 external function enc_DER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2743 external function enc_CER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2744 external function dec_BER_PDU55(in octetstring stream) return BERPDU55 with { extension "prototype(convert) decode(BER)" }
2745
2746 external function enc_DER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2747 external function enc_CER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2748 external function dec_BER_PDU56(in octetstring stream) return BERPDU56 with { extension "prototype(convert) decode(BER)" }
2749
2750 external function enc_DER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2751 external function enc_CER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2752 external function dec_BER_PDU80(in octetstring stream) return BERPDU80 with { extension "prototype(convert) decode(BER)" }
2753
2754
2755 const BERPDU55 myValue_55 := {b := true,
2756 c := 5 }
2757 const BERPDU56 myValue_56 := {b := true,
2758 c := 5 }
2759
2760 const 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 //===================================================
2766 if ((enc_DER_PDU55(myValue_55) == '30079E01FF9F1F0105'O)and(enc_CER_PDU55(myValue_55) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2767 if (dec_BER_PDU55('30079E01FF9F1F0105'O) == myValue_55){setverdict(pass);} else {setverdict(fail);}
2768 if (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 //===================================================
2773 if ((enc_DER_PDU56(myValue_56) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU56(myValue_56) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2774 if (dec_BER_PDU56('A00C300AA0030101FFA103020105'O) == myValue_56){setverdict(pass);} else {setverdict(fail);}
2775 if (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 //===================================================
2781 if ((enc_DER_PDU80(myValue_80) == 'A00830060101FF010100'O)and(enc_CER_PDU80(myValue_80) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2782 if (dec_BER_PDU80('A00830060101FF010100'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2783 if (dec_BER_PDU80('A08030800101FF01010000000000'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2784
2785
2786 <RESULT>
2787
2788 Overall 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
2803 TempA
2804
2805 DEFINITIONS
2806 IMPLICIT TAGS
2807 ::=
2808 BEGIN
2809
2810 IMPORTS;
2811
2812 BERPDU52 ::= SEQUENCE
2813 {
2814 b [30] EXPLICIT BOOLEAN OPTIONAL,
2815 c [31] EXPLICIT INTEGER OPTIONAL
2816 }
2817
2818 BERPDU53 ::= [0] SEQUENCE
2819 {
2820 b BOOLEAN OPTIONAL,
2821 c INTEGER OPTIONAL
2822 }
2823
2824 BERPDU57 ::= [0] SEQUENCE
2825 {
2826 b [0] BOOLEAN OPTIONAL,
2827 c [1] INTEGER OPTIONAL
2828 }
2829
2830 BERPDU81 ::= [0] SEQUENCE OF BOOLEAN
2831
2832 BERPDU88 ::= SET
2833 {
2834 b [30] IMPLICIT BOOLEAN OPTIONAL,
2835 c [31] IMPLICIT INTEGER OPTIONAL
2836 }
2837
2838 BERPDU89 ::= SET
2839 {
2840 c [31] IMPLICIT INTEGER OPTIONAL,
2841 b [30] IMPLICIT BOOLEAN OPTIONAL
2842 }
2843
2844 BERPDU90 ::= SET
2845 {
2846 c [31] EXPLICIT INTEGER OPTIONAL,
2847 b [30] EXPLICIT BOOLEAN OPTIONAL
2848
2849 }
2850
2851 END
2852
2853 <STATIC>
2854
2855 import from TempA all;
2856 external function enc_DER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2857 external function enc_CER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2858 external function dec_BER_PDU52(in octetstring stream) return BERPDU52 with { extension "prototype(convert) decode(BER)" }
2859
2860 external function enc_DER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2861 external function enc_CER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2862 external function dec_BER_PDU53(in octetstring stream) return BERPDU53 with { extension "prototype(convert) decode(BER)" }
2863
2864 external function enc_DER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2865 external function enc_CER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2866 external function dec_BER_PDU57(in octetstring stream) return BERPDU57 with { extension "prototype(convert) decode(BER)" }
2867
2868 external function enc_DER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2869 external function enc_CER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2870 external function dec_BER_PDU81(in octetstring stream) return BERPDU81 with { extension "prototype(convert) decode(BER)" }
2871
2872 external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2873 external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2874 external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" }
2875
2876 external function enc_DER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2877 external 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
2880 external function enc_DER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2881 external 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
2884 const BERPDU52 myValue_52 := {b := true,c := 5 }
2885 const BERPDU53 myValue_53 := {b := true,c := 5 }
2886 const BERPDU57 myValue_57 := {b := true,c := 5 }
2887 const BERPDU81 myValue_81 := {true, false }
2888 const BERPDU88 myValue1_88 := {b := true, c := 5 }
2889 const BERPDU88 myValue2_88 := { c := 5, b := true }
2890 const BERPDU89 myValue_89 := {b := true,c := 5 }
2891 const 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 //===========================================
2897 if ((enc_DER_PDU52(myValue_52) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU52(myValue_52) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2898 if (dec_BER_PDU52('300BBE030101FFBF1F03020105'O) == myValue_52){setverdict(pass);} else {setverdict(fail);}
2899 if (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 //===========================================
2903 if ((enc_DER_PDU53(myValue_53) == 'A0060101FF020105'O)and(enc_CER_PDU53(myValue_53) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2904 if (dec_BER_PDU53('A0060101FF020105'O) == myValue_53){setverdict(pass);} else {setverdict(fail);}
2905 if (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 //===========================================
2910 if ((enc_DER_PDU57(myValue_57) == 'A0068001FF810105'O)and(enc_CER_PDU57(myValue_57) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2911 if (dec_BER_PDU57('A0068001FF810105'O) == myValue_57){setverdict(pass);} else {setverdict(fail);}
2912 if (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 //===========================================
2916 if ((enc_DER_PDU81(myValue_81) == 'A0060101FF010100'O)and(enc_CER_PDU81(myValue_81) == 'A0800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);}
2917 if (dec_BER_PDU81('A0060101FF010100'O) == myValue_81){setverdict(pass);} else {setverdict(fail);}
2918 if (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 //===========================================
2922 if ((enc_DER_PDU88(myValue1_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue1_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2923 if ((enc_DER_PDU88(myValue2_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue2_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2924 if (dec_BER_PDU88('31079E01FF9F1F0105'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2925 if (dec_BER_PDU88('31809E01FF9F1F01050000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2926 if (dec_BER_PDU88('31079F1F01059E01FF'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2927 if (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 //===========================================
2931 if ((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 //===========================================
2935 if ((enc_DER_PDU90(myValue_90) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU90(myValue_90) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2936
2937 <RESULT>
2938
2939 Overall 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
2954 TempA
2955
2956 DEFINITIONS
2957 EXPLICIT TAGS
2958 ::=
2959 BEGIN
2960 BERPDU ::= SET
2961 {
2962 b [30] IMPLICIT BOOLEAN OPTIONAL,
2963 c [31] IMPLICIT INTEGER OPTIONAL
2964 }
2965 END
2966
2967 <STATIC>
2968
2969 import from TempA all;
2970 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2971 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2972 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
2973
2974 const BERPDU myValue1 := {b := true,
2975 c := 5 }
2976 const BERPDU myValue2 := {
2977 c := 5 ,
2978 b := true }
2979 <TTCN_TC:EXEC>
2980
2981 if ((enc_DER_PDU(myValue1) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue1) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2982 if ((enc_DER_PDU(myValue2) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue2) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2983 if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2984 if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2985 if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2986 if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2987
2988 <RESULT>
2989
2990 Overall 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
3005 TempA
3006
3007 DEFINITIONS
3008
3009 EXPLICIT TAGS
3010
3011 ::=
3012
3013 BEGIN
3014
3015 BERPDU ::= SET
3016 {
3017 c [31] IMPLICIT INTEGER OPTIONAL,
3018 b [30] IMPLICIT BOOLEAN OPTIONAL
3019
3020 }
3021
3022
3023 END
3024
3025 <STATIC>
3026
3027 import from TempA all;
3028 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3029 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3030
3031 const BERPDU myValue := {b := true,
3032 c := 5 }
3033
3034 <TTCN_TC:EXEC>
3035
3036
3037
3038
3039 if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
3040
3041 <RESULT>
3042
3043 Overall 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
3058 TempA
3059
3060 DEFINITIONS ::=
3061 BEGIN
3062 BERPDU ::= SET
3063 {
3064 b [30] EXPLICIT BOOLEAN OPTIONAL,
3065 c [31] EXPLICIT INTEGER OPTIONAL
3066 }
3067 END
3068
3069 <STATIC>
3070
3071 import from TempA all;
3072 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3073 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3074 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3075
3076 const BERPDU myValue1 := {b := true,
3077 c := 5 }
3078 const BERPDU myValue2 := {
3079 c := 5,
3080 b := true }
3081 <TTCN_TC:EXEC>
3082
3083 if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3084 if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3085 if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3086 if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3087 if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3088 if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3089
3090 <RESULT>
3091
3092 Overall 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
3107 TempA
3108
3109 DEFINITIONS ::=
3110 BEGIN
3111
3112 BERPDU ::= SET
3113 {
3114
3115 c [31] EXPLICIT INTEGER OPTIONAL,
3116 b [30] EXPLICIT BOOLEAN OPTIONAL
3117 }
3118
3119
3120 END
3121
3122 <STATIC>
3123
3124 import from TempA all;
3125 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3126 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3127
3128 const BERPDU myValue := {b := true,
3129 c := 5 }
3130
3131 <TTCN_TC:EXEC>
3132
3133
3134
3135
3136 if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3137
3138 <RESULT>
3139
3140 Overall 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
3155 TempA
3156
3157 DEFINITIONS
3158 IMPLICIT TAGS
3159 ::=
3160 BEGIN
3161 BERPDU ::= SET
3162 {
3163 b [30] EXPLICIT BOOLEAN OPTIONAL,
3164 c [31] EXPLICIT INTEGER OPTIONAL
3165 }
3166 END
3167
3168 <STATIC>
3169
3170 import from TempA all;
3171 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3172 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3173 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3174
3175 const BERPDU myValue1 := {b := true,
3176 c := 5 }
3177 const BERPDU myValue2 := {
3178 c := 5 ,
3179 b := true }
3180 <TTCN_TC:EXEC>
3181
3182 if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3183 if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3184 if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3185 if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3186 if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3187 if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3188
3189 <RESULT>
3190
3191 Overall 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
3206 TempA
3207
3208 DEFINITIONS ::=
3209 BEGIN
3210 BERPDU ::= [0] SET
3211 {
3212 b BOOLEAN OPTIONAL,
3213 c INTEGER OPTIONAL
3214 }
3215 END
3216
3217 <STATIC>
3218
3219 import from TempA all;
3220 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3221 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3222 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3223
3224 const BERPDU myValue1 := {b := true,
3225 c := 5 }
3226 const BERPDU myValue2 := {
3227 c := 5,
3228 b := true }
3229 <TTCN_TC:EXEC>
3230
3231 if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3232 if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3233 if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3234 if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3235 if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3236 if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3237 if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3238 if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3239 if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3240
3241 <RESULT>
3242
3243 Overall 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
3258 TempA
3259
3260 DEFINITIONS ::=
3261 BEGIN
3262
3263 BERPDU ::= [0] SET
3264 {
3265
3266 c INTEGER OPTIONAL,
3267 b BOOLEAN OPTIONAL
3268 }
3269
3270
3271 END
3272
3273 <STATIC>
3274
3275 import from TempA all;
3276 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3277 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3278
3279 const BERPDU myValue := {b := true,
3280 c := 5 }
3281
3282 <TTCN_TC:EXEC>
3283
3284
3285
3286
3287 if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3288
3289 <RESULT>
3290
3291 Overall 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
3306 TempA
3307
3308 DEFINITIONS
3309 AUTOMATIC TAGS
3310 ::=
3311 BEGIN
3312 BERPDU ::= [0] SET
3313 {
3314 b BOOLEAN OPTIONAL,
3315 c INTEGER OPTIONAL
3316 }
3317 END
3318
3319 <STATIC>
3320
3321 import from TempA all;
3322 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3323 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3324
3325 const BERPDU myValue1 := {b := true,
3326 c := 5 }
3327 const BERPDU myValue2 := {
3328 c := 5,
3329 b := true }
3330 <TTCN_TC:EXEC>
3331
3332 if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3333 if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3334
3335 <RESULT>
3336
3337 Overall 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
3352 TempA
3353
3354 DEFINITIONS
3355
3356 AUTOMATIC TAGS
3357
3358 ::=
3359
3360 BEGIN
3361
3362 BERPDU ::= [0] SET
3363 {
3364 c INTEGER OPTIONAL,
3365 b BOOLEAN OPTIONAL
3366 }
3367
3368
3369 END
3370
3371 <STATIC>
3372
3373 import from TempA all;
3374 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3375 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3376
3377 const BERPDU myValue := {b := true,
3378 c := 5 }
3379
3380 <TTCN_TC:EXEC>
3381
3382
3383
3384
3385 if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
3386
3387 <RESULT>
3388
3389 Overall 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
3404 TempA
3405
3406 DEFINITIONS
3407 IMPLICIT TAGS
3408 ::=
3409 BEGIN
3410 BERPDU ::= [0] SET
3411 {
3412 b BOOLEAN OPTIONAL,
3413 c INTEGER OPTIONAL
3414 }
3415 END
3416
3417 <STATIC>
3418
3419 import from TempA all;
3420 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3421 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3422 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3423
3424 const BERPDU myValue1 := {b := true,
3425 c := 5 }
3426 const BERPDU myValue2 := {
3427 c := 5,
3428 b := true }
3429 <TTCN_TC:EXEC>
3430
3431 if ((enc_DER_PDU(myValue1) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3432 if ((enc_DER_PDU(myValue2) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3433 if (dec_BER_PDU('A0060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3434 if (dec_BER_PDU('A0800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3435 if (dec_BER_PDU('A0060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3436 if (dec_BER_PDU('A0800201050101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3437
3438 <RESULT>
3439
3440 Overall 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
3455 TempA
3456
3457 DEFINITIONS
3458
3459 IMPLICIT TAGS
3460
3461 ::=
3462
3463 BEGIN
3464
3465 BERPDU ::= [0] SET
3466 {
3467
3468 c INTEGER OPTIONAL,
3469 b BOOLEAN OPTIONAL
3470 }
3471
3472
3473 END
3474
3475 <STATIC>
3476
3477 import from TempA all;
3478 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3479 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3480
3481 const BERPDU myValue := {b := true,
3482 c := 5 }
3483
3484 <TTCN_TC:EXEC>
3485
3486
3487
3488
3489 if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3490
3491 <RESULT>
3492
3493 Overall 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
3508 TempA
3509
3510 DEFINITIONS
3511 EXPLICIT TAGS
3512 ::=
3513 BEGIN
3514 BERPDU ::= [0] SET
3515 {
3516 b BOOLEAN OPTIONAL,
3517 c INTEGER OPTIONAL
3518 }
3519 END
3520
3521 <STATIC>
3522
3523 import from TempA all;
3524 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3525 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3526 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3527
3528 const BERPDU myValue1 := {b := true,
3529 c := 5 }
3530 const BERPDU myValue2 := {
3531 c := 5,
3532 b := true }
3533 <TTCN_TC:EXEC>
3534
3535 if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3536 if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3537 if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3538 if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3539 if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3540 if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3541
3542 <RESULT>
3543
3544 Overall 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
3559 TempA
3560
3561 DEFINITIONS
3562
3563 EXPLICIT TAGS
3564
3565 ::=
3566
3567 BEGIN
3568
3569 BERPDU ::= [0] SET
3570 {
3571 c INTEGER OPTIONAL,
3572 b BOOLEAN OPTIONAL
3573 }
3574
3575
3576 END
3577
3578 <STATIC>
3579
3580 import from TempA all;
3581 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3582 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3583
3584 const BERPDU myValue := {b := true,
3585 c := 5 }
3586
3587 <TTCN_TC:EXEC>
3588
3589
3590
3591
3592 if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3593
3594 <RESULT>
3595
3596 Overall 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
3611 TempA
3612
3613 DEFINITIONS ::=
3614 BEGIN
3615 BERPDU ::= [0] SET
3616 {
3617 b [0] BOOLEAN OPTIONAL,
3618 c [1] INTEGER OPTIONAL
3619 }
3620 END
3621
3622 <STATIC>
3623
3624 import from TempA all;
3625 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3626 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3627 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3628
3629 const BERPDU myValue1 := {b := true,
3630 c := 5 }
3631 const BERPDU myValue2 := {
3632 c := 5,
3633 b := true }
3634 <TTCN_TC:EXEC>
3635
3636 if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3637 if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3638 if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3639 if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3640 if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3641 if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3642
3643 <RESULT>
3644
3645 Overall 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
3660 TempA
3661
3662 DEFINITIONS ::=
3663 BEGIN
3664
3665 BERPDU ::= [0] SET
3666 {
3667 b [1] BOOLEAN OPTIONAL,
3668 c [0] INTEGER OPTIONAL
3669 }
3670
3671
3672 END
3673
3674 <STATIC>
3675
3676 import from TempA all;
3677 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3678 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3679
3680 const BERPDU myValue := {b := true,
3681 c := 5 }
3682
3683 <TTCN_TC:EXEC>
3684
3685
3686
3687
3688 if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3689
3690 <RESULT>
3691
3692 Overall 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
3707 TempA
3708
3709 DEFINITIONS
3710 EXPLICIT TAGS
3711 ::=
3712 BEGIN
3713 BERPDU ::= [0] SET
3714 {
3715 b [0] BOOLEAN OPTIONAL,
3716 c [1] INTEGER OPTIONAL
3717 }
3718 END
3719
3720 <STATIC>
3721
3722 import from TempA all;
3723 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3724 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3725 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3726
3727 const BERPDU myValue1 := {b := true,
3728 c := 5 }
3729 const BERPDU myValue2 := {
3730 c := 5,
3731 b := true }
3732 <TTCN_TC:EXEC>
3733
3734 if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3735 if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3736 if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3737 if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3738 if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3739 if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3740
3741 <RESULT>
3742
3743 Overall 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
3758 TempA
3759
3760 DEFINITIONS
3761
3762 EXPLICIT TAGS
3763
3764 ::=
3765
3766 BEGIN
3767
3768 BERPDU ::= [0] SET
3769 {
3770 b [1] BOOLEAN OPTIONAL,
3771 c [0] INTEGER OPTIONAL
3772 }
3773
3774
3775 END
3776
3777 <STATIC>
3778
3779 import from TempA all;
3780 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3781 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3782
3783 const BERPDU myValue := {b := true,
3784 c := 5 }
3785
3786 <TTCN_TC:EXEC>
3787
3788
3789
3790
3791 if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3792
3793 <RESULT>
3794
3795 Overall 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
3810 TempA
3811
3812 DEFINITIONS
3813 IMPLICIT TAGS
3814 ::=
3815 BEGIN
3816 BERPDU ::= [0] SET
3817 {
3818 b [0] BOOLEAN OPTIONAL,
3819 c [1] INTEGER OPTIONAL
3820 }
3821 END
3822
3823 <STATIC>
3824
3825 import from TempA all;
3826 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3827 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3828 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3829
3830 const BERPDU myValue1 := {b := true,
3831 c := 5 }
3832 const BERPDU myValue2 := {
3833 c := 5,
3834 b := true }
3835 <TTCN_TC:EXEC>
3836
3837 if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3838 if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3839 if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3840 if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3841 if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3842 if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3843
3844 <RESULT>
3845
3846 Overall 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
3861 TempA
3862
3863 DEFINITIONS
3864
3865 IMPLICIT TAGS
3866
3867 ::=
3868
3869 BEGIN
3870
3871 BERPDU ::= [0] SET
3872 {
3873
3874 c [1] INTEGER OPTIONAL,
3875 b [0] BOOLEAN OPTIONAL
3876 }
3877
3878
3879 END
3880
3881 <STATIC>
3882
3883 import from TempA all;
3884 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3885 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3886
3887 const BERPDU myValue := {b := true,
3888 c := 5 }
3889
3890 <TTCN_TC:EXEC>
3891
3892
3893
3894
3895 if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3896
3897 <RESULT>
3898
3899 Overall 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
3914 TempA
3915
3916 DEFINITIONS
3917 AUTOMATIC TAGS
3918 ::=
3919 BEGIN
3920 BERPDU ::= [0] SET
3921 {
3922 b [0] BOOLEAN OPTIONAL,
3923 c [1] INTEGER OPTIONAL
3924 }
3925 END
3926
3927 <STATIC>
3928
3929 import from TempA all;
3930 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3931 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3932 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3933
3934 const BERPDU myValue1 := {b := true,
3935 c := 5 }
3936 const BERPDU myValue2 := {
3937 c := 5,
3938 b := true}
3939 <TTCN_TC:EXEC>
3940
3941 if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3942 if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3943 if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3944 if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3945 if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3946 if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3947
3948 <RESULT>
3949
3950 Overall 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
3965 TempA
3966
3967 DEFINITIONS
3968
3969 AUTOMATIC TAGS
3970
3971 ::=
3972
3973 BEGIN
3974
3975 BERPDU ::= [0] SET
3976 {
3977
3978 c [0] INTEGER OPTIONAL,
3979 b [1] BOOLEAN OPTIONAL
3980 }
3981
3982
3983 END
3984
3985 <STATIC>
3986
3987 import from TempA all;
3988 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3989 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3990
3991 const BERPDU myValue := {b := true,
3992 c := 5 }
3993
3994 <TTCN_TC:EXEC>
3995
3996
3997
3998
3999 if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4000
4001
4002 <RESULT>
4003
4004 Overall 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
4019 TempA
4020
4021 DEFINITIONS
4022 AUTOMATIC TAGS
4023 ::=
4024 BEGIN
4025 BERPDU ::= SET
4026 {
4027 b [5] BOOLEAN OPTIONAL,
4028 c INTEGER OPTIONAL
4029 }
4030 END
4031
4032 <STATIC>
4033
4034 import from TempA all;
4035 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4036 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4037 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4038
4039 const BERPDU myValue1 := {b := true,
4040 c := 5 }
4041 const BERPDU myValue2 := { c := 5 ,
4042 b := true }
4043 <TTCN_TC:EXEC>
4044
4045 if ((enc_DER_PDU(myValue1) == '31060201058501FF'O)and(enc_CER_PDU(myValue1) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4046 if ((enc_DER_PDU(myValue2) == '31060201058501FF'O)and(enc_CER_PDU(myValue2) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4047 if (dec_BER_PDU('31060201058501FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4048 if (dec_BER_PDU('31800201058501FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4049 if (dec_BER_PDU('31068501FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4050 if (dec_BER_PDU('31808501FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4051
4052 <RESULT>
4053
4054 Overall 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
4069 TempA
4070
4071 DEFINITIONS
4072 AUTOMATIC TAGS
4073 ::=
4074 BEGIN
4075 MySeq ::= SET
4076 {x INTEGER OPTIONAL,
4077 y OCTET STRING}
4078 BERPDU ::= SET
4079 {
4080 b BOOLEAN OPTIONAL,
4081 c INTEGER OPTIONAL,
4082 COMPONENTS OF MySeq
4083 }
4084 END
4085
4086 <STATIC>
4087
4088 import from TempA all;
4089 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4090 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4091 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4092
4093 const BERPDU myValue := {b := true,
4094 c := 5 ,
4095 x := 6,
4096 y := 'FF'O }
4097
4098 <TTCN_TC:EXEC>
4099
4100 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4101 if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4102 if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4103 if (dec_BER_PDU('310C8001FF8201068101058301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4104 if (dec_BER_PDU('31808001FF8201068101058301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4105
4106 <RESULT>
4107
4108 Overall 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
4123 TempA
4124
4125 DEFINITIONS
4126
4127 AUTOMATIC TAGS
4128
4129
4130 ::=
4131
4132 BEGIN
4133
4134 MySeq ::= SET
4135 {y OCTET STRING,
4136
4137 x INTEGER OPTIONAL
4138 }
4139
4140
4141
4142 BERPDU ::= SET
4143 {
4144 b BOOLEAN OPTIONAL,
4145 c INTEGER OPTIONAL,
4146 COMPONENTS OF MySeq
4147 }
4148
4149
4150 END
4151
4152 <STATIC>
4153
4154 import from TempA all;
4155 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4156 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4157
4158 const BERPDU myValue := {b := true,
4159 c := 5 ,
4160 x := 6,
4161 y := 'FF'O }
4162
4163 <TTCN_TC:EXEC>
4164
4165
4166
4167
4168 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4169
4170 <RESULT>
4171
4172 Overall 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
4187 TempA
4188
4189 DEFINITIONS
4190 AUTOMATIC TAGS
4191 ::=
4192 BEGIN
4193 MySeq ::= SET
4194 {x [0] INTEGER OPTIONAL,
4195 y OCTET STRING}
4196 BERPDU ::= SET
4197 {
4198 b BOOLEAN OPTIONAL,
4199 c INTEGER OPTIONAL,
4200 COMPONENTS OF MySeq
4201 }
4202 END
4203
4204 <STATIC>
4205
4206 import from TempA all;
4207 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4208 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4209 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4210
4211 const BERPDU myValue := {b := true,
4212 c := 5 ,
4213 x := 6,
4214 y := 'FF'O }
4215
4216 <TTCN_TC:EXEC>
4217
4218 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4219 if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4220 if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4221 if (dec_BER_PDU('310C8301FF8001FF820106810105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4222 if (dec_BER_PDU('31808301FF8101058201068001FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4223
4224 <RESULT>
4225
4226 Overall 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
4241 TempA
4242
4243 DEFINITIONS
4244
4245 AUTOMATIC TAGS
4246
4247 ::=
4248
4249 BEGIN
4250
4251 MySeq ::= SET
4252 {y OCTET STRING,
4253 x [0] INTEGER OPTIONAL
4254 }
4255
4256
4257
4258 BERPDU ::= SET
4259 {
4260 b BOOLEAN OPTIONAL,
4261 c INTEGER OPTIONAL,
4262 COMPONENTS OF MySeq
4263 }
4264
4265
4266 END
4267
4268 <STATIC>
4269
4270 import from TempA all;
4271 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4272 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4273
4274 const BERPDU myValue := {b := true,
4275 c := 5 ,
4276 x := 6,
4277 y := 'FF'O }
4278
4279 <TTCN_TC:EXEC>
4280
4281
4282
4283
4284 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4285
4286 <RESULT>
4287
4288 Overall 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
4303 TempA
4304
4305 DEFINITIONS
4306 AUTOMATIC TAGS
4307 ::=
4308 BEGIN
4309 MySeq ::= SET
4310 {x INTEGER OPTIONAL,
4311 y OCTET STRING}
4312 BERPDU ::= SET
4313 {
4314 b [0] BOOLEAN OPTIONAL,
4315 c BIT STRING OPTIONAL,
4316 COMPONENTS OF MySeq
4317 }
4318 END
4319
4320 <STATIC>
4321
4322 import from TempA all;
4323 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4324 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4325 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4326
4327 const BERPDU myValue1 := {b := true,
4328 c := '1'B ,
4329 x := 6,
4330 y := 'FF'O }
4331
4332 <TTCN_TC:EXEC>
4333
4334 if ((enc_DER_PDU(myValue1) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue1) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4335 if (dec_BER_PDU('310D020106030207800401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4336 if (dec_BER_PDU('3180020106030207800401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4337 if (dec_BER_PDU('310D030207800201060401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4338 if (dec_BER_PDU('3180030207800201060401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4339
4340 <RESULT>
4341
4342 Overall 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
4357 TempA
4358
4359 DEFINITIONS
4360
4361 AUTOMATIC TAGS
4362
4363 ::=
4364
4365 BEGIN
4366
4367
4368 MySeq ::= SET
4369 {y OCTET STRING,
4370 x INTEGER OPTIONAL
4371 }
4372
4373
4374
4375 BERPDU ::= SET
4376 {
4377 b [0] BOOLEAN OPTIONAL,
4378 c BIT STRING OPTIONAL,
4379 COMPONENTS OF MySeq
4380 }
4381
4382
4383 END
4384
4385 <STATIC>
4386
4387 import from TempA all;
4388 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4389 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4390 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4391
4392 const BERPDU myValue := {b := true,
4393 c := '1'B ,
4394 x := 6,
4395 y := 'FF'O }
4396
4397 <TTCN_TC:EXEC>
4398
4399
4400
4401
4402 if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4403
4404 <RESULT>
4405
4406 Overall 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
4421 TempA
4422 DEFINITIONS
4423 AUTOMATIC TAGS
4424 ::=
4425 BEGIN
4426 MySeq ::= SET
4427 {x [1] INTEGER OPTIONAL,
4428 y OCTET STRING}
4429 BERPDU ::= SET
4430 {
4431 b [0] BOOLEAN OPTIONAL,
4432 c BIT STRING OPTIONAL,
4433 COMPONENTS OF MySeq
4434 }
4435 END
4436
4437 <STATIC>
4438
4439 import from TempA all;
4440 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4441 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4442 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4443
4444 const BERPDU myValue1 := {b := true,
4445 c := '1'B ,
4446 x := 6,
4447 y := 'FF'O }
4448
4449 <TTCN_TC:EXEC>
4450
4451 if ((enc_DER_PDU(myValue1) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue1) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4452 if (dec_BER_PDU('310D030207800401FF8001FF810106'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4453 if (dec_BER_PDU('3180030207800401FF8001FF8101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4454 if (dec_BER_PDU('310D8101060401FF8001FF03020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4455 if (dec_BER_PDU('31808001FF0401FF030207808101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4456
4457 <RESULT>
4458
4459 Overall 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
4474 TempA
4475
4476 DEFINITIONS
4477
4478 AUTOMATIC TAGS
4479
4480 ::=
4481
4482 BEGIN
4483
4484 MySeq ::= SET
4485 { y OCTET STRING,
4486 x [1] INTEGER OPTIONAL
4487 }
4488
4489
4490
4491 BERPDU ::= SET
4492 {
4493 b [0] BOOLEAN OPTIONAL,
4494 c BIT STRING OPTIONAL,
4495 COMPONENTS OF MySeq
4496 }
4497
4498
4499
4500 END
4501
4502 <STATIC>
4503
4504 import from TempA all;
4505 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4506 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4507
4508 const BERPDU myValue := {b := true,
4509 c := '1'B ,
4510 x := 6,
4511 y := 'FF'O }
4512
4513 <TTCN_TC:EXEC>
4514
4515
4516
4517
4518 if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4519
4520 <RESULT>
4521
4522 Overall 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
4537 TempA
4538
4539 DEFINITIONS
4540 AUTOMATIC TAGS
4541 ::=
4542 BEGIN
4543 BERPDU ::= SET
4544 {
4545 b CHOICE {
4546 x BOOLEAN,
4547 y OCTET STRING
4548 }
4549 OPTIONAL,
4550 c INTEGER OPTIONAL
4551 }
4552 END
4553
4554 <STATIC>
4555
4556 import from TempA all;
4557 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4558 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4559 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4560
4561 const BERPDU myValue1 := {b := {x := true},
4562 c := 4}
4563 const BERPDU myValue2 := { c := 4,
4564 b := {x := true} }
4565 <TTCN_TC:EXEC>
4566
4567 if ((enc_DER_PDU(myValue1) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue1) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4568 if ((enc_DER_PDU(myValue2) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue2) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4569 if (dec_BER_PDU('3108A0038001FF810104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4570 if (dec_BER_PDU('3180A0808001FF00008101040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4571 if (dec_BER_PDU('3108810104A0038001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4572 if (dec_BER_PDU('3180810104A0808001FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4573
4574 <RESULT>
4575
4576 Overall 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
4591 TempA
4592
4593 DEFINITIONS
4594
4595 AUTOMATIC TAGS
4596
4597 ::=
4598
4599 BEGIN
4600
4601
4602
4603
4604 BERPDU ::= 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
4619 END
4620
4621 <STATIC>
4622
4623 import from TempA all;
4624 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4625 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4626
4627 const BERPDU myValue := {
4628 c := 4,
4629 b := {x := true} }
4630 <TTCN_TC:EXEC>
4631
4632
4633
4634
4635 if ((enc_DER_PDU(myValue) == '3108800104A1038001FF'O)and(enc_CER_PDU(myValue) == '3180800104A1808001FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4636
4637 <RESULT>
4638
4639 Overall 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
4654 TempA
4655
4656 DEFINITIONS
4657 ::=
4658 BEGIN
4659 BERPDU ::= SET
4660 {
4661 b CHOICE {
4662 x BOOLEAN,
4663 y OCTET STRING
4664 }
4665 OPTIONAL,
4666 c INTEGER OPTIONAL
4667 }
4668 END
4669
4670 <STATIC>
4671
4672 import from TempA all;
4673 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4674 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4675 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4676
4677 const BERPDU myValue1 := {b := {x := true},
4678 c := 4}
4679 const BERPDU myValue2 := {c := 4 ,
4680 b := {x := true}}
4681 const BERPDU myValue3 := {b := {y := 'FF'O},
4682 c := 4}
4683 <TTCN_TC:EXEC>
4684
4685 if ((enc_DER_PDU(myValue1) == '31060101FF020104'O)and(enc_CER_PDU(myValue1) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4686 if ((enc_DER_PDU(myValue2) == '31060101FF020104'O)and(enc_CER_PDU(myValue2) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4687 if ((enc_DER_PDU(myValue3) == '31060201040401FF'O)and(enc_CER_PDU(myValue3) == '31800401FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4688 if (dec_BER_PDU('31060101FF020104'O) == myValue1) {setverdict(pass);} else {setverdict(fail);}
4689 if (dec_BER_PDU('31800101FF0201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4690 if (dec_BER_PDU('31060201040101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4691 if (dec_BER_PDU('31800201040101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4692 if (dec_BER_PDU('31060201040401FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4693 if (dec_BER_PDU('31800401FF0201040000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4694 if (dec_BER_PDU('31060401FF020104'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4695 if (dec_BER_PDU('31800201040401FF0000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4696
4697 <RESULT>
4698
4699 Overall 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
4714 TempA
4715
4716 DEFINITIONS
4717 AUTOMATIC TAGS
4718 ::=
4719 BEGIN
4720 BERPDU ::= SET
4721 {
4722 a OCTET STRING,
4723 b BOOLEAN,
4724 c INTEGER OPTIONAL,
4725 ...,
4726 d BIT STRING
4727 }
4728 END
4729
4730 <STATIC>
4731
4732 import from TempA all;
4733 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4734 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4735 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4736
4737 const BERPDU myValue1 := {
4738 a := 'FF'O,
4739 b := true,
4740 d := '1'B,
4741 c := 4
4742 }
4743 const BERPDU myValue2 := {
4744 a := 'FF'O,
4745 d := '1'B,
4746 b := true,
4747 c := 4
4748 }
4749 <TTCN_TC:EXEC>
4750
4751 if ((enc_DER_PDU(myValue1) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue1) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4752 if ((enc_DER_PDU(myValue2) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue2) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4753 if (dec_BER_PDU('310D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4754 if (dec_BER_PDU('31808001FF8101FF820104830207800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4755 if (dec_BER_PDU('310D8001FF830207808101FF820104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4756 if (dec_BER_PDU('31808001FF830207808101FF8201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4757 if (dec_BER_PDU('318300000D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4758 if (dec_BER_PDU('318300000D8101FF820104830207808001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4759
4760 <RESULT>
4761
4762 Overall 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
4777 TempA
4778
4779 DEFINITIONS ::=
4780 BEGIN
4781
4782 BERPDU ::= 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
4807 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4808
4809
4810 END
4811
4812 <STATIC>
4813
4814 import from TempA all;
4815 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4816 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4817
4818 const 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
4847 if ((enc_DER_PDU(myValue) == '31530101FF020102030207800402FFFF05000603000203090603312E452B300A0100300505000101FF310C03020780090603312E452B301603414243A1030101FFA3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '31800101FF020102030207800402FFFF05000603000203090603312E452B300A0100308005000101FF0000318003020780090603312E452B3000001603414243A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
4848
4849 <RESULT>
4850
4851 Overall 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
4866 TempA
4867
4868 DEFINITIONS
4869 AUTOMATIC TAGS
4870 ::=
4871 BEGIN
4872 BERPDU ::= 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 }
4892 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4893 END
4894
4895 <STATIC>
4896
4897 import from TempA all;
4898 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4899 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4900
4901 const 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 }
4920 const 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
4942 if ((enc_DER_PDU(myValue1) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4943 and(enc_CER_PDU(myValue1) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4944 if ((enc_DER_PDU(myValue2) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4945 and(enc_CER_PDU(myValue2) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4946
4947 <RESULT>
4948
4949 Overall 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
4964 TempA
4965 DEFINITIONS
4966 IMPLICIT TAGS
4967 ::=
4968 BEGIN
4969 BERPDU ::= SET
4970 {
4971 d [PRIVATE 0] INTEGER OPTIONAL,
4972 a INTEGER OPTIONAL,
4973 b [APPLICATION 0] INTEGER OPTIONAL,
4974 c [0] INTEGER OPTIONAL
4975 }
4976 END
4977
4978 <STATIC>
4979
4980 import from TempA all;
4981 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4982 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4983 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4984
4985 const BERPDU myValue1 := {
4986 a := 1,
4987 c := 3,
4988 d := 4,
4989 b := 2 }
4990
4991 <TTCN_TC:EXEC>
4992
4993 if ((enc_DER_PDU(myValue1) == '310C020101400102800103C00104'O)and(enc_CER_PDU(myValue1) == '3180020101400102800103C001040000'O)) {setverdict(pass);} else {setverdict(fail);}
4994 if (dec_BER_PDU('310C020101400102800103C00104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4995 if (dec_BER_PDU('3180020101400102800103C001040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4996
4997 <RESULT>
4998
4999 Overall 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
5014 TempA
5015 DEFINITIONS
5016 ::=
5017 BEGIN
5018 BERPDU ::= SET
5019 {
5020 d [PRIVATE 0] INTEGER OPTIONAL,
5021 a INTEGER OPTIONAL,
5022 b [APPLICATION 0] INTEGER OPTIONAL,
5023 c [0] INTEGER OPTIONAL
5024 }
5025 END
5026
5027 <STATIC>
5028
5029 import from TempA all;
5030 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5031 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5032 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5033
5034 const BERPDU myValue1 := {
5035 a := 1,
5036 c := 3,
5037 d := 4,
5038 b := 2 }
5039
5040 <TTCN_TC:EXEC>
5041 if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5042 if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5043 if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5044
5045 <RESULT>
5046
5047 Overall 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
5062 TempA
5063 DEFINITIONS
5064 EXPLICIT TAGS
5065 ::=
5066 BEGIN
5067 BERPDU ::= SET
5068 {
5069 d [PRIVATE 0] INTEGER OPTIONAL,
5070 a INTEGER OPTIONAL,
5071 b [APPLICATION 0] INTEGER OPTIONAL,
5072 c [0] INTEGER OPTIONAL
5073 }
5074 END
5075
5076 <STATIC>
5077
5078 import from TempA all;
5079 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5080 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5081 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5082
5083 const BERPDU myValue1 := {
5084 a := 1,
5085 c := 3,
5086 d := 4,
5087 b := 2 }
5088
5089 <TTCN_TC:EXEC>
5090 if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5091 if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5092 if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5093
5094 <RESULT>
5095
5096 Overall 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
5111 TempA
5112 DEFINITIONS
5113 IMPLICIT TAGS
5114 ::=
5115 BEGIN
5116 BERPDU ::= 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 }
5137 END
5138
5139 <STATIC>
5140
5141 import from TempA all;
5142 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5143 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5144 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5145
5146 const BERPDU myValue1 := {
5147 a := 1,
5148 b := {c:= 2},
5149 e := { f := {g := 3 } }
5150 }
5151
5152 <TTCN_TC:EXEC>
5153 if ((enc_DER_PDU(myValue1) == '310BA103820102830101850103'O)and(enc_CER_PDU(myValue1) == '3180850103A18082010200008301010000'O)) {setverdict(pass);} else {setverdict(fail);}
5154 if (dec_BER_PDU('310BA103820102830101850103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5155 if (dec_BER_PDU('3180850103A18082010200008301010000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5156
5157 <RESULT>
5158
5159 Overall 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
5174 TempA
5175 DEFINITIONS
5176 EXPLICIT TAGS
5177 ::=
5178 BEGIN
5179 BERPDU ::= 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 }
5200 END
5201
5202 <STATIC>
5203
5204 import from TempA all;
5205 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5206 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5207 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5208
5209 const BERPDU myValue1 := {
5210 a := 1,
5211 b := {c:= 2},
5212 e := { f := { g := 3 } }
5213 }
5214
5215 <TTCN_TC:EXEC>
5216
5217 if ((enc_DER_PDU(myValue1) == '3111A105A203020102A303020101A503020103'O)and(enc_CER_PDU(myValue1) == '3180A5800201030000A180A28002010200000000A38002010100000000'O)) {setverdict(pass);} else {setverdict(fail);}
5218 if (dec_BER_PDU('3111A105A203020102A303020101A503020103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5219 if (dec_BER_PDU('3180A5800201030000A180A28002010200000000A38002010100000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5220
5221 <RESULT>
5222
5223 Overall 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
5238 TempA
5239
5240 DEFINITIONS ::=
5241 BEGIN
5242 BERPDU ::= SET
5243 {
5244
5245 c INTEGER OPTIONAL,
5246 b BOOLEAN OPTIONAL
5247 }
5248
5249
5250 END
5251
5252 <STATIC>
5253
5254 import from TempA all;
5255
5256 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5257
5258
5259 const BERPDU myValue := {
5260 c := 5,
5261 b := true }
5262
5263
5264 <TTCN_TC:EXEC>
5265
5266 if (dec_BER_PDU('31800201050101FF0000'O) == myValue)
5267
5268
5269
5270 {setverdict(pass);} else {setverdict(fail);}
5271
5272
5273 <RESULT>
5274
5275 Overall 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
5290 TempA
5291 DEFINITIONS
5292 ::=
5293 BEGIN
5294 BERPDU ::= 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 }
5314 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5315 END
5316
5317 <STATIC>
5318
5319 import from TempA all;
5320
5321 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5322
5323 const 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
5345 if (dec_BER_PDU('31450101FF020102030207800402FFFF050006030002030A01001603414243300505000101FF3106030207800500A1030101FFA3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5346 if (dec_BER_PDU('31800101FF020102030207800402FFFF050006030002030A01001603414243308005000101FF000031800302078005000000A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5347 if (dec_BER_PDU('31450101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF0500'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5348 if (dec_BER_PDU('31800101FF0201020A0100030207800402FFFF050006030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5349
5350 <RESULT>
5351
5352 Overall 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
5367 TempA
5368 DEFINITIONS
5369 AUTOMATIC TAGS
5370 ::=
5371 BEGIN
5372 BERPDU ::= 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 }
5392 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5393 END
5394
5395 <STATIC>
5396
5397 import from TempA all;
5398
5399 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5400
5401 const 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
5423 if (dec_BER_PDU('314380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5424 if (dec_BER_PDU('318080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5425 if (dec_BER_PDU('31438101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF8000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5426 if (dec_BER_PDU('318080008201028101FF8301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5427
5428 <RESULT>
5429
5430 Overall 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
5445 TempA
5446
5447 DEFINITIONS ::=
5448 BEGIN
5449 BERPDU ::= SET OF INTEGER
5450 END
5451
5452 <STATIC>
5453
5454 import from TempA all;
5455 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5456 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5457 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5458
5459 const BERPDU myValue1 := { }
5460
5461 <TTCN_TC:EXEC>
5462
5463 if ((enc_DER_PDU(myValue1) == '3100'O)and(enc_CER_PDU(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
5464 if (dec_BER_PDU('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5465 if (dec_BER_PDU('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5466
5467 <RESULT>
5468
5469 Overall 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
5484 TempA
5485
5486 DEFINITIONS ::=
5487 BEGIN
5488 BERPDU ::= SET OF BOOLEAN
5489 END
5490
5491 <STATIC>
5492
5493 import from TempA all;
5494 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5495 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5496 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5497
5498 const BERPDU myValue := {true, false }
5499
5500 <TTCN_TC:EXEC>
5501
5502 if ((enc_DER_PDU(myValue) == '31060101000101FF'O)and(enc_CER_PDU(myValue) == '31800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5503 if (dec_BER_PDU('31060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5504 if (dec_BER_PDU('31800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5505 if (dec_BER_PDU('31060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5506 if (dec_BER_PDU('31800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5507
5508 <RESULT>
5509
5510 Overall 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
5525 TempA
5526
5527 DEFINITIONS ::=
5528 BEGIN
5529 BERPDU ::= SET OF OCTET STRING
5530 END
5531
5532 <STATIC>
5533
5534 import from TempA all;
5535 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5536 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5537 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5538
5539 const BERPDU myValue := {'FFFF'O, 'AB'O };
5540
5541 <TTCN_TC:EXEC>
5542
5543 if ((enc_DER_PDU(myValue) == '31070401AB0402FFFF'O)and(enc_CER_PDU(myValue) == '31800401AB0402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5544 if (dec_BER_PDU('31070401AB0402FFFF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5545 if (dec_BER_PDU('31800401AB0402FFFF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5546 if (dec_BER_PDU('31070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5547 if (dec_BER_PDU('31800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5548
5549 <RESULT>
5550
5551 Overall 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
5566 TempA
5567
5568 DEFINITIONS ::=
5569 BEGIN
5570 BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN}
5571 END
5572
5573 <STATIC>
5574
5575 import from TempA all;
5576 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5577 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5578 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5579
5580 const 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
5595 if ((enc_DER_PDU(myValue) == '3110300602010301010030060201050101FF'O)and(enc_CER_PDU(myValue) == '31803080020103010100000030800201050101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5596 if (dec_BER_PDU('3110300602010301010030060201050101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5597 if (dec_BER_PDU('31803080020103010100000030800201050101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5598 if (dec_BER_PDU('311030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5599 if (dec_BER_PDU('318030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5600
5601 <RESULT>
5602
5603 Overall 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
5618 TempA
5619
5620 DEFINITIONS ::=
5621 BEGIN
5622 BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN}
5623 END
5624
5625 <STATIC>
5626
5627 import from TempA all;
5628 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5629 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5630 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5631
5632 const 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
5646 if ((enc_DER_PDU(myValue) == '3110310601010002010331060101FF020105'O)and(enc_CER_PDU(myValue) == '31803180010100020103000031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
5647 if (dec_BER_PDU('3110310601010002010331060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5648 if (dec_BER_PDU('31803180010100020103000031800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5649 if (dec_BER_PDU('311031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5650 if (dec_BER_PDU('318031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5651
5652 <RESULT>
5653
5654 Overall 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
5669 TempA
5670
5671 DEFINITIONS ::=
5672 BEGIN
5673 BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN}
5674 END
5675
5676 <STATIC>
5677
5678 import from TempA all;
5679 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5680 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5681 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5682
5683 const BERPDU myValue := {
5684 {
5685 a := 5
5686 },
5687 {
5688 b := false
5689 }
5690 };
5691
5692 <TTCN_TC:EXEC>
5693
5694 if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
5695 if (dec_BER_PDU('3106010100020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5696 if (dec_BER_PDU('31800101000201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5697 if (dec_BER_PDU('3106020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5698 if (dec_BER_PDU('31800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5699
5700 <RESULT>
5701
5702 Overall 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
5717 TempA
5718
5719 DEFINITIONS ::=
5720 BEGIN
5721 BERPDU ::= SET OF SEQUENCE OF INTEGER
5722 END
5723
5724 <STATIC>
5725
5726 import from TempA all;
5727 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5728 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5729 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5730
5731 const 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
5746 if ((enc_DER_PDU(myValue) == '311630090201010201020201033009020105020106020107'O)and(enc_CER_PDU(myValue) == '318030800201010201020201030000308002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5747 if (dec_BER_PDU('311630090201010201020201033009020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5748 if (dec_BER_PDU('318030800201010201020201030000308002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5749 if (dec_BER_PDU('311630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5750 if (dec_BER_PDU('318030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5751
5752 <RESULT>
5753
5754 Overall 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
5769 TempA
5770
5771 DEFINITIONS ::=
5772 BEGIN
5773 BERPDU ::= SET OF SET OF INTEGER
5774 END
5775
5776 <STATIC>
5777
5778 import from TempA all;
5779 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5780 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5781 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5782
5783 const BERPDU myValue := {
5784 {5,6,7},
5785 {1,2,3}
5786 };
5787
5788 <TTCN_TC:EXEC>
5789
5790 if ((enc_DER_PDU(myValue) == '311631090201010201020201033109020105020106020107'O)and(enc_CER_PDU(myValue) == '318031800201010201020201030000318002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5791 if (dec_BER_PDU('311631090201010201020201033109020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5792 if (dec_BER_PDU('318031800201010201020201030000318002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5793 if (dec_BER_PDU('311631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5794 if (dec_BER_PDU('318031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5795
5796 <RESULT>
5797
5798 Overall 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
5813 TempA
5814
5815 DEFINITIONS ::=
5816 BEGIN
5817 BERPDU ::= [0] SET OF BOOLEAN
5818 END
5819
5820 <STATIC>
5821
5822 import from TempA all;
5823 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5824 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5825 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5826
5827 const BERPDU myValue := {true, false }
5828
5829 <TTCN_TC:EXEC>
5830
5831 if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5832 if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5833 if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5834 if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5835 if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5836
5837 <RESULT>
5838
5839 Overall 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
5854 TempA
5855
5856 DEFINITIONS
5857 EXPLICIT TAGS
5858 ::=
5859 BEGIN
5860 BERPDU ::= [0] SET OF BOOLEAN
5861 END
5862
5863 <STATIC>
5864
5865 import from TempA all;
5866 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5867 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5868 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5869
5870 const BERPDU myValue := {true, false }
5871
5872 <TTCN_TC:EXEC>
5873
5874 if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5875 if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5876 if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5877 if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5878 if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5879
5880 <RESULT>
5881
5882 Overall 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
5897 TempA
5898
5899 DEFINITIONS
5900 IMPLICIT TAGS
5901 ::=
5902 BEGIN
5903 BERPDU ::= [0] SET OF BOOLEAN
5904 END
5905
5906 <STATIC>
5907
5908 import from TempA all;
5909 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5910 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5911 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5912
5913 const BERPDU myValue := {true, false }
5914
5915 <TTCN_TC:EXEC>
5916
5917 if ((enc_DER_PDU(myValue) == 'A0060101000101FF'O)and(enc_CER_PDU(myValue) == 'A0800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5918 if (dec_BER_PDU('A0060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5919 if (dec_BER_PDU('A0800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5920 if (dec_BER_PDU('A0060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5921 if (dec_BER_PDU('A0800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5922
5923 <RESULT>
5924
5925 Overall 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
5940 TempA
5941
5942 DEFINITIONS ::=
5943 BEGIN
5944
5945 BERPDU ::= SET OF OCTET STRING
5946
5947 END
5948
5949 <STATIC>
5950
5951 import from TempA all;
5952 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5953 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5954
5955 const BERPDU myValue := {'FFFF'O, ''O };
5956
5957 <TTCN_TC:EXEC>
5958
5959 if ((enc_DER_PDU(myValue) == '310604000402FFFF'O)and(enc_CER_PDU(myValue) == '318004000402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5960
5961 <RESULT>
5962
5963 Overall 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
5978 TempA
5979
5980 DEFINITIONS ::=
5981 BEGIN
5982
5983 BERPDU ::= 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
6008 myValue8 BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)}
6009 END
6010
6011 <STATIC>
6012
6013 import from TempA all;
6014 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6015 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6016 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6017
6018 const BERPDU myValue1 := {a := NULL}
6019 const BERPDU myValue2 := {b := true}
6020 const BERPDU myValue3 := {c := 2}
6021 const BERPDU myValue4 := {d := first}
6022 const BERPDU myValue5 := {e := 1.0}
6023 const BERPDU myValue6 := {f := '1'B}
6024 const BERPDU myValue7 := {g := 'FFFF'O}
6025
6026 const BERPDU myValue9 := {i := "ABC"}
6027 const BERPDU myValue10 := {j := {x1 := true } }
6028 const BERPDU myValue11 := {k := {x2 := NULL,
6029 y2 := true } }
6030 const BERPDU myValue12 := {l := {y3 := 1.0 ,
6031 x3 := '1'B } }
6032 const BERPDU myValue13 := {m :=
6033 { 1 ,2 } }
6034 const BERPDU myValue14 := {n :=
6035 { true, true } }
6036 <TTCN_TC:EXEC>
6037
6038 if ((enc_DER_PDU(myValue1) == '0500'O)and(enc_CER_PDU(myValue1) == '0500'O)) {setverdict(pass);} else {setverdict(fail);}
6039 if ((enc_DER_PDU(myValue2) == '0101FF'O)and(enc_CER_PDU(myValue2) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6040 if ((enc_DER_PDU(myValue3) == '020102'O)and(enc_CER_PDU(myValue3) == '020102'O)) {setverdict(pass);} else {setverdict(fail);}
6041 if ((enc_DER_PDU(myValue4) == '0A0100'O)and(enc_CER_PDU(myValue4) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
6042 if ((enc_DER_PDU(myValue5) == '090603312E452B30'O)and(enc_CER_PDU(myValue5) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
6043 if ((enc_DER_PDU(myValue6) == '03020780'O)and(enc_CER_PDU(myValue6) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);}
6044 if ((enc_DER_PDU(myValue7) == '0402FFFF'O)and(enc_CER_PDU(myValue7) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
6045 if ((enc_DER_PDU(myValue8) == '0603000203'O)and(enc_CER_PDU(myValue8) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
6046 if ((enc_DER_PDU(myValue9) == '1603414243'O)and(enc_CER_PDU(myValue9) == '1603414243'O)) {setverdict(pass);} else {setverdict(fail);}
6047 if ((enc_DER_PDU(myValue10) == 'A1030101FF'O)and(enc_CER_PDU(myValue10) == 'A1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6048 if ((enc_DER_PDU(myValue11) == '300505000101FF'O)and(enc_CER_PDU(myValue11) == '308005000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6049 if ((enc_DER_PDU(myValue12) == '310C03020780090603312E452B30'O)and(enc_CER_PDU(myValue12) == '318003020780090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);}
6050 if ((enc_DER_PDU(myValue13) == 'A3083006020101020102'O)and(enc_CER_PDU(myValue13) == 'A380308002010102010200000000'O)) {setverdict(pass);} else {setverdict(fail);}
6051 if ((enc_DER_PDU(myValue14) == 'A40831060101FF0101FF'O)and(enc_CER_PDU(myValue14) == 'A48031800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6052 if (dec_BER_PDU('0500'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6053 if (dec_BER_PDU('0101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
6054 if (dec_BER_PDU('020102'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
6055 if (dec_BER_PDU('0A0100'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
6056 if (dec_BER_PDU('03020780'O) == myValue6){setverdict(pass);} else {setverdict(fail);}
6057 if (dec_BER_PDU('0402FFFF'O) == myValue7){setverdict(pass);} else {setverdict(fail);}
6058 if (dec_BER_PDU('0603000203'O) == myValue8){setverdict(pass);} else {setverdict(fail);}
6059 if (dec_BER_PDU('1603414243'O) == myValue9){setverdict(pass);} else {setverdict(fail);}
6060 if (dec_BER_PDU('A1030101FF'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6061 if (dec_BER_PDU('A1800101FF0000'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6062 if (dec_BER_PDU('300505000101FF'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6063 if (dec_BER_PDU('308005000101FF0000'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6064 if (dec_BER_PDU('A3083006020101020102'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6065 if (dec_BER_PDU('A380308002010102010200000000'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6066 if (dec_BER_PDU('A40831060101FF0101FF'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6067 if (dec_BER_PDU('A48031800101FF0101FF00000000'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6068
6069 <RESULT>
6070
6071 Overall 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
6086 TempA
6087
6088 DEFINITIONS
6089 IMPLICIT TAGS
6090 ::=
6091 BEGIN
6092 BERPDU ::= CHOICE
6093 {
6094 b BOOLEAN,
6095 c INTEGER
6096 }
6097 END
6098
6099 <STATIC>
6100
6101 import from TempA all;
6102 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6103 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6104 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6105
6106 const BERPDU myValue1 := {b := true }
6107
6108 <TTCN_TC:EXEC>
6109
6110 if ((enc_DER_PDU(myValue1) == '0101FF'O)and(enc_CER_PDU(myValue1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6111 if (dec_BER_PDU('0101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6112
6113 <RESULT>
6114
6115 Overall 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
6130 TempA
6131
6132 DEFINITIONS
6133 EXPLICIT TAGS
6134 ::=
6135 BEGIN
6136 BERPDU ::= CHOICE
6137 {
6138 b BOOLEAN,
6139 c INTEGER
6140 }
6141 END
6142
6143 <STATIC>
6144
6145 import from TempA all;
6146 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6147 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6148 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6149
6150 const BERPDU myValue := {b := true }
6151
6152 <TTCN_TC:EXEC>
6153
6154 if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6155 if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6156
6157
6158 <RESULT>
6159
6160 Overall 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
6175 TempA
6176 DEFINITIONS
6177 ::=
6178 BEGIN
6179 BERPDU ::= CHOICE
6180 {
6181 b BOOLEAN,
6182 c INTEGER
6183 }
6184 END
6185
6186 <STATIC>
6187
6188 import from TempA all;
6189 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6190 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6191 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6192
6193 const BERPDU myValue := {b := true }
6194
6195 <TTCN_TC:EXEC>
6196
6197 if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6198 if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6199
6200 <RESULT>
6201
6202 Overall 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
6217 TempA
6218
6219 DEFINITIONS
6220 AUTOMATIC TAGS
6221 ::=
6222 BEGIN
6223 BERPDU ::= CHOICE
6224 {
6225 b BOOLEAN,
6226 c INTEGER
6227 }
6228 END
6229
6230 <STATIC>
6231
6232 import from TempA all;
6233 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6234 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6235 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6236
6237 const BERPDU myValue := {b := true }
6238
6239 <TTCN_TC:EXEC>
6240
6241 if ((enc_DER_PDU(myValue) == '8001FF'O)and(enc_CER_PDU(myValue) == '8001FF'O)) {setverdict(pass);} else {setverdict(fail);}
6242 if (dec_BER_PDU('8001FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6243
6244 <RESULT>
6245
6246 Overall 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
6261 TempA
6262
6263 DEFINITIONS
6264 IMPLICIT TAGS
6265 ::=
6266 BEGIN
6267 BERPDU ::= CHOICE
6268 {
6269 b [3] BOOLEAN,
6270 c [6] INTEGER
6271 }
6272 END
6273
6274 <STATIC>
6275
6276 import from TempA all;
6277 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6278 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6279 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6280
6281 const BERPDU myValue := {b := true }
6282
6283 <TTCN_TC:EXEC>
6284
6285 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6286 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6287
6288 <RESULT>
6289
6290 Overall 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
6305 TempA
6306
6307 DEFINITIONS
6308 EXPLICIT TAGS
6309 ::=
6310 BEGIN
6311 BERPDU ::= CHOICE
6312 {
6313 b [3] BOOLEAN,
6314 c [6] INTEGER
6315 }
6316 END
6317
6318 <STATIC>
6319
6320 import from TempA all;
6321 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6322 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6323 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6324
6325 const BERPDU myValue := {b := true }
6326
6327 <TTCN_TC:EXEC>
6328
6329 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6330 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6331 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6332
6333 <RESULT>
6334
6335 Overall 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
6350 TempA
6351
6352 DEFINITIONS ::=
6353 BEGIN
6354
6355 BERPDU ::= CHOICE
6356 {
6357 b [3] BOOLEAN,
6358 c [6] INTEGER
6359 }
6360 END
6361
6362 <STATIC>
6363
6364 import from TempA all;
6365 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6366 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6367 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6368
6369 const BERPDU myValue := {b := true }
6370
6371 <TTCN_TC:EXEC>
6372
6373 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6374 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6375 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6376
6377 <RESULT>
6378
6379 Overall 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
6394 TempA
6395
6396 DEFINITIONS
6397 AUTOMATIC TAGS
6398 ::=
6399 BEGIN
6400 BERPDU ::= CHOICE
6401 {
6402 b [3] BOOLEAN,
6403 c [6] INTEGER
6404 }
6405 END
6406
6407 <STATIC>
6408
6409 import from TempA all;
6410 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6411 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6412 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6413
6414 const BERPDU myValue := {b := true }
6415
6416 <TTCN_TC:EXEC>
6417
6418 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6419 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6420
6421 <RESULT>
6422
6423 Overall 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
6438 TempA
6439
6440 DEFINITIONS
6441 IMPLICIT TAGS
6442 ::=
6443 BEGIN
6444 BERPDU ::= CHOICE
6445 {
6446 b [3] IMPLICIT BOOLEAN,
6447 c [6] INTEGER
6448 }
6449 END
6450
6451 <STATIC>
6452
6453 import from TempA all;
6454 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6455 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6456 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6457
6458 const BERPDU myValue := {b := true }
6459
6460 <TTCN_TC:EXEC>
6461
6462 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6463 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6464
6465 <RESULT>
6466
6467 Overall 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
6482 TempA
6483
6484 DEFINITIONS
6485 EXPLICIT TAGS
6486 ::=
6487 BEGIN
6488 BERPDU ::= CHOICE
6489 {
6490 b [3] IMPLICIT BOOLEAN,
6491 c [6] INTEGER
6492 }
6493 END
6494
6495 <STATIC>
6496
6497 import from TempA all;
6498 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6499 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6500 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6501
6502 const BERPDU myValue := {b := true }
6503
6504 <TTCN_TC:EXEC>
6505
6506 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6507 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6508
6509 <RESULT>
6510
6511 Overall 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
6526 TempA
6527
6528 DEFINITIONS
6529 ::=
6530 BEGIN
6531 BERPDU ::= CHOICE
6532 {
6533 b [3] IMPLICIT BOOLEAN,
6534 c [6] INTEGER
6535 }
6536 END
6537
6538 <STATIC>
6539
6540 import from TempA all;
6541 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6542 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6543 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6544
6545 const BERPDU myValue := {b := true }
6546
6547 <TTCN_TC:EXEC>
6548
6549 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6550 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6551
6552 <RESULT>
6553
6554 Overall 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
6569 TempA
6570
6571 DEFINITIONS
6572 AUTOMATIC TAGS
6573 ::=
6574 BEGIN
6575 BERPDU ::= CHOICE
6576 {
6577 b [3] IMPLICIT BOOLEAN,
6578 c [6] INTEGER
6579 }
6580 END
6581
6582 <STATIC>
6583
6584 import from TempA all;
6585 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6586 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6587 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6588
6589 const BERPDU myValue := {b := true }
6590
6591 <TTCN_TC:EXEC>
6592
6593 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6594 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6595
6596 <RESULT>
6597
6598 Overall 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
6613 TempA
6614 DEFINITIONS
6615 IMPLICIT TAGS
6616 ::=
6617 BEGIN
6618 BERPDU ::= CHOICE
6619 {
6620 b [3] EXPLICIT BOOLEAN,
6621 c [6] INTEGER
6622 }
6623 END
6624
6625 <STATIC>
6626
6627 import from TempA all;
6628 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6629 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6630 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6631
6632 const BERPDU myValue := {b := true }
6633
6634 <TTCN_TC:EXEC>
6635
6636 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6637 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6638 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6639
6640 <RESULT>
6641
6642 Overall 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
6657 TempA
6658
6659 DEFINITIONS
6660 EXPLICIT TAGS
6661 ::=
6662 BEGIN
6663 BERPDU ::= CHOICE
6664 {
6665 b [3] EXPLICIT BOOLEAN,
6666 c [6] INTEGER
6667 }
6668 END
6669
6670 <STATIC>
6671
6672 import from TempA all;
6673 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6674 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6675 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6676
6677 const BERPDU myValue := {b := true }
6678
6679 <TTCN_TC:EXEC>
6680
6681 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6682 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6683 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6684
6685 <RESULT>
6686
6687 Overall 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
6702 TempA
6703 DEFINITIONS
6704 ::=
6705 BEGIN
6706 BERPDU ::= CHOICE
6707 {
6708 b [3] EXPLICIT BOOLEAN,
6709 c [6] INTEGER
6710 }
6711 END
6712
6713 <STATIC>
6714
6715 import from TempA all;
6716 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6717 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6718 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6719
6720 const BERPDU myValue := {b := true }
6721
6722 <TTCN_TC:EXEC>
6723
6724 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6725 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6726 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6727
6728 <RESULT>
6729
6730 Overall 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
6745 TempA
6746
6747 DEFINITIONS
6748 EXPLICIT TAGS
6749 ::=
6750 BEGIN
6751 BERPDU ::= CHOICE
6752 {
6753 b [3] EXPLICIT BOOLEAN,
6754 c [6] INTEGER
6755 }
6756 END
6757
6758 <STATIC>
6759
6760 import from TempA all;
6761 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6762 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6763 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6764
6765 const BERPDU myValue := {b := true }
6766
6767 <TTCN_TC:EXEC>
6768
6769 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6770 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6771 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6772
6773 <RESULT>
6774
6775 Overall 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
6790 TempA
6791
6792 DEFINITIONS
6793 IMPLICIT TAGS
6794 ::=
6795 BEGIN
6796 BERPDU ::= [0] CHOICE
6797 {
6798 b [3] BOOLEAN,
6799 c [6] INTEGER
6800 }
6801 END
6802
6803 <STATIC>
6804
6805 import from TempA all;
6806 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6807 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6808 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6809
6810 const BERPDU myValue := {b := true }
6811
6812 <TTCN_TC:EXEC>
6813
6814 if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6815 if (dec_BER_PDU('A0038301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6816 if (dec_BER_PDU('A0808301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6817
6818 <RESULT>
6819
6820 Overall 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
6835 TempA
6836
6837 DEFINITIONS
6838 EXPLICIT TAGS
6839 ::=
6840 BEGIN
6841 BERPDU ::= [0] CHOICE
6842 {
6843 b [3] BOOLEAN,
6844 c [6] INTEGER
6845 }
6846 END
6847
6848 <STATIC>
6849
6850 import from TempA all;
6851 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6852 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6853 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6854
6855 const BERPDU myValue := {b := true }
6856
6857 <TTCN_TC:EXEC>
6858
6859 if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6860 if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6861 if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6862
6863 <RESULT>
6864
6865 Overall 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
6880 TempA
6881
6882 DEFINITIONS
6883 ::=
6884 BEGIN
6885 BERPDU ::= [0] CHOICE
6886 {
6887 b [3] BOOLEAN,
6888 c [6] INTEGER
6889 }
6890 END
6891
6892 <STATIC>
6893
6894 import from TempA all;
6895 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6896 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6897 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6898
6899 const BERPDU myValue := {b := true }
6900
6901 <TTCN_TC:EXEC>
6902
6903 if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6904 if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6905 if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6906
6907 <RESULT>
6908
6909 Overall 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
6924 TempA
6925
6926 DEFINITIONS
6927
6928 AUTOMATIC TAGS
6929
6930 ::=
6931
6932 BEGIN
6933
6934 BERPDU ::= [0] CHOICE
6935 {
6936 b [3] BOOLEAN,
6937 c [6] INTEGER
6938 }
6939
6940
6941 END
6942
6943 <STATIC>
6944
6945 import from TempA all;
6946 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6947 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6948
6949 const BERPDU myValue := {b := true }
6950
6951 <TTCN_TC:EXEC>
6952
6953
6954
6955
6956 if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6957
6958
6959 <RESULT>
6960
6961 Overall 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
6977 TempA
6978
6979 DEFINITIONS ::=
6980 BEGIN
6981 BERPDU ::= 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
7008 END
7009
7010 <STATIC>
7011
7012 import from TempA all;
7013
7014 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7015
7016 const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7017
7018 x3 := '1'B } }
7019
7020
7021
7022
7023 <TTCN_TC:EXEC>
7024
7025 if (dec_BER_PDU('3108030207800402FFFF'O) == myValue)
7026
7027
7028 {setverdict(pass);} else {setverdict(fail);}
7029
7030
7031 <RESULT>
7032
7033 Overall 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
7048 TempA
7049
7050 DEFINITIONS ::=
7051 BEGIN
7052 BERPDU ::= 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
7079 END
7080
7081 <STATIC>
7082
7083 import from TempA all;
7084
7085 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7086
7087 const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7088
7089 x3 := '1'B } }
7090
7091
7092
7093
7094 <TTCN_TC:EXEC>
7095
7096 if (dec_BER_PDU('3180030207800402FFFF0000'O) == myValue)
7097
7098
7099 {setverdict(pass);} else {setverdict(fail);}
7100
7101
7102 <RESULT>
7103
7104 Overall 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
7119 TempA
7120
7121 DEFINITIONS
7122
7123 AUTOMATIC TAGS
7124
7125
7126
7127 ::=
7128
7129 BEGIN
7130
7131
7132
7133 BERPDU ::= [0] CHOICE
7134 {
7135 b [3] BOOLEAN,
7136 c [6] INTEGER
7137 }
7138
7139
7140
7141
7142 END
7143
7144 <STATIC>
7145
7146 import from TempA all;
7147
7148 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7149
7150 const BERPDU myValue := {b := true }
7151
7152
7153
7154 <TTCN_TC:EXEC>
7155
7156 if (dec_BER_PDU('A0038301FF'O) == myValue)
7157
7158
7159 {setverdict(pass);} else {setverdict(fail);}
7160
7161
7162 <RESULT>
7163
7164 Overall 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
7179 TempA
7180
7181 DEFINITIONS
7182
7183 AUTOMATIC TAGS
7184
7185
7186
7187 ::=
7188
7189 BEGIN
7190
7191
7192
7193 BERPDU ::= [0] CHOICE
7194 {
7195 b [3] BOOLEAN,
7196 c [6] INTEGER
7197 }
7198
7199
7200
7201
7202 END
7203
7204 <STATIC>
7205
7206 import from TempA all;
7207
7208 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7209
7210 const BERPDU myValue := {b := true }
7211
7212
7213
7214 <TTCN_TC:EXEC>
7215
7216 if (dec_BER_PDU('A0808301FF0000'O) == myValue)
7217
7218
7219 {setverdict(pass);} else {setverdict(fail);}
7220
7221
7222 <RESULT>
7223
7224 Overall 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
7239 TempA
7240
7241 DEFINITIONS ::=
7242 BEGIN
7243 BERPDU ::= OBJECT IDENTIFIER
7244 b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
7245
7246 END
7247
7248 <STATIC>
7249
7250 import from TempA all;
7251 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7252 external 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
7258 if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7259
7260 <RESULT>
7261
7262 Overall 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
7277 TempA
7278
7279 DEFINITIONS ::=
7280 BEGIN
7281 BERPDU ::= OBJECT IDENTIFIER
7282 b BERPDU ::= {itu-t recommendation a(2) b(3)}
7283
7284 END
7285
7286 <STATIC>
7287
7288 import from TempA all;
7289 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7290 external 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
7296 if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7297
7298 <RESULT>
7299
7300 Overall 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
7315 TempA
7316
7317 DEFINITIONS ::=
7318 BEGIN
7319 BERPDU ::= OBJECT IDENTIFIER
7320 b BERPDU ::= {0 0 a(2) b(3)}
7321
7322 END
7323
7324 <STATIC>
7325
7326 import from TempA all;
7327 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7328 external 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
7334 if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7335
7336 <RESULT>
7337
7338 Overall 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
7353 TempA
7354
7355 DEFINITIONS ::=
7356 BEGIN
7357 BERPDU ::= OBJECT IDENTIFIER
7358 b BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
7359
7360 END
7361
7362 <STATIC>
7363
7364 import from TempA all;
7365 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7366 external 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
7372 if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7373
7374 <RESULT>
7375
7376 Overall 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
7391 TempA
7392
7393 DEFINITIONS ::=
7394 BEGIN
7395 BERPDU ::= OBJECT IDENTIFIER
7396 b BERPDU ::= {itu-t question a(2) b(3)}
7397
7398 END
7399
7400 <STATIC>
7401
7402 import from TempA all;
7403 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7404 external 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
7410 if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7411
7412 <RESULT>
7413
7414 Overall 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
7429 TempA
7430
7431 DEFINITIONS ::=
7432 BEGIN
7433 BERPDU ::= OBJECT IDENTIFIER
7434 b BERPDU ::= {0 1 a(2) b(3)}
7435
7436 END
7437
7438 <STATIC>
7439
7440 import from TempA all;
7441 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7442 external 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
7448 if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7449
7450 <RESULT>
7451
7452 Overall 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
7467 TempA
7468
7469 DEFINITIONS ::=
7470 BEGIN
7471 BERPDU ::= OBJECT IDENTIFIER
7472 b BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
7473
7474 END
7475
7476 <STATIC>
7477
7478 import from TempA all;
7479 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7480 external 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
7486 if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7487
7488 <RESULT>
7489
7490 Overall 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
7505 TempA
7506
7507 DEFINITIONS ::=
7508 BEGIN
7509 BERPDU ::= OBJECT IDENTIFIER
7510 b BERPDU ::= {itu-t administration a(2) b(3)}
7511
7512 END
7513
7514 <STATIC>
7515
7516 import from TempA all;
7517 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7518 external 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
7524 if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7525
7526 <RESULT>
7527
7528 Overall 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
7543 TempA
7544
7545 DEFINITIONS ::=
7546 BEGIN
7547 BERPDU ::= OBJECT IDENTIFIER
7548 b BERPDU ::= {0 2 a(2) b(3)}
7549
7550 END
7551
7552 <STATIC>
7553
7554 import from TempA all;
7555 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7556 external 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
7562 if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7563
7564 <RESULT>
7565
7566 Overall 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
7581 TempA
7582
7583 DEFINITIONS ::=
7584 BEGIN
7585 BERPDU ::= OBJECT IDENTIFIER
7586 b BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
7587
7588 END
7589
7590 <STATIC>
7591
7592 import from TempA all;
7593 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7594 external 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
7600 if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7601
7602 <RESULT>
7603
7604 Overall 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
7619 TempA
7620
7621 DEFINITIONS ::=
7622 BEGIN
7623 BERPDU ::= OBJECT IDENTIFIER
7624 b BERPDU ::= {itu-t network-operator a(2) b(3)}
7625
7626 END
7627
7628 <STATIC>
7629
7630 import from TempA all;
7631 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7632 external 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
7638 if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7639
7640 <RESULT>
7641
7642 Overall 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
7657 TempA
7658
7659 DEFINITIONS ::=
7660 BEGIN
7661 BERPDU ::= OBJECT IDENTIFIER
7662 b BERPDU ::= {0 3 a(2) b(3)}
7663
7664 END
7665
7666 <STATIC>
7667
7668 import from TempA all;
7669 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7670 external 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
7676 if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7677
7678 <RESULT>
7679
7680 Overall 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
7695 TempA
7696
7697 DEFINITIONS ::=
7698 BEGIN
7699 BERPDU ::= OBJECT IDENTIFIER
7700 b BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
7701
7702 END
7703
7704 <STATIC>
7705
7706 import from TempA all;
7707 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7708 external 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
7714 if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7715
7716 <RESULT>
7717
7718 Overall 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
7733 TempA
7734
7735 DEFINITIONS ::=
7736 BEGIN
7737 BERPDU ::= OBJECT IDENTIFIER
7738 b BERPDU ::= {itu-t identified-organization a(2) b(3)}
7739
7740 END
7741
7742 <STATIC>
7743
7744 import from TempA all;
7745 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7746 external 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
7752 if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7753
7754 <RESULT>
7755
7756 Overall 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
7771 TempA
7772
7773 DEFINITIONS ::=
7774 BEGIN
7775 BERPDU ::= OBJECT IDENTIFIER
7776 b BERPDU ::= {0 4 a(2) b(3)}
7777
7778 END
7779
7780 <STATIC>
7781
7782 import from TempA all;
7783 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7784 external 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
7790 if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7791
7792 <RESULT>
7793
7794 Overall 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
7809 TempA
7810
7811 DEFINITIONS ::=
7812 BEGIN
7813 BERPDU ::= OBJECT IDENTIFIER
7814 b BERPDU ::= {iso(1) standard(0) a(2) b(3)}
7815
7816 END
7817
7818 <STATIC>
7819
7820 import from TempA all;
7821 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7822 external 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
7828 if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7829
7830 <RESULT>
7831
7832 Overall 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
7847 TempA
7848
7849 DEFINITIONS ::=
7850 BEGIN
7851 BERPDU ::= OBJECT IDENTIFIER
7852 b BERPDU ::= {iso standard a(2) b(3)}
7853
7854 END
7855
7856 <STATIC>
7857
7858 import from TempA all;
7859 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7860 external 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
7866 if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7867
7868 <RESULT>
7869
7870 Overall 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
7885 TempA
7886
7887 DEFINITIONS ::=
7888 BEGIN
7889 BERPDU ::= OBJECT IDENTIFIER
7890 b BERPDU ::= {1 0 a(2) b(3)}
7891
7892 END
7893
7894 <STATIC>
7895
7896 import from TempA all;
7897 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7898 external 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
7904 if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7905
7906 <RESULT>
7907
7908 Overall 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
7923 TempA
7924
7925 DEFINITIONS ::=
7926 BEGIN
7927 BERPDU ::= OBJECT IDENTIFIER
7928 b BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
7929
7930 END
7931
7932 <STATIC>
7933
7934 import from TempA all;
7935 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7936 external 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
7942 if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7943
7944 <RESULT>
7945
7946 Overall 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
7961 TempA
7962
7963 DEFINITIONS ::=
7964 BEGIN
7965 BERPDU ::= OBJECT IDENTIFIER
7966 b BERPDU ::= {iso member-body a(2) b(3)}
7967
7968 END
7969
7970 <STATIC>
7971
7972 import from TempA all;
7973 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7974 external 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
7980 if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7981
7982 <RESULT>
7983
7984 Overall 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
7999 TempA
8000
8001 DEFINITIONS ::=
8002 BEGIN
8003 BERPDU ::= OBJECT IDENTIFIER
8004 b BERPDU ::= {1 2 a(2) b(3)}
8005
8006 END
8007
8008 <STATIC>
8009
8010 import from TempA all;
8011 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8012 external 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
8018 if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
8019
8020 <RESULT>
8021
8022 Overall 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
8037 TempA
8038
8039 DEFINITIONS ::=
8040 BEGIN
8041 BERPDU ::= OBJECT IDENTIFIER
8042 b BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
8043
8044 END
8045
8046 <STATIC>
8047
8048 import from TempA all;
8049 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8050 external 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
8056 if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8057
8058 <RESULT>
8059
8060 Overall 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
8075 TempA
8076
8077 DEFINITIONS ::=
8078 BEGIN
8079 BERPDU ::= OBJECT IDENTIFIER
8080 b BERPDU ::= {iso identified-organization a(2) b(3)}
8081
8082 END
8083
8084 <STATIC>
8085
8086 import from TempA all;
8087 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8088 external 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
8094 if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8095
8096 <RESULT>
8097
8098 Overall 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
8113 TempA
8114
8115 DEFINITIONS ::=
8116 BEGIN
8117 BERPDU ::= OBJECT IDENTIFIER
8118 b BERPDU ::= {1 3 a(2) b(3)}
8119
8120 END
8121
8122 <STATIC>
8123
8124 import from TempA all;
8125 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8126 external 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
8132 if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8133
8134 <RESULT>
8135
8136 Overall 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
8151 TempA
8152
8153 DEFINITIONS ::=
8154 BEGIN
8155 BERPDU ::= OBJECT IDENTIFIER
8156 b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
8157
8158 END
8159
8160 <STATIC>
8161
8162 import from TempA all;
8163 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8164 external 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
8170 if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8171
8172 <RESULT>
8173
8174 Overall 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
8189 TempA
8190
8191 DEFINITIONS ::=
8192 BEGIN
8193 BERPDU ::= OBJECT IDENTIFIER
8194 b BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
8195
8196 END
8197
8198 <STATIC>
8199
8200 import from TempA all;
8201 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8202 external 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
8208 if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8209
8210 <RESULT>
8211
8212 Overall 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
8227 TempA
8228
8229 DEFINITIONS ::=
8230 BEGIN
8231 BERPDU ::= OBJECT IDENTIFIER
8232 b BERPDU ::= {2 0 a(2) b(3)}
8233
8234 END
8235
8236 <STATIC>
8237
8238 import from TempA all;
8239 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8240 external 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
8246 if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8247
8248 <RESULT>
8249
8250 Overall 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
8265 TempA
8266
8267 DEFINITIONS ::=
8268 BEGIN
8269 BERPDU ::= OBJECT IDENTIFIER
8270 b BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
8271
8272 END
8273
8274 <STATIC>
8275
8276 import from TempA all;
8277 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8278 external 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
8284 if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8285
8286 <RESULT>
8287
8288 Overall 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
8303 TempA
8304
8305 DEFINITIONS ::=
8306 BEGIN
8307 BERPDU ::= OBJECT IDENTIFIER
8308 b BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
8309
8310 END
8311
8312 <STATIC>
8313
8314 import from TempA all;
8315 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8316 external 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
8322 if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8323
8324 <RESULT>
8325
8326 Overall 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
8341 TempA
8342
8343 DEFINITIONS ::=
8344 BEGIN
8345 BERPDU ::= OBJECT IDENTIFIER
8346 b BERPDU ::= {2 100 a(2) b(3)}
8347
8348 END
8349
8350 <STATIC>
8351
8352 import from TempA all;
8353 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8354 external 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
8360 if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8361
8362 <RESULT>
8363
8364 Overall 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
8379 TempA
8380
8381 DEFINITIONS ::=
8382 BEGIN
8383 BERPDU ::= OBJECT IDENTIFIER
8384 b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
8385
8386 END
8387
8388 <STATIC>
8389
8390 import from TempA all;
8391 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8392 external 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
8398 if ((enc_DER_PDU(b) == '06075002038F509F20'O)and(enc_CER_PDU(b) == '06075002038F509F20'O)) {setverdict(pass);} else {setverdict(fail);}
8399
8400 <RESULT>
8401
8402 Overall 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
8417 TempA
8418
8419 DEFINITIONS ::=
8420 BEGIN
8421 BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
8422 b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8423
8424 END
8425
8426 <STATIC>
8427
8428 import from TempA all;
8429 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8430 external 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
8436 if ((enc_DER_PDU(b) == '8003000203'O)and(enc_CER_PDU(b) == '8003000203'O)) {setverdict(pass);} else {setverdict(fail);}
8437
8438 <RESULT>
8439
8440 Overall 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
8455 TempA
8456
8457 DEFINITIONS ::=
8458 BEGIN
8459 BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
8460 b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8461
8462 END
8463
8464 <STATIC>
8465
8466 import from TempA all;
8467 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8468 external 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
8474 if ((enc_DER_PDU(b) == 'A0050603000203'O)and(enc_CER_PDU(b) == 'A08006030002030000'O)) {setverdict(pass);} else {setverdict(fail);}
8475
8476 <RESULT>
8477
8478 Overall 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
8493 TempA
8494
8495 DEFINITIONS ::=
8496 BEGIN
8497 BERPDU ::= OBJECT IDENTIFIER
8498
8499 myValue BERPDU ::= { itu-t(0) recommendation(0) a(2) b(3)}
8500
8501 END
8502
8503 <STATIC>
8504
8505 import from TempA all;
8506
8507 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8508
8509
8510 <TTCN_TC:EXEC>
8511
8512 if (dec_BER_PDU('0603000203'O) == myValue)
8513
8514
8515 {setverdict(pass);} else {setverdict(fail);}
8516
8517
8518 <RESULT>
8519
8520 Overall 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
8535 TempA
8536
8537 DEFINITIONS ::=
8538 BEGIN
8539 BERPDU ::= OBJECT IDENTIFIER
8540
8541 myValue BERPDU ::= {itu-t recommendation a(2) b(3)}
8542
8543 END
8544
8545 <STATIC>
8546
8547 import from TempA all;
8548
8549 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8550
8551
8552 <TTCN_TC:EXEC>
8553
8554 if (dec_BER_PDU('0603000203'O) == myValue)
8555
8556
8557 {setverdict(pass);} else {setverdict(fail);}
8558
8559
8560 <RESULT>
8561
8562 Overall 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
8577 TempA
8578
8579 DEFINITIONS ::=
8580 BEGIN
8581 BERPDU ::= OBJECT IDENTIFIER
8582
8583 myValue BERPDU ::= {0 0 a(2) b(3)}
8584
8585 END
8586
8587 <STATIC>
8588
8589 import from TempA all;
8590
8591 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8592
8593
8594 <TTCN_TC:EXEC>
8595
8596 if (dec_BER_PDU('0603000203'O) == myValue)
8597
8598
8599 {setverdict(pass);} else {setverdict(fail);}
8600
8601
8602 <RESULT>
8603
8604 Overall 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
8619 TempA
8620
8621 DEFINITIONS ::=
8622 BEGIN
8623 BERPDU ::= OBJECT IDENTIFIER
8624
8625 myValue BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
8626
8627 END
8628
8629 <STATIC>
8630
8631 import from TempA all;
8632
8633 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8634
8635
8636 <TTCN_TC:EXEC>
8637
8638 if (dec_BER_PDU('0603010203'O) == myValue)
8639
8640
8641 {setverdict(pass);} else {setverdict(fail);}
8642
8643
8644 <RESULT>
8645
8646 Overall 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
8661 TempA
8662
8663 DEFINITIONS ::=
8664 BEGIN
8665 BERPDU ::= OBJECT IDENTIFIER
8666
8667 myValue BERPDU ::= {itu-t question a(2) b(3)}
8668
8669 END
8670
8671 <STATIC>
8672
8673 import from TempA all;
8674
8675 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8676
8677
8678 <TTCN_TC:EXEC>
8679
8680 if (dec_BER_PDU('0603010203'O) == myValue)
8681
8682
8683 {setverdict(pass);} else {setverdict(fail);}
8684
8685
8686 <RESULT>
8687
8688 Overall 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
8703 TempA
8704
8705 DEFINITIONS ::=
8706 BEGIN
8707 BERPDU ::= OBJECT IDENTIFIER
8708
8709 myValue BERPDU ::= {0 1 a(2) b(3)}
8710
8711 END
8712
8713 <STATIC>
8714
8715 import from TempA all;
8716
8717 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8718
8719
8720 <TTCN_TC:EXEC>
8721
8722 if (dec_BER_PDU('0603010203'O) == myValue)
8723
8724
8725 {setverdict(pass);} else {setverdict(fail);}
8726
8727
8728 <RESULT>
8729
8730 Overall 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
8745 TempA
8746
8747 DEFINITIONS ::=
8748 BEGIN
8749 BERPDU ::= OBJECT IDENTIFIER
8750
8751 myValue BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
8752
8753 END
8754
8755 <STATIC>
8756
8757 import from TempA all;
8758
8759 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8760
8761
8762 <TTCN_TC:EXEC>
8763
8764 if (dec_BER_PDU('0603020203'O) == myValue)
8765
8766
8767 {setverdict(pass);} else {setverdict(fail);}
8768
8769
8770 <RESULT>
8771
8772 Overall 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
8787 TempA
8788
8789 DEFINITIONS ::=
8790 BEGIN
8791 BERPDU ::= OBJECT IDENTIFIER
8792
8793 myValue BERPDU ::= {itu-t administration a(2) b(3)}
8794
8795 END
8796
8797 <STATIC>
8798
8799 import from TempA all;
8800
8801 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8802
8803
8804 <TTCN_TC:EXEC>
8805
8806 if (dec_BER_PDU('0603020203'O) == myValue)
8807
8808
8809 {setverdict(pass);} else {setverdict(fail);}
8810
8811
8812 <RESULT>
8813
8814 Overall 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
8829 TempA
8830
8831 DEFINITIONS ::=
8832 BEGIN
8833 BERPDU ::= OBJECT IDENTIFIER
8834
8835 myValue BERPDU ::= {0 2 a(2) b(3)}
8836
8837 END
8838
8839 <STATIC>
8840
8841 import from TempA all;
8842
8843 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8844
8845
8846 <TTCN_TC:EXEC>
8847
8848 if (dec_BER_PDU('0603020203'O) == myValue)
8849
8850
8851 {setverdict(pass);} else {setverdict(fail);}
8852
8853
8854 <RESULT>
8855
8856 Overall 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
8871 TempA
8872
8873 DEFINITIONS ::=
8874 BEGIN
8875 BERPDU ::= OBJECT IDENTIFIER
8876
8877 myValue BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
8878
8879 END
8880
8881 <STATIC>
8882
8883 import from TempA all;
8884
8885 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8886
8887
8888 <TTCN_TC:EXEC>
8889
8890 if (dec_BER_PDU('0603030203'O) == myValue)
8891
8892
8893 {setverdict(pass);} else {setverdict(fail);}
8894
8895
8896 <RESULT>
8897
8898 Overall 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
8913 TempA
8914
8915 DEFINITIONS ::=
8916 BEGIN
8917 BERPDU ::= OBJECT IDENTIFIER
8918
8919 myValue BERPDU ::= {itu-t network-operator a(2) b(3)}
8920
8921 END
8922
8923 <STATIC>
8924
8925 import from TempA all;
8926
8927 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8928
8929
8930 <TTCN_TC:EXEC>
8931
8932 if (dec_BER_PDU('0603030203'O) == myValue)
8933
8934
8935 {setverdict(pass);} else {setverdict(fail);}
8936
8937
8938 <RESULT>
8939
8940 Overall 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
8955 TempA
8956
8957 DEFINITIONS ::=
8958 BEGIN
8959 BERPDU ::= OBJECT IDENTIFIER
8960
8961 myValue BERPDU ::= {0 3 a(2) b(3)}
8962
8963 END
8964
8965 <STATIC>
8966
8967 import from TempA all;
8968
8969 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8970
8971
8972 <TTCN_TC:EXEC>
8973
8974 if (dec_BER_PDU('0603030203'O) == myValue)
8975
8976
8977 {setverdict(pass);} else {setverdict(fail);}
8978
8979
8980 <RESULT>
8981
8982 Overall 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
8997 TempA
8998
8999 DEFINITIONS ::=
9000 BEGIN
9001 BERPDU ::= OBJECT IDENTIFIER
9002
9003 myValue BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
9004
9005 END
9006
9007 <STATIC>
9008
9009 import from TempA all;
9010
9011 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9012
9013
9014 <TTCN_TC:EXEC>
9015
9016 if (dec_BER_PDU('0603040203'O) == myValue)
9017
9018
9019 {setverdict(pass);} else {setverdict(fail);}
9020
9021
9022 <RESULT>
9023
9024 Overall 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
9039 TempA
9040
9041 DEFINITIONS ::=
9042 BEGIN
9043 BERPDU ::= OBJECT IDENTIFIER
9044
9045 myValue BERPDU ::= {itu-t identified-organization a(2) b(3)}
9046
9047 END
9048
9049 <STATIC>
9050
9051 import from TempA all;
9052
9053 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9054
9055
9056 <TTCN_TC:EXEC>
9057
9058 if (dec_BER_PDU('0603040203'O) == myValue)
9059
9060
9061 {setverdict(pass);} else {setverdict(fail);}
9062
9063
9064 <RESULT>
9065
9066 Overall 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
9081 TempA
9082
9083 DEFINITIONS ::=
9084 BEGIN
9085 BERPDU ::= OBJECT IDENTIFIER
9086
9087 myValue BERPDU ::= {0 4 a(2) b(3)}
9088
9089 END
9090
9091 <STATIC>
9092
9093 import from TempA all;
9094
9095 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9096
9097
9098 <TTCN_TC:EXEC>
9099
9100 if (dec_BER_PDU('0603040203'O) == myValue)
9101
9102
9103 {setverdict(pass);} else {setverdict(fail);}
9104
9105
9106 <RESULT>
9107
9108 Overall 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
9123 TempA
9124
9125 DEFINITIONS ::=
9126 BEGIN
9127 BERPDU ::= OBJECT IDENTIFIER
9128
9129 myValue BERPDU ::= {iso(1) standard(0) a(2) b(3)}
9130
9131 END
9132
9133 <STATIC>
9134
9135 import from TempA all;
9136
9137 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9138
9139
9140 <TTCN_TC:EXEC>
9141
9142 if (dec_BER_PDU('0603280203'O) == myValue)
9143
9144
9145 {setverdict(pass);} else {setverdict(fail);}
9146
9147
9148 <RESULT>
9149
9150 Overall 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
9165 TempA
9166
9167 DEFINITIONS ::=
9168 BEGIN
9169 BERPDU ::= OBJECT IDENTIFIER
9170
9171 myValue BERPDU ::= {iso standard a(2) b(3)}
9172
9173 END
9174
9175 <STATIC>
9176
9177 import from TempA all;
9178
9179 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9180
9181
9182 <TTCN_TC:EXEC>
9183
9184 if (dec_BER_PDU('0603280203'O) == myValue)
9185
9186
9187 {setverdict(pass);} else {setverdict(fail);}
9188
9189
9190 <RESULT>
9191
9192 Overall 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
9207 TempA
9208
9209 DEFINITIONS ::=
9210 BEGIN
9211 BERPDU ::= OBJECT IDENTIFIER
9212
9213 myValue BERPDU ::= {1 0 a(2) b(3)}
9214
9215 END
9216
9217 <STATIC>
9218
9219 import from TempA all;
9220
9221 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9222
9223
9224 <TTCN_TC:EXEC>
9225
9226 if (dec_BER_PDU('0603280203'O) == myValue)
9227
9228
9229 {setverdict(pass);} else {setverdict(fail);}
9230
9231
9232 <RESULT>
9233
9234 Overall 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
9249 TempA
9250
9251 DEFINITIONS ::=
9252 BEGIN
9253 BERPDU ::= OBJECT IDENTIFIER
9254
9255 myValue BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
9256
9257 END
9258
9259 <STATIC>
9260
9261 import from TempA all;
9262
9263 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9264
9265
9266 <TTCN_TC:EXEC>
9267
9268 if (dec_BER_PDU('06032A0203'O) == myValue)
9269
9270
9271 {setverdict(pass);} else {setverdict(fail);}
9272
9273
9274 <RESULT>
9275
9276 Overall 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
9291 TempA
9292
9293 DEFINITIONS ::=
9294 BEGIN
9295 BERPDU ::= OBJECT IDENTIFIER
9296
9297 myValue BERPDU ::= {iso member-body a(2) b(3)}
9298
9299 END
9300
9301 <STATIC>
9302
9303 import from TempA all;
9304
9305 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9306
9307
9308 <TTCN_TC:EXEC>
9309
9310 if (dec_BER_PDU('06032A0203'O) == myValue)
9311
9312
9313 {setverdict(pass);} else {setverdict(fail);}
9314
9315
9316 <RESULT>
9317
9318 Overall 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
9333 TempA
9334
9335 DEFINITIONS ::=
9336 BEGIN
9337 BERPDU ::= OBJECT IDENTIFIER
9338
9339 myValue BERPDU ::= {1 2 a(2) b(3)}
9340
9341 END
9342
9343 <STATIC>
9344
9345 import from TempA all;
9346
9347 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9348
9349
9350 <TTCN_TC:EXEC>
9351
9352 if (dec_BER_PDU('06032A0203'O) == myValue)
9353
9354
9355 {setverdict(pass);} else {setverdict(fail);}
9356
9357
9358 <RESULT>
9359
9360 Overall 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
9375 TempA
9376
9377 DEFINITIONS ::=
9378 BEGIN
9379 BERPDU ::= OBJECT IDENTIFIER
9380
9381 myValue BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
9382
9383 END
9384
9385 <STATIC>
9386
9387 import from TempA all;
9388
9389 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9390
9391
9392 <TTCN_TC:EXEC>
9393
9394 if (dec_BER_PDU('06032B0203'O) == myValue)
9395
9396
9397 {setverdict(pass);} else {setverdict(fail);}
9398
9399
9400 <RESULT>
9401
9402 Overall 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
9417 TempA
9418
9419 DEFINITIONS ::=
9420 BEGIN
9421 BERPDU ::= OBJECT IDENTIFIER
9422
9423 myValue BERPDU ::= {iso identified-organization a(2) b(3)}
9424
9425 END
9426
9427 <STATIC>
9428
9429 import from TempA all;
9430
9431 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9432
9433
9434 <TTCN_TC:EXEC>
9435
9436 if (dec_BER_PDU('06032B0203'O) == myValue)
9437
9438
9439 {setverdict(pass);} else {setverdict(fail);}
9440
9441
9442 <RESULT>
9443
9444 Overall 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
9459 TempA
9460
9461 DEFINITIONS ::=
9462 BEGIN
9463 BERPDU ::= OBJECT IDENTIFIER
9464
9465 myValue BERPDU ::= {1 3 a(2) b(3)}
9466
9467 END
9468
9469 <STATIC>
9470
9471 import from TempA all;
9472
9473 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9474
9475
9476 <TTCN_TC:EXEC>
9477
9478 if (dec_BER_PDU('06032B0203'O) == myValue)
9479
9480
9481 {setverdict(pass);} else {setverdict(fail);}
9482
9483
9484 <RESULT>
9485
9486 Overall 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
9501 TempA
9502
9503 DEFINITIONS ::=
9504 BEGIN
9505 BERPDU ::= OBJECT IDENTIFIER
9506
9507 myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
9508
9509 END
9510
9511 <STATIC>
9512
9513 import from TempA all;
9514
9515 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9516
9517
9518 <TTCN_TC:EXEC>
9519
9520 if (dec_BER_PDU('0603500203'O) == myValue)
9521
9522
9523 {setverdict(pass);} else {setverdict(fail);}
9524
9525
9526 <RESULT>
9527
9528 Overall 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
9543 TempA
9544
9545 DEFINITIONS ::=
9546 BEGIN
9547 BERPDU ::= OBJECT IDENTIFIER
9548
9549 myValue BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
9550
9551
9552 END
9553
9554 <STATIC>
9555
9556 import from TempA all;
9557
9558 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9559
9560
9561 <TTCN_TC:EXEC>
9562
9563 if (dec_BER_PDU('0603500203'O) == myValue)
9564
9565
9566 {setverdict(pass);} else {setverdict(fail);}
9567
9568
9569 <RESULT>
9570
9571 Overall 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
9586 TempA
9587
9588 DEFINITIONS ::=
9589 BEGIN
9590 BERPDU ::= OBJECT IDENTIFIER
9591
9592 myValue BERPDU ::= {2 0 a(2) b(3)}
9593
9594 END
9595
9596 <STATIC>
9597
9598 import from TempA all;
9599
9600 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9601
9602
9603 <TTCN_TC:EXEC>
9604
9605 if (dec_BER_PDU('0603500203'O) == myValue)
9606
9607
9608 {setverdict(pass);} else {setverdict(fail);}
9609
9610
9611 <RESULT>
9612
9613 Overall 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
9628 TempA
9629
9630 DEFINITIONS ::=
9631 BEGIN
9632 BERPDU ::= OBJECT IDENTIFIER
9633
9634 myValue BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
9635
9636 END
9637
9638 <STATIC>
9639
9640 import from TempA all;
9641
9642 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9643
9644
9645 <TTCN_TC:EXEC>
9646
9647 if (dec_BER_PDU('060481340203'O) == myValue)
9648
9649
9650 {setverdict(pass);} else {setverdict(fail);}
9651
9652
9653 <RESULT>
9654
9655 Overall 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
9670 TempA
9671
9672 DEFINITIONS ::=
9673 BEGIN
9674 BERPDU ::= OBJECT IDENTIFIER
9675
9676 myValue BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
9677
9678 END
9679
9680 <STATIC>
9681
9682 import from TempA all;
9683
9684 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9685
9686
9687 <TTCN_TC:EXEC>
9688
9689 if (dec_BER_PDU('060481340203'O) == myValue)
9690
9691
9692 {setverdict(pass);} else {setverdict(fail);}
9693
9694
9695 <RESULT>
9696
9697 Overall 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
9712 TempA
9713
9714 DEFINITIONS ::=
9715 BEGIN
9716 BERPDU ::= OBJECT IDENTIFIER
9717
9718 myValue BERPDU ::= {2 100 a(2) b(3)}
9719
9720 END
9721
9722 <STATIC>
9723
9724 import from TempA all;
9725
9726 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9727
9728
9729 <TTCN_TC:EXEC>
9730
9731 if (dec_BER_PDU('060481340203'O) == myValue)
9732
9733
9734 {setverdict(pass);} else {setverdict(fail);}
9735
9736
9737 <RESULT>
9738
9739 Overall 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
9754 TempA
9755
9756 DEFINITIONS ::=
9757 BEGIN
9758 BERPDU ::= OBJECT IDENTIFIER
9759
9760 myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
9761
9762 END
9763
9764 <STATIC>
9765
9766 import from TempA all;
9767
9768 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9769
9770
9771 <TTCN_TC:EXEC>
9772
9773 if (dec_BER_PDU('06075002038F509F20'O) == myValue)
9774
9775
9776 {setverdict(pass);} else {setverdict(fail);}
9777
9778
9779 <RESULT>
9780
9781 Overall 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
9796 TempA
9797
9798 DEFINITIONS ::=
9799 BEGIN
9800 BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
9801
9802 myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9803
9804 END
9805
9806 <STATIC>
9807
9808 import from TempA all;
9809
9810 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9811
9812
9813 <TTCN_TC:EXEC>
9814
9815 if (dec_BER_PDU('8003000203'O) == myValue)
9816
9817
9818 {setverdict(pass);} else {setverdict(fail);}
9819
9820
9821 <RESULT>
9822
9823 Overall 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
9838 TempA
9839
9840 DEFINITIONS ::=
9841 BEGIN
9842 BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9843
9844 myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9845
9846 END
9847
9848 <STATIC>
9849
9850 import from TempA all;
9851
9852 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9853
9854
9855 <TTCN_TC:EXEC>
9856
9857 if (dec_BER_PDU('A0050603000203'O) == myValue)
9858
9859
9860
9861 {setverdict(pass);} else {setverdict(fail);}
9862
9863
9864 <RESULT>
9865
9866 Overall 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
9881 TempA
9882
9883 DEFINITIONS ::=
9884 BEGIN
9885 BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9886
9887 myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9888
9889 END
9890
9891 <STATIC>
9892
9893 import from TempA all;
9894
9895 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9896
9897
9898 <TTCN_TC:EXEC>
9899
9900 if (dec_BER_PDU('A08006030002030000'O) == myValue)
9901
9902 {setverdict(pass);} else {setverdict(fail);}
9903
9904
9905 <RESULT>
9906
9907 Overall 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
9922 TempA
9923
9924 DEFINITIONS ::=
9925 BEGIN
9926
9927
9928 --***************************************************************************************************
9929 --modified class taken from Gyuri ASN1
9930 --***************************************************************************************************
9931 MY-CLASS-1 ::= CLASS
9932 {
9933 &TypeField OPTIONAL,
9934 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
9935
9936 }
9937 WITH SYNTAX
9938 {
9939 [TYPE FIELD &TypeField]
9940 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
9941 }
9942
9943 ASN1-Type1 ::= INTEGER
9944
9945 ASN1-Type2 ::= BOOLEAN
9946
9947 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
9948
9949 ASN1-Type4 ::= OCTET STRING
9950
9951
9952 --****************************************************************************************************
9953 -- OBJECTS using the class defined above
9954 --****************************************************************************************************
9955
9956
9957 myObject-1 MY-CLASS-1 ::=
9958 {
9959 TYPE FIELD ASN1-Type3
9960 FIXED VALUE TYPE FIELD 999
9961 }
9962
9963
9964 myObject-2 MY-CLASS-1 ::=
9965 {
9966 TYPE FIELD ASN1-Type2
9967 FIXED VALUE TYPE FIELD 888
9968 }
9969
9970 myObject-3 MY-CLASS-1 ::=
9971 {
9972 TYPE FIELD ASN1-Type4
9973 FIXED VALUE TYPE FIELD 555
9974 }
9975
9976 --****************************************************************************************************
9977 -- Defining Information Object sets
9978 --****************************************************************************************************
9979
9980 MyInformationObjectSet1 MY-CLASS-1 ::=
9981 {
9982 myObject-1|
9983 myObject-2,
9984 ...
9985 }
9986
9987 MyInformationObjectSet2 MY-CLASS-1 ::=
9988 {
9989 MyInformationObjectSet1|
9990 myObject-3,
9991 ...
9992 }
9993
9994 BERPDU ::= SEQUENCE
9995
9996 {
9997 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
9998 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
9999 }
10000
10001
10002 END
10003
10004 <STATIC>
10005
10006 import from TempA all;
10007 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10008 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10009
10010 const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}},field2 := 999 };
10011
10012
10013 <TTCN_TC:EXEC>
10014
10015 if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10016
10017
10018 <RESULT>
10019
10020 Overall 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
10035 TempA
10036
10037 DEFINITIONS
10038
10039
10040 ::=
10041
10042 BEGIN
10043
10044
10045 --***************************************************************************************************
10046 --modified class taken from Gyuri ASN1
10047 --***************************************************************************************************
10048 MY-CLASS-1 ::= CLASS
10049 {
10050 &TypeField OPTIONAL,
10051 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10052
10053 }
10054 WITH SYNTAX
10055 {
10056 [TYPE FIELD &TypeField]
10057 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10058 }
10059
10060 ASN1-Type1 ::= INTEGER
10061
10062 ASN1-Type2 ::= BOOLEAN
10063
10064 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10065
10066 ASN1-Type4 ::= OCTET STRING
10067
10068
10069 --****************************************************************************************************
10070 -- OBJECTS using the class defined above
10071 --****************************************************************************************************
10072
10073
10074 myObject-1 MY-CLASS-1 ::=
10075 {
10076 TYPE FIELD ASN1-Type3
10077 FIXED VALUE TYPE FIELD 999
10078 }
10079
10080
10081 myObject-2 MY-CLASS-1 ::=
10082 {
10083 TYPE FIELD ASN1-Type2
10084 FIXED VALUE TYPE FIELD 888
10085 }
10086
10087 myObject-3 MY-CLASS-1 ::=
10088 {
10089 TYPE FIELD ASN1-Type4
10090 FIXED VALUE TYPE FIELD 555
10091 }
10092
10093 --****************************************************************************************************
10094 -- Defining Information Object sets
10095 --****************************************************************************************************
10096
10097 MyInformationObjectSet1 MY-CLASS-1 ::=
10098 {
10099 myObject-1|
10100 myObject-2,
10101 ...
10102 }
10103
10104 MyInformationObjectSet2 MY-CLASS-1 ::=
10105 {
10106 MyInformationObjectSet1|
10107 myObject-3,
10108 ...
10109 }
10110
10111
10112
10113 BERPDU ::= SEQUENCE
10114
10115 {
10116 field1 myObject-1.&TypeField , -- type from object
10117 field2 MY-CLASS-1.&fixedTypeValueField
10118 }
10119
10120 END
10121
10122
10123 <STATIC>
10124
10125 import from TempA all;
10126 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10127 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10128
10129 const BERPDU myValue := { field1 := {f1 := 8},field2 := 999 };
10130
10131
10132 <TTCN_TC:EXEC>
10133
10134 if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10135
10136
10137 <RESULT>
10138
10139 Overall 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
10155 TempA
10156
10157 DEFINITIONS ::=
10158 BEGIN
10159
10160
10161 --***************************************************************************************************
10162 --modified class taken from Gyuri ASN1
10163 --***************************************************************************************************
10164 MY-CLASS-1 ::= CLASS
10165 {
10166 &TypeField OPTIONAL,
10167 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10168
10169 }
10170 WITH SYNTAX
10171 {
10172 [TYPE FIELD &TypeField]
10173 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10174 }
10175
10176 ASN1-Type1 ::= INTEGER
10177
10178 ASN1-Type2 ::= BOOLEAN
10179
10180 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10181
10182 ASN1-Type4 ::= OCTET STRING
10183
10184
10185 --****************************************************************************************************
10186 -- OBJECTS using the class defined above
10187 --****************************************************************************************************
10188
10189
10190 myObject-1 MY-CLASS-1 ::=
10191 {
10192 TYPE FIELD ASN1-Type3
10193 FIXED VALUE TYPE FIELD 999
10194 }
10195
10196
10197 myObject-2 MY-CLASS-1 ::=
10198 {
10199 TYPE FIELD ASN1-Type2
10200 FIXED VALUE TYPE FIELD 888
10201 }
10202
10203 myObject-3 MY-CLASS-1 ::=
10204 {
10205 TYPE FIELD ASN1-Type4
10206 FIXED VALUE TYPE FIELD 555
10207 }
10208
10209 --****************************************************************************************************
10210 -- Defining Information Object sets
10211 --****************************************************************************************************
10212
10213 MyInformationObjectSet1 MY-CLASS-1 ::=
10214 {
10215 myObject-1|
10216 myObject-2,
10217 ...
10218 }
10219
10220 MyInformationObjectSet2 MY-CLASS-1 ::=
10221 {
10222 MyInformationObjectSet1|
10223 myObject-3,
10224 ...
10225 }
10226
10227 BERPDU ::= SEQUENCE
10228
10229 {
10230 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10231 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10232 }
10233
10234
10235 END
10236 <STATIC>
10237
10238 import from TempA all;
10239
10240 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10241
10242 const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10243
10244
10245 <TTCN_TC:EXEC>
10246
10247 if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10248
10249 {setverdict(pass);} else {setverdict(fail);}
10250
10251
10252 <RESULT>
10253
10254 Overall 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
10270 TempA
10271
10272 DEFINITIONS ::=
10273 BEGIN
10274
10275
10276 --***************************************************************************************************
10277 --modified class taken from Gyuri ASN1
10278 --***************************************************************************************************
10279 MY-CLASS-1 ::= CLASS
10280 {
10281 &TypeField OPTIONAL,
10282 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10283
10284 }
10285 WITH SYNTAX
10286 {
10287 [TYPE FIELD &TypeField]
10288 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10289 }
10290
10291 ASN1-Type1 ::= INTEGER
10292
10293 ASN1-Type2 ::= BOOLEAN
10294
10295 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10296
10297 ASN1-Type4 ::= OCTET STRING
10298
10299
10300 --****************************************************************************************************
10301 -- OBJECTS using the class defined above
10302 --****************************************************************************************************
10303
10304
10305 myObject-1 MY-CLASS-1 ::=
10306 {
10307 TYPE FIELD ASN1-Type3
10308 FIXED VALUE TYPE FIELD 999
10309 }
10310
10311
10312 myObject-2 MY-CLASS-1 ::=
10313 {
10314 TYPE FIELD ASN1-Type2
10315 FIXED VALUE TYPE FIELD 888
10316 }
10317
10318 myObject-3 MY-CLASS-1 ::=
10319 {
10320 TYPE FIELD ASN1-Type4
10321 FIXED VALUE TYPE FIELD 555
10322 }
10323
10324 --****************************************************************************************************
10325 -- Defining Information Object sets
10326 --****************************************************************************************************
10327
10328 MyInformationObjectSet1 MY-CLASS-1 ::=
10329 {
10330 myObject-1|
10331 myObject-2,
10332 ...
10333 }
10334
10335 MyInformationObjectSet2 MY-CLASS-1 ::=
10336 {
10337 MyInformationObjectSet1|
10338 myObject-3,
10339 ...
10340 }
10341
10342 BERPDU ::= SEQUENCE
10343
10344 {
10345 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10346 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10347 }
10348
10349
10350 END
10351 <STATIC>
10352
10353 import from TempA all;
10354
10355 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10356
10357 const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10358
10359
10360 <TTCN_TC:EXEC>
10361
10362 if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10363
10364 {setverdict(pass);} else {setverdict(fail);}
10365
10366
10367 <RESULT>
10368
10369 Overall 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
10385 TempA
10386
10387 DEFINITIONS
10388
10389
10390 ::=
10391
10392 BEGIN
10393
10394
10395 --***************************************************************************************************
10396 --modified class taken from Gyuri ASN1
10397 --***************************************************************************************************
10398 MY-CLASS-1 ::= CLASS
10399 {
10400 &TypeField OPTIONAL,
10401 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10402
10403 }
10404 WITH SYNTAX
10405 {
10406 [TYPE FIELD &TypeField]
10407 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10408 }
10409
10410 ASN1-Type1 ::= INTEGER
10411
10412 ASN1-Type2 ::= BOOLEAN
10413
10414 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10415
10416 ASN1-Type4 ::= OCTET STRING
10417
10418
10419 --****************************************************************************************************
10420 -- OBJECTS using the class defined above
10421 --****************************************************************************************************
10422
10423
10424 myObject-1 MY-CLASS-1 ::=
10425 {
10426 TYPE FIELD ASN1-Type3
10427 FIXED VALUE TYPE FIELD 999
10428 }
10429
10430
10431 myObject-2 MY-CLASS-1 ::=
10432 {
10433 TYPE FIELD ASN1-Type2
10434 FIXED VALUE TYPE FIELD 888
10435 }
10436
10437 myObject-3 MY-CLASS-1 ::=
10438 {
10439 TYPE FIELD ASN1-Type4
10440 FIXED VALUE TYPE FIELD 555
10441 }
10442
10443 --****************************************************************************************************
10444 -- Defining Information Object sets
10445 --****************************************************************************************************
10446
10447 MyInformationObjectSet1 MY-CLASS-1 ::=
10448 {
10449 myObject-1|
10450 myObject-2,
10451 ...
10452 }
10453
10454 MyInformationObjectSet2 MY-CLASS-1 ::=
10455 {
10456 MyInformationObjectSet1|
10457 myObject-3,
10458 ...
10459 }
10460
10461
10462
10463 BERPDU ::= SEQUENCE
10464
10465 {
10466 field1 myObject-1.&TypeField , -- type from object
10467 field2 MY-CLASS-1.&fixedTypeValueField
10468 }
10469
10470 END
10471
10472 <STATIC>
10473
10474 import from TempA all;
10475
10476 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10477
10478 const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10479
10480
10481 <TTCN_TC:EXEC>
10482
10483 if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10484
10485 {setverdict(pass);} else {setverdict(fail);}
10486
10487
10488 <RESULT>
10489
10490 Overall 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
10506 TempA
10507
10508 DEFINITIONS
10509
10510
10511 ::=
10512
10513 BEGIN
10514
10515
10516 --***************************************************************************************************
10517 --modified class taken from Gyuri ASN1
10518 --***************************************************************************************************
10519 MY-CLASS-1 ::= CLASS
10520 {
10521 &TypeField OPTIONAL,
10522 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10523
10524 }
10525 WITH SYNTAX
10526 {
10527 [TYPE FIELD &TypeField]
10528 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10529 }
10530
10531 ASN1-Type1 ::= INTEGER
10532
10533 ASN1-Type2 ::= BOOLEAN
10534
10535 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10536
10537 ASN1-Type4 ::= OCTET STRING
10538
10539
10540 --****************************************************************************************************
10541 -- OBJECTS using the class defined above
10542 --****************************************************************************************************
10543
10544
10545 myObject-1 MY-CLASS-1 ::=
10546 {
10547 TYPE FIELD ASN1-Type3
10548 FIXED VALUE TYPE FIELD 999
10549 }
10550
10551
10552 myObject-2 MY-CLASS-1 ::=
10553 {
10554 TYPE FIELD ASN1-Type2
10555 FIXED VALUE TYPE FIELD 888
10556 }
10557
10558 myObject-3 MY-CLASS-1 ::=
10559 {
10560 TYPE FIELD ASN1-Type4
10561 FIXED VALUE TYPE FIELD 555
10562 }
10563
10564 --****************************************************************************************************
10565 -- Defining Information Object sets
10566 --****************************************************************************************************
10567
10568 MyInformationObjectSet1 MY-CLASS-1 ::=
10569 {
10570 myObject-1|
10571 myObject-2,
10572 ...
10573 }
10574
10575 MyInformationObjectSet2 MY-CLASS-1 ::=
10576 {
10577 MyInformationObjectSet1|
10578 myObject-3,
10579 ...
10580 }
10581
10582
10583
10584 BERPDU ::= SEQUENCE
10585
10586 {
10587 field1 myObject-1.&TypeField , -- type from object
10588 field2 MY-CLASS-1.&fixedTypeValueField
10589 }
10590
10591 END
10592
10593 <STATIC>
10594
10595 import from TempA all;
10596
10597 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10598
10599 const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10600
10601
10602 <TTCN_TC:EXEC>
10603
10604 if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10605
10606 {setverdict(pass);} else {setverdict(fail);}
10607
10608
10609 <RESULT>
10610
10611 Overall 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
10629 TempA DEFINITIONS AUTOMATIC TAGS ::=
10630 BEGIN
10631
10632 BERPDU ::= INTEGER
10633 bi1 BERPDU ::= 5
10634 bi2 BERPDU ::= 0
10635 bi3 BERPDU ::= 127
10636 bi4 BERPDU ::= -128
10637 bi5 BERPDU ::= -5
10638 bi-6 BERPDU ::= 128
10639 bi7 BERPDU ::= -129
10640
10641 BERPDU2 ::= REAL
10642 --b BERPDU2 ::= 12345678900
10643
10644 Rec-ber ::= SEQUENCE {
10645 int1 Number,
10646 int2 Number
10647 }
10648 Rec-ber-literal ::= SEQUENCE {
10649 int1 NumberLit,
10650 int2 NumberLit
10651 }
10652 Number ::= INTEGER
10653 NumberLit ::= NumericString (SIZE (100))
10654 myNumber Number ::= 12345678910111213141516
10655
10656 END
10657
10658 <STATIC>
10659
10660 import from TempA language "ASN.1:1997" all
10661
10662 external function enc_ber1(in Rec_ber r) return octetstring
10663 with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10664 external function dec_ber1(in octetstring r) return Rec_ber
10665 with { extension "decode(BER:BER_ACCEPT_ALL) prototype(convert) errorbehavior(ALL:WARNING)" }
10666 external 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.
10669 external function dec_ber2(in octetstring r) return integer
10670 with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10671 external 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
10674 type 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
10767 Overall verdict: pass
10768
10769 <END_TC>
10770
10771 :exmp.
10772
10773 .*---------------------------------------------------------------------*
10774 :h2.Purpose
10775 .*---------------------------------------------------------------------*
10776 Negative 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
10790 TempA
10791 DEFINITIONS
10792 AUTOMATIC TAGS
10793 ::=
10794 BEGIN
10795
10796 IMPORTS; -- nothing
10797
10798 BERPDU ::= REAL
10799
10800 END
10801
10802 <STATIC>
10803
10804 type float BERPDU;
10805
10806 external 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
10810 const octetstring der_encoded := '090D0133313431353932362E452D37'O;
10811 const BERPDU myValue := 3.1415926;
10812
10813 <TTCN_TC:EXEC>
10814
10815 var BERPDU der_decoded, cer_decoded;
10816
10817 dec_BER_PDU(der_encoded, der_decoded);
10818 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10819
10820 <RESULT>
10821
10822 Dynamic 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
10838 TempA
10839 DEFINITIONS
10840 AUTOMATIC TAGS
10841 ::=
10842 BEGIN
10843
10844 IMPORTS; -- nothing
10845
10846 BERPDU ::= REAL
10847
10848 END
10849
10850 <STATIC>
10851
10852 type float BERPDU;
10853
10854 external 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
10858 const octetstring der_encoded := '090D0233313431353932362E452D37'O;
10859 const BERPDU myValue := 3.1415926;
10860
10861 <TTCN_TC:EXEC>
10862
10863 var BERPDU der_decoded, cer_decoded;
10864
10865 dec_BER_PDU(der_encoded, der_decoded);
10866 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10867
10868 <RESULT>
10869
10870 Dynamic 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
10885 TempA
10886 DEFINITIONS
10887 AUTOMATIC TAGS
10888 ::=
10889 BEGIN
10890
10891 IMPORTS; -- nothing
10892
10893 BERPDU ::= REAL
10894
10895 END
10896
10897 <STATIC>
10898
10899 type float BERPDU;
10900
10901 external 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
10905 const octetstring der_encoded := '090D2033313431353932362E452D37'O;
10906 const BERPDU myValue := 3.1415926;
10907
10908 <TTCN_TC:EXEC>
10909
10910 var BERPDU der_decoded, cer_decoded;
10911
10912 dec_BER_PDU(der_encoded, der_decoded);
10913 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10914
10915 <RESULT>
10916
10917 Dynamic 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
10933 TempA
10934 DEFINITIONS
10935 AUTOMATIC TAGS
10936 ::=
10937 BEGIN
10938
10939 IMPORTS; -- nothing
10940
10941 BERPDU ::= REAL
10942
10943 END
10944
10945 <STATIC>
10946
10947 type float BERPDU;
10948
10949 external 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
10953 const octetstring der_encoded := '090D0033313431353932362E452D37'O;
10954 const BERPDU myValue := 3.1415926;
10955
10956 <TTCN_TC:EXEC>
10957
10958 var BERPDU der_decoded, cer_decoded;
10959
10960 dec_BER_PDU(der_encoded, der_decoded);
10961 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10962
10963 <RESULT>
10964
10965 Dynamic 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
10981 TempA
10982 DEFINITIONS
10983 AUTOMATIC TAGS
10984 ::=
10985 BEGIN
10986
10987 IMPORTS; -- nothing
10988
10989 BERPDU ::= REAL
10990
10991 END
10992
10993 <STATIC>
10994
10995 type float BERPDU;
10996
10997 external 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
11001 const octetstring der_encoded := '090D0433313431353932362E452D37'O;
11002 const BERPDU myValue := 3.1415926;
11003
11004 <TTCN_TC:EXEC>
11005
11006 var BERPDU der_decoded, cer_decoded;
11007
11008 dec_BER_PDU(der_encoded, der_decoded);
11009 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
11010
11011 <RESULT>
11012
11013 Dynamic 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>
11027 TempA DEFINITIONS ::=
11028 BEGIN
11029
11030 MY-CLASS-1 ::= CLASS
11031 {
11032 &TypeField OPTIONAL,
11033 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
11034
11035 }
11036 WITH SYNTAX
11037 {
11038 [TYPE FIELD &TypeField]
11039 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
11040 }
11041
11042 ASN1-Type1 ::= INTEGER
11043
11044 ASN1-Type2 ::= BOOLEAN
11045
11046 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
11047
11048 ASN1-Type4 ::= OCTET STRING
11049
11050 myObject-1 MY-CLASS-1 ::=
11051 {
11052 TYPE FIELD ASN1-Type3
11053 FIXED VALUE TYPE FIELD 999
11054 }
11055
11056 myObject-2 MY-CLASS-1 ::=
11057 {
11058 TYPE FIELD ASN1-Type2
11059 FIXED VALUE TYPE FIELD 888
11060 }
11061
11062 myObject-3 MY-CLASS-1 ::=
11063 {
11064 TYPE FIELD ASN1-Type4
11065 FIXED VALUE TYPE FIELD 555
11066 }
11067
11068 MyInformationObjectSet1 MY-CLASS-1 ::=
11069 {
11070 myObject-1|myObject-2,
11071 ...
11072 }
11073
11074 MyInformationObjectSet2 MY-CLASS-1 ::=
11075 {
11076 MyInformationObjectSet1|myObject-3,
11077 ...
11078 }
11079
11080 BERPDU ::= SEQUENCE
11081 {
11082 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
11083 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
11084 }
11085
11086 END
11087 <STATIC>
11088 // Test for memory leak problem in BER decoder: HO73756.
11089 import from TempA all;
11090
11091 external function dec_backtrack(in octetstring stream, out BERPDU outpdu) return integer with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" }
11092
11093 type component empty {
11094 var BERPDU mypdu
11095 }
11096
11097 <TTCN_TC:PURE_EXEC>
11098
11099 testcase mytc() runs on empty {
11100 dec_backtrack('30093003020108020203E7'O, mypdu)
11101 dec_backtrack('30093003020108020203E7'O, mypdu)
11102 setverdict(pass)
11103 }
11104
11105 control {
11106 execute(mytc())
11107 }
11108
11109 <RESULT>
11110
11111 Overall 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.561001 seconds and 5 git commands to generate.