Sync with 5.4.0
[deliverable/titan.core.git] / function_test / BER_EncDec / BER_EncDec_TD.fast_script
1 .******************************************************************************
2 .* Copyright (c) 2000-2015 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 :text.
9 :lang eng.
10 .*
11 :docname.Test Description
12 :docno.8/152 91-CRL 113 200/5 Uen
13 :rev.C
14 :date.2015-04-27
15 .*
16 :prep.ETH/XZR Kristof Szabados (+36 1 437 7256)
17 :appr.ETH/XZ (Roland Gecse)
18 :checked.ETHBAAT
19 .*
20 :title.Test Description - BER coder
21 :contents level=3.
22 .*---------------------------------------------------------------------*
23 :h1.PREREQUISITES AND PREPARATIONS
24 .*---------------------------------------------------------------------*
25 .*---------------------------------------------------------------------*
26 :h2.Scope of the Test Object
27 .*---------------------------------------------------------------------*
28 :xmp tab=1 nokeep.
29
30 This TD contains unified test cases related to TTCN3 Executor's BER coder function.
31 The original test cases can be found in the BER_EncDec_TD.script file.
32 The reason for the unification was to get a really fast version of the tests.
33
34 :exmp.
35
36 :p.:us.Revision Information:eus.
37
38 :xmp nokeep.
39 :us.History:eus.
40
41 REV DATE PREPARED CHANGE
42 === ========== ======== ======
43 A 2003-10-31 ETHEKR New document
44 B 2007-03-06 EDMDELI Implicit message encoding
45 C 2007-03-21 EJNOSZA Bugfix in a testcase for implicit msg. enc.
46 D 2008-10-01 EFERKOV Big integers
47 E 2010-01-18 EKRISZA Updated for TITAN R8C
48 F 2011-06-18 EKRISZA Added tests for errors
49 A 2011-12-12 EKRISZA Updated for release
50 PB1 2011-01-30 ETHBAAT Editorial changes
51
52 :exmp.
53
54
55 .*---------------------------------------------------------------------*
56 :h2.Test Tools
57 .*---------------------------------------------------------------------*
58 :p.:us.Software Tools:eus.
59 :xmp tab=2 nokeep.
60
61 SAtester
62
63 :exmp.
64 :np.
65 .*---------------------------------------------------------------------*
66 :h1.REQUIREMENT-BASED TESTS
67 .*---------------------------------------------------------------------*
68 .*---------------------------------------------------------------------*
69 :h2.Testing FIELDLENGTH Attribute
70 .*---------------------------------------------------------------------*
71 .*---------------------------------------------------------------------*
72 :h3. DER + CER encoding of BOOLEAN, (unified test)
73 .*---------------------------------------------------------------------*
74 .*---------------------------------------------------------------------*
75 :h3. DER + CER coding without AUTOMATIC TAGGING (unified test)
76 .*---------------------------------------------------------------------*
77 :xmp tab=0.
78
79 <TC - DER + CER encoding of BOOLEAN, (unified test)>
80
81 <STATIC:ASN>
82
83 TempA
84
85 DEFINITIONS ::=
86
87 BEGIN
88
89 IMPORTS;
90
91 BERPDU1 ::= BOOLEAN
92 BERPDU2 ::= [0] EXPLICIT BOOLEAN
93 BERPDU3 ::= [PRIVATE 1] EXPLICIT BOOLEAN
94 BERPDU4 ::= [APPLICATION 2] EXPLICIT BOOLEAN
95 BERPDU5 ::= [0] IMPLICIT BOOLEAN
96 BERPDU6 ::= [PRIVATE 1] IMPLICIT BOOLEAN
97 BERPDU7 ::= [APPLICATION 2] IMPLICIT BOOLEAN
98
99 BERPDU8 ::= INTEGER
100 BERPDU9 ::= [0] EXPLICIT INTEGER
101 BERPDU10 ::= [PRIVATE 1] EXPLICIT INTEGER
102 BERPDU11 ::= [APPLICATION 2] EXPLICIT INTEGER
103 BERPDU12 ::= [0] IMPLICIT INTEGER
104 BERPDU13 ::= [PRIVATE 1] IMPLICIT INTEGER
105 BERPDU14 ::= [APPLICATION 2] IMPLICIT INTEGER
106 BERPDU15 ::= [30] EXPLICIT INTEGER
107 BERPDU16 ::= [31] EXPLICIT INTEGER
108 BERPDU17 ::= [127] EXPLICIT INTEGER
109 BERPDU18 ::= [128] EXPLICIT INTEGER
110 BERPDU19 ::= [16383] EXPLICIT INTEGER
111 BERPDU20 ::= [16384] EXPLICIT INTEGER
112
113 BERPDU21 ::= ENUMERATED {first(-5), second(0), third(9)}
114 BERPDU22 ::= ENUMERATED {first, second, third}
115 BERPDU23 ::= ENUMERATED {first, second(0),third}
116 BERPDU24 ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
117 BERPDU25 ::= [21] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
118 BERPDU26 ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
119 BERPDU27 ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth}
120
121 BERPDU28 ::= REAL
122 BERPDU29 ::= [0] IMPLICIT REAL
123 BERPDU30 ::= [0] EXPLICIT REAL
124
125 BERPDU31 ::= BIT STRING
126 BERPDU32 ::= [0] IMPLICIT BIT STRING
127 BERPDU33 ::= [0] EXPLICIT BIT STRING
128
129 BERPDU34 ::= OCTET STRING
130 BERPDU35 ::= [0] IMPLICIT OCTET STRING
131 BERPDU36 ::= [0] EXPLICIT OCTET STRING
132 BERPDU37 ::= NULL
133 BERPDU38 ::= [0] EXPLICIT NULL
134 BERPDU39 ::= [PRIVATE 1] EXPLICIT NULL
135 BERPDU40 ::= [APPLICATION 2] EXPLICIT NULL
136 BERPDU41 ::= [0] IMPLICIT NULL
137 BERPDU42 ::= [PRIVATE 1] IMPLICIT NULL
138 BERPDU43 ::= [APPLICATION 2] IMPLICIT NULL
139
140 BERPDU44 ::= SEQUENCE
141 {
142 b BOOLEAN OPTIONAL,
143 c INTEGER OPTIONAL
144 }
145
146 BERPDU45 ::= SEQUENCE
147 {
148 b BOOLEAN DEFAULT TRUE,
149 c INTEGER OPTIONAL
150 }
151
152 BERPDU48 ::= SEQUENCE
153 {
154 b [30] IMPLICIT BOOLEAN OPTIONAL,
155 c [31] IMPLICIT INTEGER OPTIONAL
156 }
157
158 BERPDU49 ::= SEQUENCE
159 {
160 b [30] EXPLICIT BOOLEAN OPTIONAL,
161 c [31] EXPLICIT INTEGER OPTIONAL
162 }
163
164 BERPDU50 ::= [0] SEQUENCE
165 {
166 b BOOLEAN OPTIONAL,
167 c INTEGER OPTIONAL
168 }
169
170 BERPDU54 ::= [0] SEQUENCE
171 {
172 b [0] BOOLEAN OPTIONAL,
173 c [1] INTEGER OPTIONAL
174 }
175
176 BERPDU65 ::= SEQUENCE
177 {
178 b CHOICE {
179 x BOOLEAN,
180 y OCTET STRING
181 }
182 OPTIONAL,
183 c INTEGER OPTIONAL
184
185 }
186
187 BERPDU67 ::= SEQUENCE
188 {
189 a NULL,
190 b BOOLEAN,
191 c INTEGER,
192 d ENUMERATED {first ,second ,third},
193 e REAL,
194 f BIT STRING,
195 g OCTET STRING,
196
197 h OBJECT IDENTIFIER,
198 i IA5String,
199 j CHOICE {x1 [1] BOOLEAN,
200 y1 [2] OCTET STRING},
201
202 k SEQUENCE{x2 NULL,
203 y2 BOOLEAN},
204
205 l SET { x3 BIT STRING,
206 y3 REAL},
207
208 m [3] SEQUENCE OF INTEGER,
209 n [4] SET OF BOOLEAN
210 }
211
212 myOBJID-67 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
213
214 BERPDU69 ::= SEQUENCE
215 {
216 a NULL,
217 b BOOLEAN,
218 c INTEGER,
219 d ENUMERATED {first ,second ,third},
220 --e REAL,
221 f BIT STRING,
222 g OCTET STRING,
223
224 h OBJECT IDENTIFIER,
225 i IA5String,
226 j CHOICE {x1 [1] BOOLEAN,
227 y1 [2] OCTET STRING},
228 k SEQUENCE{x2 NULL,
229 y2 BOOLEAN},
230 l SET { x3 BIT STRING,
231 y3 NULL},
232 m [3] SEQUENCE OF INTEGER,
233 n [4] SET OF BOOLEAN
234 }
235
236 myOBJID-69 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
237
238 BERPDU71 ::= SEQUENCE OF INTEGER
239 BERPDU72 ::= SEQUENCE OF BOOLEAN
240 BERPDU73 ::= SEQUENCE OF OCTET STRING
241 BERPDU74 ::= SEQUENCE OF SEQUENCE {a INTEGER, b BOOLEAN}
242 BERPDU75 ::= SEQUENCE OF SET {a INTEGER, b BOOLEAN}
243 BERPDU76 ::= SEQUENCE OF SEQUENCE OF INTEGER
244 BERPDU77 ::= SEQUENCE OF CHOICE{a INTEGER, b BOOLEAN}
245 BERPDU78 ::= SEQUENCE OF SET OF INTEGER
246 BERPDU79 ::= [0] SEQUENCE OF BOOLEAN
247 BERPDU82 ::= SET
248 {
249 b BOOLEAN OPTIONAL,
250 c INTEGER OPTIONAL
251 }
252 BERPDU83 ::= SET
253 {
254 b BOOLEAN DEFAULT TRUE,
255 c INTEGER OPTIONAL
256 }
257 BERPDU84 ::= SET
258 {
259
260 c INTEGER OPTIONAL,
261 b BOOLEAN DEFAULT TRUE
262 }
263
264
265 myBooleanValue1-1 BERPDU1 ::= TRUE
266 myBooleanValue2-1 BERPDU1 ::= FALSE
267
268 myBooleanValue1-2 BERPDU2 ::= TRUE
269 myBooleanValue1-3 BERPDU3 ::= TRUE
270
271 myBooleanValue1-4 BERPDU4 ::= TRUE
272 myBooleanValue1-5 BERPDU5 ::= TRUE
273 myBooleanValue1-6 BERPDU6 ::= FALSE
274 myBooleanValue2-6 BERPDU6 ::= TRUE
275 myBooleanValue1-7 BERPDU6 ::= FALSE
276 myBooleanValue2-7 BERPDU6 ::= TRUE
277
278 b8-8 BERPDU8 ::= 5
279 b9-8 BERPDU8 ::= 0
280 b10-8 BERPDU8 ::= 127
281 b11-8 BERPDU8 ::= -128
282 b12-8 BERPDU8 ::= -5
283 b13-8 BERPDU8 ::= 128
284 b14-8 BERPDU8 ::= -129
285
286 b8-9 BERPDU9 ::= 5
287 b9-9 BERPDU9 ::= 0
288 b10-9 BERPDU9 ::= 127
289 b11-9 BERPDU9 ::= -128
290 b12-9 BERPDU9 ::= -5
291 b13-9 BERPDU9 ::= 128
292 b14-9 BERPDU9 ::= -129
293
294 b8-10 BERPDU10 ::= 5
295 b9-10 BERPDU10 ::= 0
296 b10-10 BERPDU10 ::= 127
297 b11-10 BERPDU10 ::= -128
298 b12-10 BERPDU10 ::= -5
299 b13-10 BERPDU10 ::= 128
300 b14-10 BERPDU10 ::= -129
301
302 b8-11 BERPDU11 ::= 5
303 b9-11 BERPDU11 ::= 0
304 b10-11 BERPDU11 ::= 127
305 b11-11 BERPDU11 ::= -128
306 b12-11 BERPDU11 ::= -5
307 b13-11 BERPDU11 ::= 128
308 b14-11 BERPDU11 ::= -129
309
310 b8-12 BERPDU12 ::= 5
311 b9-12 BERPDU12 ::= 0
312 b10-12 BERPDU12 ::= 127
313 b11-12 BERPDU12 ::= -128
314 b12-12 BERPDU12 ::= -5
315 b13-12 BERPDU12 ::= 128
316 b14-12 BERPDU12 ::= -129
317
318 b8-13 BERPDU13 ::= 5
319 b9-13 BERPDU13 ::= 0
320 b10-13 BERPDU13 ::= 127
321 b11-13 BERPDU13 ::= -128
322 b12-13 BERPDU13 ::= -5
323 b13-13 BERPDU13 ::= 128
324 b14-13 BERPDU13 ::= -129
325
326 b8-14 BERPDU14 ::= 5
327 b9-14 BERPDU14 ::= 0
328 b10-14 BERPDU14 ::= 127
329 b11-14 BERPDU14 ::= -128
330 b12-14 BERPDU14 ::= -5
331 b13-14 BERPDU14 ::= 128
332 b14-14 BERPDU14 ::= -129
333
334 b2-15 BERPDU15 ::= 5
335
336 b7-24 BERPDU24 ::= first
337 b8-24 BERPDU24 ::= third
338 b9-24 BERPDU24 ::= fourth
339 b10-24 BERPDU24 ::= fifth
340 b11-24 BERPDU24 ::= sixth
341 b12-24 BERPDU24 ::= second
342
343 b2-26 BERPDU26 ::= first
344 b3-26 BERPDU26 ::= second
345 b4-26 BERPDU26 ::= third
346 b5-26 BERPDU26 ::= fourth
347 b6-26 BERPDU26 ::= fifth
348 b7-26 BERPDU26 ::= sixth
349
350 b1-27 BERPDU27 ::= first
351 b2-27 BERPDU27 ::= second
352 b3-27 BERPDU27 ::= third
353 b4-27 BERPDU27 ::= fourth
354 b5-27 BERPDU27 ::= fifth
355 b6-27 BERPDU27 ::= sixth
356
357 b1-28 BERPDU28 ::= 0
358 b2-28 BERPDU28 ::= 0.0
359 b3-28 BERPDU28 ::= 0E0
360 b4-28 BERPDU28 ::= 0.0E0
361 b5-28 BERPDU28 ::= 0e0
362 b6-28 BERPDU28 ::= 0.0e0
363 b7-28 BERPDU28 ::= 0E+0
364 b8-28 BERPDU28 ::= 0.0E+0
365 b9-28 BERPDU28 ::= 0e+0
366 b10-28 BERPDU28 ::= 0.0e+0
367 b11-28 BERPDU28 ::= 0E-0
368 b12-28 BERPDU28 ::= 0.0E-0
369 b13-28 BERPDU28 ::= 0e-0
370 b14-28 BERPDU28 ::= 0.0e-0
371 b15-28 BERPDU28 ::= 1
372 b16-28 BERPDU28 ::= 1e0
373 b17-28 BERPDU28 ::= 1E0
374 b18-28 BERPDU28 ::= 1.0e0
375 b19-28 BERPDU28 ::= 1.0E0
376 b20-28 BERPDU28 ::= 1e+0
377 b21-28 BERPDU28 ::= 1E+0
378 b22-28 BERPDU28 ::= 1.0e+0
379 b23-28 BERPDU28 ::= 1.0E+0
380 b24-28 BERPDU28 ::= 1e-0
381 b25-28 BERPDU28 ::= 1E-0
382 b26-28 BERPDU28 ::= 1.0e-0
383 b27-28 BERPDU28 ::= 1.0E-0
384 b28-28 BERPDU28 ::= 2
385 b29-28 BERPDU28 ::= 2.0
386 b30-28 BERPDU28 ::= -1
387 b31-28 BERPDU28 ::= -1e0
388 b32-28 BERPDU28 ::= -1E0
389 b33-28 BERPDU28 ::= -1.0e0
390 b34-28 BERPDU28 ::= -1.0E0
391 b35-28 BERPDU28 ::= -1e+0
392 b36-28 BERPDU28 ::= -1E+0
393 b37-28 BERPDU28 ::= -1.0e+0
394 b38-28 BERPDU28 ::= -1.0E+0
395 b39-28 BERPDU28 ::= -1e-0
396 b40-28 BERPDU28 ::= -1E-0
397 b41-28 BERPDU28 ::= -1.0e-0
398 b42-28 BERPDU28 ::= -1.0E-0
399 b43-28 BERPDU28 ::= -1.0
400 b44-28 BERPDU28 ::= 1.000
401 b45-28 BERPDU28 ::= -1.000
402 b46-28 BERPDU28 ::= 12
403 b47-28 BERPDU28 ::= 12.0
404 b48-28 BERPDU28 ::= 12.0E0
405 b49-28 BERPDU28 ::= 1.2E1
406 b50-28 BERPDU28 ::= 0.12E2
407 b51-28 BERPDU28 ::= 1.2E1
408 b52-28 BERPDU28 ::= 0.12E2
409 b53-28 BERPDU28 ::= 0.34
410 b54-28 BERPDU28 ::= 0.344
411 b55-28 BERPDU28 ::= 0.345
412 b56-28 BERPDU28 ::= 0.034
413 b57-28 BERPDU28 ::= 0.0034
414 b58-28 BERPDU28 ::= 0.304
415 b59-28 BERPDU28 ::= 0.1234567890
416 b60-28 BERPDU28 ::= 0.123456789
417 b61-28 BERPDU28 ::= 0.0123456789
418 b62-28 BERPDU28 ::= 123456789.0
419 b63-28 BERPDU28 ::= 123456789
420 b64-28 BERPDU28 ::= 1234567890
421 b65-28 BERPDU28 ::= 1234567890.0
422 b66-28 BERPDU28 ::= 1234567890.00
423 b67-28 BERPDU28 ::= 12345678900.0
424 b68-28 BERPDU28 ::= 12345678900.0
425 b69-28 BERPDU28 ::= 12345678900.00
426 b70-28 BERPDU28 ::= -12
427 b71-28 BERPDU28 ::= -12.0
428 b72-28 BERPDU28 ::= -12.0E0
429 b73-28 BERPDU28 ::= -1.2E1
430 b74-28 BERPDU28 ::= -0.12E2
431 b75-28 BERPDU28 ::= -1.2E1
432 b76-28 BERPDU28 ::= -0.12E2
433 b77-28 BERPDU28 ::= -0.34
434 b78-28 BERPDU28 ::= -0.344
435 b79-28 BERPDU28 ::= -0.345
436 b80-28 BERPDU28 ::= -0.034
437 b81-28 BERPDU28 ::= -0.0034
438 b82-28 BERPDU28 ::= -0.304
439 b83-28 BERPDU28 ::= -0.1234567890
440 b84-28 BERPDU28 ::= -0.123456789
441 b85-28 BERPDU28 ::= -0.0123456789
442 b86-28 BERPDU28 ::= -123456789.0
443 b87-28 BERPDU28 ::= -123456789
444 b88-28 BERPDU28 ::= -1234567890
445 b89-28 BERPDU28 ::= -1234567890.0
446 b90-28 BERPDU28 ::= -1234567890.00
447 b91-28 BERPDU28 ::= -12345678900.0
448 b92-28 BERPDU28 ::= -12345678900.0
449 b93-28 BERPDU28 ::= -12345678900.00
450 b94-28 BERPDU28 ::= PLUS-INFINITY
451 b95-28 BERPDU28 ::= MINUS-INFINITY
452
453 b-29 BERPDU29 ::= 1
454 b-30 BERPDU30 ::= 1
455
456 b6-31 BERPDU31 ::=
457 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
458 b7-31 BERPDU31 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
459 b8-31 BERPDU31 ::= ''B
460 b9-31 BERPDU31 ::='1'B
461 b10-31 BERPDU31 ::='11'B
462 b11-31 BERPDU31 ::='1010101'B
463 b12-31 BERPDU31 ::='10101011010101'B
464 b13-31 BERPDU31 ::='10101010'B
465 b14-31 BERPDU31 ::='1010101010101010'B
466 b15-31 BERPDU31 ::='111100001'B
467 b16-31 BERPDU31 ::='111100001111100001'B
468 b17-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
469 b18-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
470 b19-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
471
472 b-32 BERPDU32 ::='1'B
473
474 b5-34 BERPDU34 ::=''H
475 b6-34 BERPDU34 ::='FFFF'H
476 b7-34 BERPDU34 ::='FFFFFFFF'H
477 b8-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
478 b9-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
479 b10-34 BERPDU34 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
480 myIntegerValue-34 BERPDU34 ::='FFFF'H
481 myIntegerValue-35 BERPDU35 ::='FFFF'H
482 myIntegerValue-36 BERPDU36 ::='FFFF'H
483
484 myNullValue-37 BERPDU37 ::= NULL
485 myNullValue-38 BERPDU38 ::= NULL
486 myNullValue-39 BERPDU39 ::= NULL
487 myNullValue-40 BERPDU40 ::= NULL
488 myNullValue-41 BERPDU41 ::= NULL
489 myNullValue-42 BERPDU42 ::= NULL
490 myNullValue-43 BERPDU43 ::= NULL
491
492
493
494 END
495
496 <STATIC>
497
498
499 type component Test_CT {}
500
501 <TTCN_TC:PURE_EXEC>
502
503 import from TempA all;
504 external function enc_DER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
505 external function enc_CER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
506
507 external function enc_DER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
508 external function enc_CER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
509 external function enc_DER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
510 external function enc_CER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
511 external function enc_DER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
512 external function enc_CER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
513 external function enc_DER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
514 external function enc_CER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
515 external function enc_DER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
516 external function enc_CER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
517 external function enc_DER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
518 external function enc_CER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
519 external function enc_DER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
520 external function enc_CER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
521 external function enc_DER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
522 external function enc_CER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
523 external function enc_DER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
524 external function enc_CER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
525 external function enc_DER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
526 external function enc_CER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
527 external function enc_DER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
528 external function enc_CER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
529 external function enc_DER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
530 external function enc_CER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
531 external function enc_DER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
532 external function enc_CER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
533 external function enc_DER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
534 external function enc_CER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
535 external function enc_DER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
536 external function enc_CER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
537 external function enc_DER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
538 external function enc_CER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
539 external function enc_DER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
540 external function enc_CER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
541 external function enc_DER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
542 external function enc_CER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
543 external function enc_DER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
544 external function enc_CER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
545 external function enc_DER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
546 external function enc_CER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
547 external function enc_DER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
548 external function enc_CER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
549 external function enc_DER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
550 external function enc_CER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
551 external function enc_DER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
552 external function enc_CER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
553 external function enc_DER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
554 external function enc_CER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
555 external function enc_DER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
556 external function enc_CER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
557 external function enc_DER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
558 external function enc_CER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
559 external function enc_DER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
560 external function enc_CER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
561 external function enc_DER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
562 external function enc_CER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
563 external function enc_DER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
564 external function enc_CER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
565 external function enc_DER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
566 external function enc_CER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
567 external function enc_DER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
568 external function enc_CER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
569 external function enc_DER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
570 external function enc_CER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
571 external function enc_DER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
572 external function enc_CER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
573 external function enc_DER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
574 external function enc_CER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
575 external function enc_DER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
576 external function enc_CER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
577 external function enc_DER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
578 external function enc_CER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
579 external function enc_DER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
580 external function enc_CER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
581 external function enc_DER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
582 external function enc_CER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
583 external function enc_DER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
584 external function enc_CER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
585 external function enc_DER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
586 external function enc_CER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
587 external function enc_DER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
588 external function enc_CER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
589 external function enc_DER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
590 external function enc_CER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
591 external function enc_DER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
592 external function enc_CER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
593 external function enc_DER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
594 external function enc_CER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
595 external function enc_DER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
596 external function enc_CER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
597 external function enc_DER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
598 external function enc_CER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
599 external function enc_DER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
600 external function enc_CER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
601 external function enc_DER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
602 external function enc_CER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
603 external function enc_DER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
604 external function enc_CER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
605 external function enc_DER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
606 external function enc_CER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
607 external function enc_DER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
608 external function enc_CER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
609 external function enc_DER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
610 external function enc_CER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
611 external function enc_DER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
612 external function enc_CER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
613 external function enc_DER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
614 external function enc_CER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
615 external function enc_DER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
616 external function enc_CER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
617 external function enc_DER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
618 external function enc_CER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
619 external function enc_DER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
620 external function enc_CER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
621 external function enc_DER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
622 external function enc_CER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
623 external function enc_DER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
624 external function enc_CER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
625 external function enc_DER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
626 external function enc_CER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
627 external function enc_DER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
628 external function enc_CER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
629 external function enc_DER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
630 external function enc_CER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
631
632 external function dec_BER_PDU1(in octetstring stream) return BERPDU1 with { extension "prototype(convert) decode(BER)" }
633 external function dec_BER_PDU2(in octetstring stream) return BERPDU2 with { extension "prototype(convert) decode(BER)" }
634 external function dec_BER_PDU3(in octetstring stream) return BERPDU3 with { extension "prototype(convert) decode(BER)" }
635 external function dec_BER_PDU4(in octetstring stream) return BERPDU4 with { extension "prototype(convert) decode(BER)" }
636 external function dec_BER_PDU5(in octetstring stream) return BERPDU5 with { extension "prototype(convert) decode(BER)" }
637 external function dec_BER_PDU6(in octetstring stream) return BERPDU6 with { extension "prototype(convert) decode(BER)" }
638 external function dec_BER_PDU7(in octetstring stream) return BERPDU7 with { extension "prototype(convert) decode(BER)" }
639 external function dec_BER_PDU8(in octetstring stream) return BERPDU8 with { extension "prototype(convert) decode(BER)" }
640 external function dec_BER_PDU9(in octetstring stream) return BERPDU9 with { extension "prototype(convert) decode(BER)" }
641 external function dec_BER_PDU10(in octetstring stream) return BERPDU10 with { extension "prototype(convert) decode(BER)" }
642 external function dec_BER_PDU11(in octetstring stream) return BERPDU11 with { extension "prototype(convert) decode(BER)" }
643 external function dec_BER_PDU12(in octetstring stream) return BERPDU12 with { extension "prototype(convert) decode(BER)" }
644 external function dec_BER_PDU13(in octetstring stream) return BERPDU13 with { extension "prototype(convert) decode(BER)" }
645 external function dec_BER_PDU14(in octetstring stream) return BERPDU14 with { extension "prototype(convert) decode(BER)" }
646 external function dec_BER_PDU15(in octetstring stream) return BERPDU15 with { extension "prototype(convert) decode(BER)" }
647 external function dec_BER_PDU16(in octetstring stream) return BERPDU16 with { extension "prototype(convert) decode(BER)" }
648 external function dec_BER_PDU17(in octetstring stream) return BERPDU17 with { extension "prototype(convert) decode(BER)" }
649 external function dec_BER_PDU18(in octetstring stream) return BERPDU18 with { extension "prototype(convert) decode(BER)" }
650 external function dec_BER_PDU19(in octetstring stream) return BERPDU19 with { extension "prototype(convert) decode(BER)" }
651 external function dec_BER_PDU20(in octetstring stream) return BERPDU20 with { extension "prototype(convert) decode(BER)" }
652 external function dec_BER_PDU21(in octetstring stream) return BERPDU21 with { extension "prototype(convert) decode(BER)" }
653 external function dec_BER_PDU22(in octetstring stream) return BERPDU22 with { extension "prototype(convert) decode(BER)" }
654 external function dec_BER_PDU23(in octetstring stream) return BERPDU23 with { extension "prototype(convert) decode(BER)" }
655 external function dec_BER_PDU24(in octetstring stream) return BERPDU24 with { extension "prototype(convert) decode(BER)" }
656 //external function dec_BER_PDU25(in octetstring stream) return BERPDU25 with { extension "prototype(convert) decode(BER)" }
657 external function dec_BER_PDU26(in octetstring stream) return BERPDU26 with { extension "prototype(convert) decode(BER)" }
658 external function dec_BER_PDU27(in octetstring stream) return BERPDU27 with { extension "prototype(convert) decode(BER)" }
659 external function dec_BER_PDU28(in octetstring stream) return BERPDU28 with { extension "prototype(convert) decode(BER)" }
660 external function dec_BER_PDU29(in octetstring stream) return BERPDU29 with { extension "prototype(convert) decode(BER)" }
661 external function dec_BER_PDU30(in octetstring stream) return BERPDU30 with { extension "prototype(convert) decode(BER)" }
662 external function dec_BER_PDU31(in octetstring stream) return BERPDU31 with { extension "prototype(convert) decode(BER)" }
663 external function dec_BER_PDU32(in octetstring stream) return BERPDU32 with { extension "prototype(convert) decode(BER)" }
664 external function dec_BER_PDU33(in octetstring stream) return BERPDU33 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
665 external function dec_BER_PDU34(in octetstring stream) return BERPDU34 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
666 external function dec_BER_PDU35(in octetstring stream) return BERPDU35 with { extension "prototype(convert) decode(BER)" }
667 external function dec_BER_PDU36(in octetstring stream) return BERPDU36 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
668 external function dec_BER_PDU37(in octetstring stream) return BERPDU37 with { extension "prototype(convert) decode(BER)" }
669 external function dec_BER_PDU38(in octetstring stream) return BERPDU38 with { extension "prototype(convert) decode(BER)" }
670 external function dec_BER_PDU39(in octetstring stream) return BERPDU39 with { extension "prototype(convert) decode(BER)" }
671 external function dec_BER_PDU40(in octetstring stream) return BERPDU40 with { extension "prototype(convert) decode(BER)" }
672 external function dec_BER_PDU41(in octetstring stream) return BERPDU41 with { extension "prototype(convert) decode(BER)" }
673 external function dec_BER_PDU42(in octetstring stream) return BERPDU42 with { extension "prototype(convert) decode(BER)" }
674 external function dec_BER_PDU43(in octetstring stream) return BERPDU43 with { extension "prototype(convert) decode(BER)" }
675 external function dec_BER_PDU44(in octetstring stream) return BERPDU44 with { extension "prototype(convert) decode(BER)" }
676 external function dec_BER_PDU45(in octetstring stream) return BERPDU45 with { extension "prototype(convert) decode(BER)" }
677 external function dec_BER_PDU48(in octetstring stream) return BERPDU48 with { extension "prototype(convert) decode(BER)" }
678 external function dec_BER_PDU49(in octetstring stream) return BERPDU49 with { extension "prototype(convert) decode(BER)" }
679 external function dec_BER_PDU50(in octetstring stream) return BERPDU50 with { extension "prototype(convert) decode(BER)" }
680 external function dec_BER_PDU54(in octetstring stream) return BERPDU54 with { extension "prototype(convert) decode(BER)" }
681 external function dec_BER_PDU65(in octetstring stream) return BERPDU65 with { extension "prototype(convert) decode(BER)" }
682 external function dec_BER_PDU67(in octetstring stream) return BERPDU67 with { extension "prototype(convert) decode(BER)" }
683 external function dec_BER_PDU69(in octetstring stream) return BERPDU69 with { extension "prototype(convert) decode(BER)" }
684 external function dec_BER_PDU71(in octetstring stream) return BERPDU71 with { extension "prototype(convert) decode(BER)" }
685 external function dec_BER_PDU72(in octetstring stream) return BERPDU72 with { extension "prototype(convert) decode(BER)" }
686 external function dec_BER_PDU73(in octetstring stream) return BERPDU73 with { extension "prototype(convert) decode(BER)" }
687 external function dec_BER_PDU74(in octetstring stream) return BERPDU74 with { extension "prototype(convert) decode(BER)" }
688 external function dec_BER_PDU75(in octetstring stream) return BERPDU75 with { extension "prototype(convert) decode(BER)" }
689 external function dec_BER_PDU76(in octetstring stream) return BERPDU76 with { extension "prototype(convert) decode(BER)" }
690 external function dec_BER_PDU77(in octetstring stream) return BERPDU77 with { extension "prototype(convert) decode(BER)" }
691 external function dec_BER_PDU78(in octetstring stream) return BERPDU78 with { extension "prototype(convert) decode(BER)" }
692 external function dec_BER_PDU79(in octetstring stream) return BERPDU79 with { extension "prototype(convert) decode(BER)" }
693 external function dec_BER_PDU82(in octetstring stream) return BERPDU82 with { extension "prototype(convert) decode(BER)" }
694 external function dec_BER_PDU83(in octetstring stream) return BERPDU83 with { extension "prototype(convert) decode(BER)" }
695 external function dec_BER_PDU84(in octetstring stream) return BERPDU84 with { extension "prototype(convert) decode(BER)" }
696
697 //*********************************************
698 // TESTCASES
699 //*********************************************
700
701 //===========================================
702 // DER + CER encoding of BOOLEAN TRUE, FALSE
703 //===========================================
704 testcase tc_DER_CER_encoding_of_BOOLEAN() runs on Test_CT {
705 const BERPDU1 b1 := true
706 const BERPDU1 b2 := false
707 if ((enc_DER_PDU1(b1) == '0101FF'O)and(enc_CER_PDU1(b1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
708 if ((enc_DER_PDU1(b2) == '010100'O)and(enc_CER_PDU1(b2) == '010100'O)) {setverdict(pass);} else {setverdict(fail);}
709 }
710
711 //===========================================
712 // DER + CER encoding of BOOLEAN with Context Specific TAG, EXPLICIT
713 //===========================================
714 testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit() runs on Test_CT {
715 const BERPDU2 b := true
716 if ((enc_DER_PDU2(b) == 'A0030101FF'O)and(enc_CER_PDU2(b) == 'A0800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
717 }
718
719 //===========================================
720 // DER + CER encoding of BOOLEAN with PRIVATE TAG, EXPLICIT
721 //===========================================
722 testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT {
723 const BERPDU3 b := true
724
725 if ((enc_DER_PDU3(b) == 'E1030101FF'O)and(enc_CER_PDU3(b) == 'E1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
726
727 }
728
729 //===========================================
730 // DER + CER encoding of BOOLEAN with APPLICATION TAG, EXPLICIT
731 //===========================================
732 testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT {
733 const BERPDU4 b := true
734 if ((enc_DER_PDU4(b) == '62030101FF'O)and(enc_CER_PDU4(b) == '62800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
735 }
736
737 //===========================================
738 // DER + CER encoding of BOOLEAN with Context Specific TAG, IMPLICIT
739 //===========================================
740 testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT {
741 const BERPDU5 b := false
742 if ((enc_DER_PDU5(b) == '800100'O)and(enc_CER_PDU5(b) == '800100'O)) {setverdict(pass);} else {setverdict(fail);}
743 }
744 //===========================================
745 // DER + CER encoding of BOOLEAN with Private TAG, IMPLICIT
746 //===========================================
747 testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT {
748 const BERPDU6 b := false
749 if ((enc_DER_PDU6(b) == 'C10100'O)and(enc_CER_PDU6(b) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);}
750 }
751 //===========================================
752 // DER + CER encoding of BOOLEAN with Application TAG, IMPLICIT
753 //===========================================
754 testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT {
755 const BERPDU7 b := true
756 if ((enc_DER_PDU7(b) == '4201FF'O)and(enc_CER_PDU7(b) == '4201FF'O)) {setverdict(pass);} else {setverdict(fail);}
757 }
758 //===========================================
759 // DECODING BOOLEAN, CER+DER, (unified test)
760 //===========================================
761 testcase tc_BER_decoding_of_BOOLEAN() runs on Test_CT {
762 if (dec_BER_PDU1('0101FF'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);}
763 if (dec_BER_PDU1('010100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);}
764 if (dec_BER_PDU1('01810101'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);} //(LENGTH OF LENGTH = 1)
765 if (dec_BER_PDU1('0182000100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);}//(LENGTH OF LENGTH = 2)
766 }
767
768 //===========================================
769 // DECODING [0] EXPLICIT BOOLEAN, DER, (unified test)
770 //===========================================
771 testcase tc_DER_decoding_of_BOOLEAN_Explicit() runs on Test_CT {
772 if (dec_BER_PDU2('A0030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
773 if (dec_BER_PDU2('A0800101FF0000'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
774 if (dec_BER_PDU2('A081030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
775 if (dec_BER_PDU2('A0810401810199'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);}
776 }
777
778 //===========================================
779 // DECODING [PRIVATE 1] EXPLICIT BOOLEAN, DER-CER, (unified test)
780 //===========================================
781 testcase tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT {
782 if (dec_BER_PDU3('E1030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//DER
783 if (dec_BER_PDU3('E1800101FF0000'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//CER
784 if (dec_BER_PDU3('E181030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long
785 if (dec_BER_PDU3('E1810401810199'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long
786 }
787
788 //===========================================
789 // DER + CER decoding of BOOLEAN with APPLICATION TAG, EXPLICIT
790 //===========================================
791 testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT {
792 if (dec_BER_PDU4('62030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
793 if (dec_BER_PDU4('62800101FF0000'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
794 if (dec_BER_PDU4('6281030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
795 if (dec_BER_PDU4('62810401810199'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);}
796 }
797 //===========================================
798 // DECODING [0] IMPLICIT BOOLEAN ,(unified)
799 //===========================================
800 testcase tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT {
801 if (dec_BER_PDU5('8001FF'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);}
802 if (dec_BER_PDU5('80810133'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);}
803 }
804 //===========================================
805 // DECODING [PRIVATE 1] IMPLICIT BOOLEAN,(unified)
806 //===========================================
807 testcase tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT {
808 if (dec_BER_PDU6('C10100'O) == myBooleanValue1_6){setverdict(pass);} else {setverdict(fail);}
809 if (dec_BER_PDU6('C1810105'O) == myBooleanValue2_6){setverdict(pass);} else {setverdict(fail);}
810 }
811 //===========================================
812 // DECODING [APPLICATION 2] IMPLICIT BOOLEAN,(unified)
813 //===========================================
814 testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT {
815 if (dec_BER_PDU7('420100'O) == myBooleanValue1_7){setverdict(pass);} else {setverdict(fail);}
816 if (dec_BER_PDU7('42810188'O) == myBooleanValue2_7){setverdict(pass);} else {setverdict(fail);}
817 }
818
819
820
821 //===========================================
822 // DER + CER coding of integer (unified)
823 //===========================================
824
825 testcase tc_DER_CER_coding_of_INTEGER() runs on Test_CT {
826 const BERPDU8 b1_8 := 5
827 const BERPDU8 b2_8 := 0
828 const BERPDU8 b3_8 := 127
829 const BERPDU8 b4_8 := -128
830 const BERPDU8 b5_8 := -5
831 const BERPDU8 b6_8 := 128
832 const BERPDU8 b7_8 := -129
833 if ((enc_DER_PDU8(b1_8) == '020105'O)and(enc_CER_PDU8(b1_8) == '020105'O)) {setverdict(pass);} else {setverdict(fail);}
834 if ((enc_DER_PDU8(b2_8) == '020100'O)and(enc_CER_PDU8(b2_8) == '020100'O)) {setverdict(pass);} else {setverdict(fail);}
835 if ((enc_DER_PDU8(b3_8) == '02017F'O)and(enc_CER_PDU8(b3_8) == '02017F'O)) {setverdict(pass);} else {setverdict(fail);}
836 if ((enc_DER_PDU8(b4_8) == '020180'O)and(enc_CER_PDU8(b4_8) == '020180'O)) {setverdict(pass);} else {setverdict(fail);}
837 if ((enc_DER_PDU8(b5_8) == '0201FB'O)and(enc_CER_PDU8(b5_8) == '0201FB'O)) {setverdict(pass);} else {setverdict(fail);}
838 if ((enc_DER_PDU8(b6_8) == '02020080'O)and(enc_CER_PDU8(b6_8) == '02020080'O)) {setverdict(pass);} else {setverdict(fail);}
839 if ((enc_DER_PDU8(b7_8) == '0202FF7F'O)and(enc_CER_PDU8(b7_8) == '0202FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
840 if (dec_BER_PDU8('020105'O) == b8_8){setverdict(pass);} else {setverdict(fail);}
841 if (dec_BER_PDU8('02810105'O) == b8_8){setverdict(pass);} else {setverdict(fail);}
842 if (dec_BER_PDU8('0282000105'O) == b8_8){setverdict(pass);} else {setverdict(fail);}
843 if (dec_BER_PDU8('020100'O) == b9_8){setverdict(pass);} else {setverdict(fail);}
844 if (dec_BER_PDU8('02810100'O) == b9_8){setverdict(pass);} else {setverdict(fail);}
845 if (dec_BER_PDU8('0282000100'O) == b9_8){setverdict(pass);} else {setverdict(fail);}
846 if (dec_BER_PDU8('02017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);}
847 if (dec_BER_PDU8('0281017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);}
848 if (dec_BER_PDU8('028200017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);}
849 if (dec_BER_PDU8('020180'O) == b11_8){setverdict(pass);} else {setverdict(fail);}
850 if (dec_BER_PDU8('02810180'O) == b11_8){setverdict(pass);} else {setverdict(fail);}
851 if (dec_BER_PDU8('0282000180'O) == b11_8){setverdict(pass);} else {setverdict(fail);}
852 if (dec_BER_PDU8('0201FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);}
853 if (dec_BER_PDU8('028101FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);}
854 if (dec_BER_PDU8('02820001FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);}
855 if (dec_BER_PDU8('02020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);}
856 if (dec_BER_PDU8('0281020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);}
857 if (dec_BER_PDU8('028200020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);}
858 if (dec_BER_PDU8('0202FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);}
859 if (dec_BER_PDU8('028102FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);}
860 if (dec_BER_PDU8('02820002FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);}
861 }
862
863 //===========================================
864 // DER + CER coding of integer with Context Specific TAG, EXPLICIT (unified)
865 //===========================================
866 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit() runs on Test_CT {
867 const BERPDU9 b1_9 := 5
868 const BERPDU9 b2_9 := 0
869 const BERPDU9 b3_9 := 127
870 const BERPDU9 b4_9 := -128
871 const BERPDU9 b5_9 := -5
872 const BERPDU9 b6_9 := 128
873 const BERPDU9 b7_9 := -129
874 if ((enc_DER_PDU9(b1_9) == 'A003020105'O)and(enc_CER_PDU9(b1_9) == 'A0800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
875 if ((enc_DER_PDU9(b2_9) == 'A003020100'O)and(enc_CER_PDU9(b2_9) == 'A0800201000000'O)) {setverdict(pass);} else {setverdict(fail);}
876 if ((enc_DER_PDU9(b3_9) == 'A00302017F'O)and(enc_CER_PDU9(b3_9) == 'A08002017F0000'O)) {setverdict(pass);} else {setverdict(fail);}
877 if ((enc_DER_PDU9(b4_9) == 'A003020180'O)and(enc_CER_PDU9(b4_9) == 'A0800201800000'O)) {setverdict(pass);} else {setverdict(fail);}
878 if ((enc_DER_PDU9(b5_9) == 'A0030201FB'O)and(enc_CER_PDU9(b5_9) == 'A0800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);}
879 if ((enc_DER_PDU9(b6_9) == 'A00402020080'O)and(enc_CER_PDU9(b6_9) == 'A080020200800000'O)) {setverdict(pass);} else {setverdict(fail);}
880 if ((enc_DER_PDU9(b7_9) == 'A0040202FF7F'O)and(enc_CER_PDU9(b7_9) == 'A0800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);}
881 if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
882 if (dec_BER_PDU9('A0800201050000'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
883 if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
884 if (dec_BER_PDU9('A08103020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
885 if (dec_BER_PDU9('A0810402810105'O) == b8_9){setverdict(pass);} else {setverdict(fail);}
886 if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
887 if (dec_BER_PDU9('A0800201000000'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
888 if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
889 if (dec_BER_PDU9('A08103020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
890 if (dec_BER_PDU9('A0810402810100'O) == b9_9){setverdict(pass);} else {setverdict(fail);}
891 if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
892 if (dec_BER_PDU9('A08002017F0000'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
893 if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
894 if (dec_BER_PDU9('A0810302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
895 if (dec_BER_PDU9('A081040281017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);}
896 if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
897 if (dec_BER_PDU9('A0800201800000'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
898 if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
899 if (dec_BER_PDU9('A08103020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
900 if (dec_BER_PDU9('A0810402810180'O) == b11_9){setverdict(pass);} else {setverdict(fail);}
901 if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
902 if (dec_BER_PDU9('A0800201FB0000'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
903 if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
904 if (dec_BER_PDU9('A081030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
905 if (dec_BER_PDU9('A08104028101FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);}
906 if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
907 if (dec_BER_PDU9('A080020200800000'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
908 if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
909 if (dec_BER_PDU9('A0810402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
910 if (dec_BER_PDU9('A081050281020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);}
911 if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
912 if (dec_BER_PDU9('A0800202FF7F0000'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
913 if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
914 if (dec_BER_PDU9('A081040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
915 if (dec_BER_PDU9('A08105028102FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);}
916 }
917
918 //===========================================
919 // DER + CER coding of integer with PRIVATE TAG, EXPLICIT (unified)
920 //===========================================
921 testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit() runs on Test_CT {
922 const BERPDU10 b1_10 := 5
923 const BERPDU10 b2_10 := 0
924 const BERPDU10 b3_10 := 127
925 const BERPDU10 b4_10 := -128
926 const BERPDU10 b5_10 := -5
927 const BERPDU10 b6_10 := 128
928 const BERPDU10 b7_10 := -129
929 if ((enc_DER_PDU10(b1_10) == 'E103020105'O)and(enc_CER_PDU10(b1_10) == 'E1800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
930 if ((enc_DER_PDU10(b2_10) == 'E103020100'O)and(enc_CER_PDU10(b2_10) == 'E1800201000000'O)) {setverdict(pass);} else {setverdict(fail);}
931 if ((enc_DER_PDU10(b3_10) == 'E10302017F'O)and(enc_CER_PDU10(b3_10) == 'E18002017F0000'O)) {setverdict(pass);} else {setverdict(fail);}
932 if ((enc_DER_PDU10(b4_10) == 'E103020180'O)and(enc_CER_PDU10(b4_10) == 'E1800201800000'O)) {setverdict(pass);} else {setverdict(fail);}
933 if ((enc_DER_PDU10(b5_10) == 'E1030201FB'O)and(enc_CER_PDU10(b5_10) == 'E1800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);}
934 if ((enc_DER_PDU10(b6_10) == 'E10402020080'O)and(enc_CER_PDU10(b6_10) == 'E180020200800000'O)) {setverdict(pass);} else {setverdict(fail);}
935 if ((enc_DER_PDU10(b7_10) == 'E1040202FF7F'O)and(enc_CER_PDU10(b7_10) == 'E1800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);}
936 if (dec_BER_PDU10('E103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
937 if (dec_BER_PDU10('E10402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
938 if (dec_BER_PDU10('E18103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
939 if (dec_BER_PDU10('E1810402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
940 if (dec_BER_PDU10('E1800201050000'O) == b8_10){setverdict(pass);} else {setverdict(fail);}
941 if (dec_BER_PDU10('E103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
942 if (dec_BER_PDU10('E10402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
943 if (dec_BER_PDU10('E18103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
944 if (dec_BER_PDU10('E1810402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
945 if (dec_BER_PDU10('E1800201000000'O) == b9_10){setverdict(pass);} else {setverdict(fail);}
946 if (dec_BER_PDU10('E10302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
947 if (dec_BER_PDU10('E1040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
948 if (dec_BER_PDU10('E1810302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
949 if (dec_BER_PDU10('E181040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
950 if (dec_BER_PDU10('E18002017F0000'O) == b10_10){setverdict(pass);} else {setverdict(fail);}
951 if (dec_BER_PDU10('E103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
952 if (dec_BER_PDU10('E10402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
953 if (dec_BER_PDU10('E18103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
954 if (dec_BER_PDU10('E1810402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
955 if (dec_BER_PDU10('E1800201800000'O) == b11_10){setverdict(pass);} else {setverdict(fail);}
956 if (dec_BER_PDU10('E1030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
957 if (dec_BER_PDU10('E104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
958 if (dec_BER_PDU10('E181030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
959 if (dec_BER_PDU10('E18104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
960 if (dec_BER_PDU10('E1800201FB0000'O) == b12_10){setverdict(pass);} else {setverdict(fail);}
961 if (dec_BER_PDU10('E10402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
962 if (dec_BER_PDU10('E1050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
963 if (dec_BER_PDU10('E1810402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
964 if (dec_BER_PDU10('E181050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
965 if (dec_BER_PDU10('E180020200800000'O) == b13_10){setverdict(pass);} else {setverdict(fail);}
966 if (dec_BER_PDU10('E1040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
967 if (dec_BER_PDU10('E105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
968 if (dec_BER_PDU10('E181040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
969 if (dec_BER_PDU10('E18105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
970 if (dec_BER_PDU10('E1800202FF7F0000'O) == b14_10){setverdict(pass);} else {setverdict(fail);}
971
972 }
973 //===========================================
974 // DER + CER coding of integer with APPLICATION TAG, EXPLICIT (unified)
975 //===========================================
976 testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit() runs on Test_CT {
977 const BERPDU11 b1_11 := 5
978 const BERPDU11 b2_11 := 0
979 const BERPDU11 b3_11 := 127
980 const BERPDU11 b4_11 := -128
981 const BERPDU11 b5_11 := -5
982 const BERPDU11 b6_11 := 128
983 const BERPDU11 b7_11 := -129
984 if ((enc_DER_PDU11(b1_11) == '6203020105'O)and(enc_CER_PDU11(b1_11) == '62800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
985 if ((enc_DER_PDU11(b2_11) == '6203020100'O)and(enc_CER_PDU11(b2_11) == '62800201000000'O)) {setverdict(pass);} else {setverdict(fail);}
986 if ((enc_DER_PDU11(b3_11) == '620302017F'O)and(enc_CER_PDU11(b3_11) == '628002017F0000'O)) {setverdict(pass);} else {setverdict(fail);}
987 if ((enc_DER_PDU11(b4_11) == '6203020180'O)and(enc_CER_PDU11(b4_11) == '62800201800000'O)) {setverdict(pass);} else {setverdict(fail);}
988 if ((enc_DER_PDU11(b5_11) == '62030201FB'O)and(enc_CER_PDU11(b5_11) == '62800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);}
989 if ((enc_DER_PDU11(b6_11) == '620402020080'O)and(enc_CER_PDU11(b6_11) == '6280020200800000'O)) {setverdict(pass);} else {setverdict(fail);}
990 if ((enc_DER_PDU11(b7_11) == '62040202FF7F'O)and(enc_CER_PDU11(b7_11) == '62800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);}
991 if (dec_BER_PDU11('6203020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
992 if (dec_BER_PDU11('620402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
993 if (dec_BER_PDU11('628103020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
994 if (dec_BER_PDU11('62810402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
995 if (dec_BER_PDU11('62800201050000'O) == b8_11){setverdict(pass);} else {setverdict(fail);}
996 if (dec_BER_PDU11('6203020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
997 if (dec_BER_PDU11('620402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
998 if (dec_BER_PDU11('628103020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
999 if (dec_BER_PDU11('62810402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
1000 if (dec_BER_PDU11('62800201000000'O) == b9_11){setverdict(pass);} else {setverdict(fail);}
1001 if (dec_BER_PDU11('620302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1002 if (dec_BER_PDU11('62040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1003 if (dec_BER_PDU11('62810302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1004 if (dec_BER_PDU11('6281040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1005 if (dec_BER_PDU11('628002017F0000'O) == b10_11){setverdict(pass);} else {setverdict(fail);}
1006 if (dec_BER_PDU11('6203020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1007 if (dec_BER_PDU11('620402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1008 if (dec_BER_PDU11('628103020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1009 if (dec_BER_PDU11('62810402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1010 if (dec_BER_PDU11('62800201800000'O) == b11_11){setverdict(pass);} else {setverdict(fail);}
1011 if (dec_BER_PDU11('62030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1012 if (dec_BER_PDU11('6204028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1013 if (dec_BER_PDU11('6281030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1014 if (dec_BER_PDU11('628104028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1015 if (dec_BER_PDU11('62800201FB0000'O) == b12_11){setverdict(pass);} else {setverdict(fail);}
1016 if (dec_BER_PDU11('620402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1017 if (dec_BER_PDU11('62050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1018 if (dec_BER_PDU11('62810402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1019 if (dec_BER_PDU11('6281050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1020 if (dec_BER_PDU11('6280020200800000'O) == b13_11){setverdict(pass);} else {setverdict(fail);}
1021 if (dec_BER_PDU11('62040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1022 if (dec_BER_PDU11('6205028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1023 if (dec_BER_PDU11('6281040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1024 if (dec_BER_PDU11('628105028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1025 if (dec_BER_PDU11('62800202FF7F0000'O) == b14_11){setverdict(pass);} else {setverdict(fail);}
1026 }
1027 //===========================================
1028 // DER + CER coding of integer with Context Specific TAG, IMPLICIT (unified)
1029 //===========================================
1030 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit() runs on Test_CT {
1031 const BERPDU11 b1_12 := 5
1032 const BERPDU11 b2_12 := 0
1033 const BERPDU11 b3_12 := 127
1034 const BERPDU11 b4_12 := -128
1035 const BERPDU11 b5_12 := -5
1036 const BERPDU11 b6_12 := 128
1037 const BERPDU11 b7_12 := -129
1038 if ((enc_DER_PDU12(b1_12) == '800105'O)and(enc_CER_PDU12(b1_12) == '800105'O)) {setverdict(pass);} else {setverdict(fail);}
1039 if ((enc_DER_PDU12(b2_12) == '800100'O)and(enc_CER_PDU12(b2_12) == '800100'O)) {setverdict(pass);} else {setverdict(fail);}
1040 if ((enc_DER_PDU12(b3_12) == '80017F'O)and(enc_CER_PDU12(b3_12) == '80017F'O)) {setverdict(pass);} else {setverdict(fail);}
1041 if ((enc_DER_PDU12(b4_12) == '800180'O)and(enc_CER_PDU12(b4_12) == '800180'O)) {setverdict(pass);} else {setverdict(fail);}
1042 if ((enc_DER_PDU12(b5_12) == '8001FB'O)and(enc_CER_PDU12(b5_12) == '8001FB'O)) {setverdict(pass);} else {setverdict(fail);}
1043 if ((enc_DER_PDU12(b6_12) == '80020080'O)and(enc_CER_PDU12(b6_12) == '80020080'O)) {setverdict(pass);} else {setverdict(fail);}
1044 if ((enc_DER_PDU12(b7_12) == '8002FF7F'O)and(enc_CER_PDU12(b7_12) == '8002FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
1045 if (dec_BER_PDU12('800105'O) == b8_12){setverdict(pass);} else {setverdict(fail);}
1046 if (dec_BER_PDU12('80810105'O) == b8_12){setverdict(pass);} else {setverdict(fail);}
1047 if (dec_BER_PDU12('800100'O) == b9_12){setverdict(pass);} else {setverdict(fail);}
1048 if (dec_BER_PDU12('80810100'O) == b9_12){setverdict(pass);} else {setverdict(fail);}
1049 if (dec_BER_PDU12('8081017F'O) == b10_12){setverdict(pass);} else {setverdict(fail);}
1050 if (dec_BER_PDU12('800180'O) == b11_12){setverdict(pass);} else {setverdict(fail);}
1051 if (dec_BER_PDU12('80810180'O) == b11_12){setverdict(pass);} else {setverdict(fail);}
1052 if (dec_BER_PDU12('8001FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);}
1053 if (dec_BER_PDU12('808101FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);}
1054 if (dec_BER_PDU12('80020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);}
1055 if (dec_BER_PDU12('8081020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);}
1056 if (dec_BER_PDU12('8002FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);}
1057 if (dec_BER_PDU12('808102FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);}
1058
1059 }
1060
1061 //===========================================
1062 // DER + CER coding of integer with PRIVATE TAG, IMPLICIT (unified)
1063 //===========================================
1064 testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit () runs on Test_CT {
1065 const BERPDU13 b1_13 := 5
1066 const BERPDU13 b2_13 := 0
1067 const BERPDU13 b3_13 := 127
1068 const BERPDU13 b4_13 := -128
1069 const BERPDU13 b5_13 := -5
1070 const BERPDU13 b6_13 := 128
1071 const BERPDU13 b7_13 := -129
1072 if ((enc_DER_PDU13(b1_13) == 'C10105'O)and(enc_CER_PDU13(b1_13) == 'C10105'O)) {setverdict(pass);} else {setverdict(fail);}
1073 if ((enc_DER_PDU13(b2_13) == 'C10100'O)and(enc_CER_PDU13(b2_13) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);}
1074 if ((enc_DER_PDU13(b3_13) == 'C1017F'O)and(enc_CER_PDU13(b3_13) == 'C1017F'O)) {setverdict(pass);} else {setverdict(fail);}
1075 if ((enc_DER_PDU13(b4_13) == 'C10180'O)and(enc_CER_PDU13(b4_13) == 'C10180'O)) {setverdict(pass);} else {setverdict(fail);}
1076 if ((enc_DER_PDU13(b5_13) == 'C101FB'O)and(enc_CER_PDU13(b5_13) == 'C101FB'O)) {setverdict(pass);} else {setverdict(fail);}
1077 if ((enc_DER_PDU13(b6_13) == 'C1020080'O)and(enc_CER_PDU13(b6_13) == 'C1020080'O)) {setverdict(pass);} else {setverdict(fail);}
1078 if ((enc_DER_PDU13(b7_13) == 'C102FF7F'O)and(enc_CER_PDU13(b7_13) == 'C102FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
1079 if (dec_BER_PDU13('C10105'O) == b8_13){setverdict(pass);} else {setverdict(fail);}
1080 if (dec_BER_PDU13('C1810105'O) == b8_13){setverdict(pass);} else {setverdict(fail);}
1081 if (dec_BER_PDU13('C10100'O) == b9_13){setverdict(pass);} else {setverdict(fail);}
1082 if (dec_BER_PDU13('C1810100'O) == b9_13){setverdict(pass);} else {setverdict(fail);}
1083 if (dec_BER_PDU13('C1017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);}
1084 if (dec_BER_PDU13('C181017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);}
1085 if (dec_BER_PDU13('C10180'O) == b11_13){setverdict(pass);} else {setverdict(fail);}
1086 if (dec_BER_PDU13('C1810180'O) == b11_13){setverdict(pass);} else {setverdict(fail);}
1087 if (dec_BER_PDU13('C101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);}
1088 if (dec_BER_PDU13('C18101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);}
1089 if (dec_BER_PDU13('C1020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);}
1090 if (dec_BER_PDU13('C181020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);}
1091 if (dec_BER_PDU13('C102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);}
1092 if (dec_BER_PDU13('C18102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);}
1093 }
1094
1095 //===========================================
1096 // DER + CER coding of integer with APPLICATION TAG, IMPLICIT (unified)
1097 //===========================================
1098 testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit() runs on Test_CT {
1099 const BERPDU14 b1_14 := 5
1100 const BERPDU14 b2_14 := 0
1101 const BERPDU14 b3_14 := 127
1102 const BERPDU14 b4_14 := -128
1103 const BERPDU14 b5_14 := -5
1104 const BERPDU14 b6_14 := 128
1105 const BERPDU14 b7_14 := -129
1106 if ((enc_DER_PDU14(b1_14) == '420105'O)and(enc_CER_PDU14(b1_14) == '420105'O)) {setverdict(pass);} else {setverdict(fail);}
1107 if ((enc_DER_PDU14(b2_14) == '420100'O)and(enc_CER_PDU14(b2_14) == '420100'O)) {setverdict(pass);} else {setverdict(fail);}
1108 if ((enc_DER_PDU14(b3_14) == '42017F'O)and(enc_CER_PDU14(b3_14) == '42017F'O)) {setverdict(pass);} else {setverdict(fail);}
1109 if ((enc_DER_PDU14(b4_14) == '420180'O)and(enc_CER_PDU14(b4_14) == '420180'O)) {setverdict(pass);} else {setverdict(fail);}
1110 if ((enc_DER_PDU14(b5_14) == '4201FB'O)and(enc_CER_PDU14(b5_14) == '4201FB'O)) {setverdict(pass);} else {setverdict(fail);}
1111 if ((enc_DER_PDU14(b6_14) == '42020080'O)and(enc_CER_PDU14(b6_14) == '42020080'O)) {setverdict(pass);} else {setverdict(fail);}
1112 if ((enc_DER_PDU14(b7_14) == '4202FF7F'O)and(enc_CER_PDU14(b7_14) == '4202FF7F'O)) {setverdict(pass);} else {setverdict(fail);}
1113 if (dec_BER_PDU14('420105'O) == b8_14){setverdict(pass);} else {setverdict(fail);}
1114 if (dec_BER_PDU14('42810105'O) == b8_14){setverdict(pass);} else {setverdict(fail);}
1115 if (dec_BER_PDU14('420100'O) == b9_14){setverdict(pass);} else {setverdict(fail);}
1116 if (dec_BER_PDU14('42810100'O) == b9_14){setverdict(pass);} else {setverdict(fail);}
1117 if (dec_BER_PDU14('42017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);}
1118 if (dec_BER_PDU14('4281017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);}
1119 if (dec_BER_PDU14('420180'O) == b11_14){setverdict(pass);} else {setverdict(fail);}
1120 if (dec_BER_PDU14('42810180'O) == b11_14){setverdict(pass);} else {setverdict(fail);}
1121 if (dec_BER_PDU14('4201FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);}
1122 if (dec_BER_PDU14('428101FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);}
1123 if (dec_BER_PDU14('42020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);}
1124 if (dec_BER_PDU14('4281020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);}
1125 if (dec_BER_PDU14('4202FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);}
1126 if (dec_BER_PDU14('428102FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);}
1127 }
1128 //===========================================
1129 // DER + CER coding of integer (5) with Context Specific TAG = 30, EXPLICIT (unified))
1130 //===========================================
1131 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit() runs on Test_CT {
1132 const BERPDU15 b1_15 := 5
1133 if ((enc_DER_PDU15(b1_15) == 'BE03020105'O)and(enc_CER_PDU15(b1_15) == 'BE800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1134 if (dec_BER_PDU15('BE03020105'O) == b2_15){setverdict(pass);} else {setverdict(fail);}
1135 if (dec_BER_PDU15('BE800201050000'O) == b2_15){setverdict(pass);} else {setverdict(fail);}
1136 }
1137
1138 //===========================================
1139 // DER + CER coding of integer (5) with Context Specific TAG = 31, EXPLICIT (unified))
1140 //===========================================
1141 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit() runs on Test_CT {
1142 const BERPDU16 b := 5
1143 if ((enc_DER_PDU16(b) == 'BF1F03020105'O)and(enc_CER_PDU16(b) == 'BF1F800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1144 if (dec_BER_PDU16('BF1F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);}
1145 if (dec_BER_PDU16('BF1F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1146 }
1147
1148 //===========================================
1149 // DER + CER coding of integer (5) with Context Specific TAG = 127, EXPLICIT (unified))
1150 //===========================================
1151 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit() runs on Test_CT {
1152 const BERPDU17 b := 5
1153 if ((enc_DER_PDU17(b) == 'BF7F03020105'O)and(enc_CER_PDU17(b) == 'BF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1154 if (dec_BER_PDU17('BF7F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);} //DER
1155 if (dec_BER_PDU17('BF7F800201050000'O) == b){setverdict(pass);} else {setverdict(fail);}
1156 }
1157
1158 //===========================================
1159 // DER + CER coding of integer with Context Specific TAG = 128, EXPLICIT
1160 //===========================================
1161 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit() runs on Test_CT {
1162 const BERPDU18 b := 5
1163 if ((enc_DER_PDU18(b) == 'BF810003020105'O)and(enc_CER_PDU18(b) == 'BF8100800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1164 if (dec_BER_PDU18('BF8100800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1165 if (dec_BER_PDU18('BF810003020105'O) == b) {setverdict(pass);} else {setverdict(fail);}
1166 }
1167
1168 //===========================================
1169 // DER + CER coding of integer with Context Specific TAG = 16383, EXPLICIT (unified)
1170 //===========================================
1171 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit() runs on Test_CT {
1172 const BERPDU19 b := 5
1173 if ((enc_DER_PDU19(b) == 'BFFF7F03020105'O)and(enc_CER_PDU19(b) == 'BFFF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1174 if (dec_BER_PDU19('BFFF7F03020105'O) == b){setverdict(pass);} else {setverdict(fail);}
1175 if (dec_BER_PDU19('BFFF7F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1176 }
1177
1178 //===========================================
1179 // DER + CER coding of integer with Context Specific TAG = 16384, EXPLICIT (unified)
1180 //===========================================
1181 testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit() runs on Test_CT {
1182 const BERPDU20 b := 5
1183 if ((enc_DER_PDU20(b) == 'BF81800003020105'O)and(enc_CER_PDU20(b) == 'BF818000800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1184 if (dec_BER_PDU20('BF81800003020105'O) == b){setverdict(pass);} else {setverdict(fail);}
1185 if (dec_BER_PDU20('BF818000800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);}
1186 }
1187 //===========================================
1188 // DER + CER coding of ENUMERATED hardcoded positive (unified)
1189 //===========================================
1190 testcase tc_DER_CER_coding_of_enumerated_hardcoded_positive() runs on Test_CT {
1191 const BERPDU21 b1 := third
1192 const BERPDU21 b2 := first
1193 const BERPDU21 b3 := second
1194 if ((enc_DER_PDU21(b1) == '0A0109'O)and(enc_CER_PDU21(b1) == '0A0109'O)) {setverdict(pass);} else {setverdict(fail);}
1195 if ((enc_DER_PDU21(b2) == '0A01FB'O)and(enc_CER_PDU21(b2) == '0A01FB'O)) {setverdict(pass);} else {setverdict(fail);}
1196 if ((enc_DER_PDU21(b3) == '0A0100'O)and(enc_CER_PDU21(b3) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1197 }
1198
1199 //===========================================
1200 // DER + CER coding of ENUMERATED third, no hardcoding (unified)
1201 //===========================================
1202 testcase tc_DER_CER_coding_of_enumerated_third_no_hardcoding() runs on Test_CT {
1203 const BERPDU22 b1 := third
1204 const BERPDU22 b2 := first
1205 if ((enc_DER_PDU22(b1) == '0A0102'O)and(enc_CER_PDU22(b1) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);}
1206 if ((enc_DER_PDU22(b2) == '0A0100'O)and(enc_CER_PDU22(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1207
1208 }
1209
1210 //===========================================
1211 // DER + CER coding of ENUMERATED first (unified)
1212 //===========================================
1213 testcase tc_DER_CER_coding_of_enumerated_first1() runs on Test_CT {
1214 const BERPDU23 b1 := first
1215 const BERPDU23 b2 := second
1216 const BERPDU23 b3 := third
1217 if ((enc_DER_PDU23(b1) == '0A0101'O)and(enc_CER_PDU23(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);}
1218 if ((enc_DER_PDU23(b2) == '0A0100'O)and(enc_CER_PDU23(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1219 if ((enc_DER_PDU23(b3) == '0A0102'O)and(enc_CER_PDU23(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);}
1220
1221 }
1222
1223 //===========================================
1224 // DER + CER coding of ENUMERATED first (unified)
1225 //===========================================
1226 testcase tc_DER_CER_coding_of_enumerated_first2() runs on Test_CT {
1227 const BERPDU24 b1 := first
1228 const BERPDU24 b2 := second
1229 const BERPDU24 b3 := third
1230 const BERPDU24 b4 := fourth
1231 const BERPDU24 b5 := fifth
1232 const BERPDU24 b6 := sixth
1233
1234 if ((enc_DER_PDU24(b1) == '0A0101'O)and(enc_CER_PDU24(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);}
1235 if ((enc_DER_PDU24(b2) == '0A0100'O)and(enc_CER_PDU24(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
1236 if ((enc_DER_PDU24(b3) == '0A0102'O)and(enc_CER_PDU24(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);}
1237 if ((enc_DER_PDU24(b4) == '0A0103'O)and(enc_CER_PDU24(b4) == '0A0103'O)) {setverdict(pass);} else {setverdict(fail);}
1238 if ((enc_DER_PDU24(b5) == '0A0105'O)and(enc_CER_PDU24(b5) == '0A0105'O)) {setverdict(pass);} else {setverdict(fail);}
1239 if ((enc_DER_PDU24(b6) == '0A0106'O)and(enc_CER_PDU24(b6) == '0A0106'O)) {setverdict(pass);} else {setverdict(fail);}
1240 if (dec_BER_PDU24('0A0101'O) == b7_24){setverdict(pass);} else {setverdict(fail);}
1241 if (dec_BER_PDU24('0A810101'O) == b7_24){setverdict(pass);} else {setverdict(fail);}
1242 if (dec_BER_PDU24('0A0102'O) == b8_24){setverdict(pass);} else {setverdict(fail);}
1243 if (dec_BER_PDU24('0A810102'O) == b8_24){setverdict(pass);} else {setverdict(fail);}
1244 if (dec_BER_PDU24('0A0103'O) == b9_24){setverdict(pass);} else {setverdict(fail);}
1245 if (dec_BER_PDU24('0A810103'O) == b9_24){setverdict(pass);} else {setverdict(fail);}
1246 if (dec_BER_PDU24('0A0105'O) == b10_24){setverdict(pass);} else {setverdict(fail);}
1247 if (dec_BER_PDU24('0A810105'O) == b10_24){setverdict(pass);} else {setverdict(fail);}
1248 if (dec_BER_PDU24('0A0106'O) == b11_24){setverdict(pass);} else {setverdict(fail);}
1249 if (dec_BER_PDU24('0A810106'O) == b11_24){setverdict(pass);} else {setverdict(fail);}
1250 if (dec_BER_PDU24('0A0100'O) == b12_24){setverdict(pass);} else {setverdict(fail);}
1251 if (dec_BER_PDU24('0A810100'O) == b12_24){setverdict(pass);} else {setverdict(fail);}
1252
1253 }
1254 //===========================================
1255 // DER + CER coding of ENUMERATED , tagged, EXPLICIT
1256 //===========================================
1257 testcase tc_DER_CER_coding_of_enumerated_tagged_explicit_6() runs on Test_CT {
1258 const BERPDU25 b := sixth
1259 if ((enc_DER_PDU25(b) == 'B5030A0106'O)and(enc_CER_PDU25(b) == 'B5800A01060000'O)) {setverdict(pass);} else {setverdict(fail);}
1260 }
1261
1262 //===========================================
1263 // DER + CER coding of ENUMERATED , tagged, IMPLICIT (unified)
1264 //===========================================
1265 testcase tc_DER_CER_coding_of_enumerated_tagged_implicit() runs on Test_CT {
1266 const BERPDU26 b1 := sixth
1267
1268 if ((enc_DER_PDU26(b1) == '9F580106'O)and(enc_CER_PDU26(b1) == '9F580106'O)) {setverdict(pass);} else {setverdict(fail);}
1269 if (dec_BER_PDU26('9F580101'O) == b2_26){setverdict(pass);} else {setverdict(fail);}
1270 if (dec_BER_PDU26('9F58810101'O) == b2_26){setverdict(pass);} else {setverdict(fail);}
1271 if (dec_BER_PDU26('9F580100'O) == b3_26){setverdict(pass);} else {setverdict(fail);}
1272 if (dec_BER_PDU26('9F58810100'O) == b3_26){setverdict(pass);} else {setverdict(fail);}
1273 if (dec_BER_PDU26('9F580102'O) == b4_26){setverdict(pass);} else {setverdict(fail);}
1274 if (dec_BER_PDU26('9F58810102'O) == b4_26){setverdict(pass);} else {setverdict(fail);}
1275 if (dec_BER_PDU26('9F580103'O) == b5_26){setverdict(pass);} else {setverdict(fail);}
1276 if (dec_BER_PDU26('9F58810103'O) == b5_26){setverdict(pass);} else {setverdict(fail);}
1277 if (dec_BER_PDU26('9F580105'O) == b6_26){setverdict(pass);} else {setverdict(fail);}
1278 if (dec_BER_PDU26('9F58810105'O) == b6_26){setverdict(pass);} else {setverdict(fail);}
1279 if (dec_BER_PDU26('9F580106'O) == b7_26){setverdict(pass);} else {setverdict(fail);}
1280 if (dec_BER_PDU26('9F58810106'O) == b7_26){setverdict(pass);} else {setverdict(fail);}
1281 }
1282
1283 //===========================================
1284 // DECODING OF EXPLICIT TAGGED ENUMERATED, (unified)
1285 //===========================================
1286 testcase tc_decoding_of_explicit_tagged_enumerated() runs on Test_CT {
1287
1288 if (dec_BER_PDU27('A0030A0101'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1289 if (dec_BER_PDU27('A0800A01010000'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1290 if (dec_BER_PDU27('A0040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1291 if (dec_BER_PDU27('A081040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);}
1292 if (dec_BER_PDU27('A0030A0100'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1293 if (dec_BER_PDU27('A0800A01000000'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1294 if (dec_BER_PDU27('A0040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1295 if (dec_BER_PDU27('A081040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);}
1296 if (dec_BER_PDU27('A0030A0102'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1297 if (dec_BER_PDU27('A0800A01020000'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1298 if (dec_BER_PDU27('A0040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1299 if (dec_BER_PDU27('A081040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);}
1300 if (dec_BER_PDU27('A0030A0103'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1301 if (dec_BER_PDU27('A0800A01030000'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1302 if (dec_BER_PDU27('A0040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1303 if (dec_BER_PDU27('A081040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);}
1304 if (dec_BER_PDU27('A0030A0105'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1305 if (dec_BER_PDU27('A0800A01050000'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1306 if (dec_BER_PDU27('A0040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1307 if (dec_BER_PDU27('A081040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);}
1308 if (dec_BER_PDU27('A0030A0106'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1309 if (dec_BER_PDU27('A0800A01060000'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1310 if (dec_BER_PDU27('A0040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1311 if (dec_BER_PDU27('A081040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);}
1312
1313 }
1314
1315 //===========================================
1316 // CER + DER coding of REAL, (unified)
1317 //===========================================
1318 testcase tc_CER_DER_coding_of_real() runs on Test_CT {
1319 if ((enc_DER_PDU28(b1_28) == '0900'O)and(enc_CER_PDU28(b1_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1320 if ((enc_DER_PDU28(b2_28) == '0900'O)and(enc_CER_PDU28(b2_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1321 if ((enc_DER_PDU28(b3_28) == '0900'O)and(enc_CER_PDU28(b3_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1322 if ((enc_DER_PDU28(b4_28) == '0900'O)and(enc_CER_PDU28(b4_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1323 if ((enc_DER_PDU28(b5_28) == '0900'O)and(enc_CER_PDU28(b5_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1324 if ((enc_DER_PDU28(b6_28) == '0900'O)and(enc_CER_PDU28(b6_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1325 if ((enc_DER_PDU28(b7_28) == '0900'O)and(enc_CER_PDU28(b7_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1326 if ((enc_DER_PDU28(b8_28) == '0900'O)and(enc_CER_PDU28(b8_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1327 if ((enc_DER_PDU28(b9_28) == '0900'O)and(enc_CER_PDU28(b9_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1328 if ((enc_DER_PDU28(b10_28) == '0900'O)and(enc_CER_PDU28(b10_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1329 if ((enc_DER_PDU28(b11_28) == '0900'O)and(enc_CER_PDU28(b11_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1330 if ((enc_DER_PDU28(b12_28) == '0900'O)and(enc_CER_PDU28(b12_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1331 if ((enc_DER_PDU28(b13_28) == '0900'O)and(enc_CER_PDU28(b13_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1332 if ((enc_DER_PDU28(b14_28) == '0900'O)and(enc_CER_PDU28(b14_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);}
1333 if ((enc_DER_PDU28(b15_28) == '090603312E452B30'O)and(enc_CER_PDU28(b15_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1334 if ((enc_DER_PDU28(b16_28) == '090603312E452B30'O)and(enc_CER_PDU28(b16_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1335 if ((enc_DER_PDU28(b17_28) == '090603312E452B30'O)and(enc_CER_PDU28(b17_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1336 if ((enc_DER_PDU28(b18_28) == '090603312E452B30'O)and(enc_CER_PDU28(b18_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1337 if ((enc_DER_PDU28(b19_28) == '090603312E452B30'O)and(enc_CER_PDU28(b19_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1338 if ((enc_DER_PDU28(b20_28) == '090603312E452B30'O)and(enc_CER_PDU28(b20_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1339 if ((enc_DER_PDU28(b21_28) == '090603312E452B30'O)and(enc_CER_PDU28(b21_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1340 if ((enc_DER_PDU28(b22_28) == '090603312E452B30'O)and(enc_CER_PDU28(b22_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1341 if ((enc_DER_PDU28(b23_28) == '090603312E452B30'O)and(enc_CER_PDU28(b23_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1342 if ((enc_DER_PDU28(b24_28) == '090603312E452B30'O)and(enc_CER_PDU28(b24_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1343 if ((enc_DER_PDU28(b25_28) == '090603312E452B30'O)and(enc_CER_PDU28(b25_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1344 if ((enc_DER_PDU28(b26_28) == '090603312E452B30'O)and(enc_CER_PDU28(b26_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1345 if ((enc_DER_PDU28(b27_28) == '090603312E452B30'O)and(enc_CER_PDU28(b27_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1346 if ((enc_DER_PDU28(b28_28) == '090603322E452B30'O)and(enc_CER_PDU28(b28_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1347 if ((enc_DER_PDU28(b29_28) == '090603322E452B30'O)and(enc_CER_PDU28(b29_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1348 if ((enc_DER_PDU28(b30_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b30_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1349 if ((enc_DER_PDU28(b31_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b31_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1350 if ((enc_DER_PDU28(b32_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b32_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1351 if ((enc_DER_PDU28(b33_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b33_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1352 if ((enc_DER_PDU28(b34_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b34_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1353 if ((enc_DER_PDU28(b35_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b35_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1354 if ((enc_DER_PDU28(b36_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b36_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1355 if ((enc_DER_PDU28(b37_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b37_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1356 if ((enc_DER_PDU28(b38_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b38_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1357 if ((enc_DER_PDU28(b39_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b39_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1358 if ((enc_DER_PDU28(b40_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b40_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1359 if ((enc_DER_PDU28(b41_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b41_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1360 if ((enc_DER_PDU28(b42_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b42_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1361 if ((enc_DER_PDU28(b43_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b43_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1362 if ((enc_DER_PDU28(b44_28) == '090603312E452B30'O)and(enc_CER_PDU28(b44_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1363 if ((enc_DER_PDU28(b45_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b45_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1364 if ((enc_DER_PDU28(b46_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b46_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1365 if ((enc_DER_PDU28(b47_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b47_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1366 if ((enc_DER_PDU28(b48_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b48_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1367 if ((enc_DER_PDU28(b49_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b49_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1368 if ((enc_DER_PDU28(b50_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b50_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1369 if ((enc_DER_PDU28(b51_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b51_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1370 if ((enc_DER_PDU28(b52_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b52_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1371 if ((enc_DER_PDU28(b53_28) == '09070333342E452D32'O)and(enc_CER_PDU28(b53_28) == '09070333342E452D32'O)) {setverdict(pass);} else {setverdict(fail);}
1372 if ((enc_DER_PDU28(b54_28) == '0908033334342E452D33'O)and(enc_CER_PDU28(b54_28) == '0908033334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1373 if ((enc_DER_PDU28(b55_28) == '0908033334352E452D33'O)and(enc_CER_PDU28(b55_28) == '0908033334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1374 if ((enc_DER_PDU28(b56_28) == '09070333342E452D33'O)and(enc_CER_PDU28(b56_28) == '09070333342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1375 if ((enc_DER_PDU28(b57_28) == '09070333342E452D34'O)and(enc_CER_PDU28(b57_28) == '09070333342E452D34'O)) {setverdict(pass);} else {setverdict(fail);}
1376 if ((enc_DER_PDU28(b58_28) == '0908033330342E452D33'O)and(enc_CER_PDU28(b58_28) == '0908033330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1377 if ((enc_DER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1378 if ((enc_DER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1379 if ((enc_DER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)and(enc_CER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);}
1380 if ((enc_DER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1381 if ((enc_DER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1382 if ((enc_DER_PDU28(b64_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b64_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1383 if ((enc_DER_PDU28(b65_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b65_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1384 if ((enc_DER_PDU28(b66_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b66_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1385 if ((enc_DER_PDU28(b67_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b67_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1386 if ((enc_DER_PDU28(b68_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b68_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1387 if ((enc_DER_PDU28(b69_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b69_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1388 if ((enc_DER_PDU28(b70_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b70_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1389 if ((enc_DER_PDU28(b71_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b71_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1390 if ((enc_DER_PDU28(b72_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b72_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1391 if ((enc_DER_PDU28(b73_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b73_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1392 if ((enc_DER_PDU28(b74_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b74_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1393 if ((enc_DER_PDU28(b75_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b75_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1394 if ((enc_DER_PDU28(b76_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b76_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1395 if ((enc_DER_PDU28(b77_28) == '0908032D33342E452D32'O)and(enc_CER_PDU28(b77_28) == '0908032D33342E452D32'O)) {setverdict(pass);} else {setverdict(fail);}
1396 if ((enc_DER_PDU28(b78_28) == '0909032D3334342E452D33'O)and(enc_CER_PDU28(b78_28) == '0909032D3334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1397 if ((enc_DER_PDU28(b79_28) == '0909032D3334352E452D33'O)and(enc_CER_PDU28(b79_28) == '0909032D3334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1398 if ((enc_DER_PDU28(b80_28) == '0908032D33342E452D33'O)and(enc_CER_PDU28(b80_28) == '0908032D33342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1399 if ((enc_DER_PDU28(b81_28) == '0908032D33342E452D34'O)and(enc_CER_PDU28(b81_28) == '0908032D33342E452D34'O)) {setverdict(pass);} else {setverdict(fail);}
1400 if ((enc_DER_PDU28(b82_28) == '0909032D3330342E452D33'O)and(enc_CER_PDU28(b82_28) == '0909032D3330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);}
1401 if ((enc_DER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1402 if ((enc_DER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);}
1403 if ((enc_DER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)and(enc_CER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);}
1404 if ((enc_DER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1405 if ((enc_DER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1406 if ((enc_DER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1407 if ((enc_DER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1408 if ((enc_DER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);}
1409 if ((enc_DER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1410 if ((enc_DER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1411 if ((enc_DER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);}
1412 if ((enc_DER_PDU28(b94_28) == '090140'O)and(enc_CER_PDU28(b94_28) == '090140'O)) {setverdict(pass);} else {setverdict(fail);}
1413 if ((enc_DER_PDU28(b95_28) == '090141'O)and(enc_CER_PDU28(b95_28) == '090141'O)) {setverdict(pass);} else {setverdict(fail);}
1414 }
1415
1416 //===========================================
1417 // CER + DER encoding of REAL, 1 , IMPLICIT TAG
1418 //===========================================
1419 testcase tc_CER_DER_coding_of_real_1_implicit() runs on Test_CT {
1420 if ((enc_DER_PDU29(b_29) == '800603312E452B30'O)and(enc_CER_PDU29(b_29) == '800603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
1421 }
1422
1423 //===========================================
1424 // CER + DER encoding of REAL, 1 , EXPLICIT TAG
1425 //===========================================
1426 testcase tc_CER_DER_coding_of_real_1_explicit() runs on Test_CT {
1427 if ((enc_DER_PDU30(b_30) == 'A008090603312E452B30'O)and(enc_CER_PDU30(b_30) == 'A080090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);}
1428 }
1429 //===========================================
1430 // CER + DER coding of BIT STRING, (unified)
1431 //===========================================
1432 testcase tc_CER_DER_coding_of_bitstring() runs on Test_CT {
1433 const BERPDU31 b1 := ''B
1434 const BERPDU31 b2 := '1'B
1435 const BERPDU31 b3 := '1010101'B
1436 const BERPDU31 b4 := '10101010'B
1437 const BERPDU31 b5 := '111100001'B
1438 if ((enc_DER_PDU31(b1) == '030100'O)and(enc_CER_PDU31(b1) == '030100'O)) {setverdict(pass);} else {setverdict(fail);}
1439 if ((enc_DER_PDU31(b2) == '03020780'O)and(enc_CER_PDU31(b2) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);}
1440 if ((enc_DER_PDU31(b3) == '030201AA'O)and(enc_CER_PDU31(b3) == '030201AA'O)) {setverdict(pass);} else {setverdict(fail);}
1441 if ((enc_DER_PDU31(b4) == '030200AA'O)and(enc_CER_PDU31(b4) == '030200AA'O)) {setverdict(pass);} else {setverdict(fail);}
1442 if ((enc_DER_PDU31(b5) == '030307F080'O)and(enc_CER_PDU31(b5) == '030307F080'O)) {setverdict(pass);} else {setverdict(fail);}
1443 if ((enc_DER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1444 and(enc_CER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1445 if ((enc_DER_PDU31(b7_31) == '038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1446 and(enc_CER_PDU31(b7_31) == '2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1447 if (dec_BER_PDU31('030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1448 if (dec_BER_PDU31('2303030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1449 if (dec_BER_PDU31('2306030100030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1450 if (dec_BER_PDU31('23800301000000'O) == b8_31){setverdict(pass);} else {setverdict(fail);}
1451 if (dec_BER_PDU31('03020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1452 if (dec_BER_PDU31('0381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1453 if (dec_BER_PDU31('230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1454 if (dec_BER_PDU31('23050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1455 if (dec_BER_PDU31('2381050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1456 if (dec_BER_PDU31('238003810207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1457 if (dec_BER_PDU31('23080302078003020780'O) == b10_31){setverdict(pass);} else {setverdict(fail);}
1458 if (dec_BER_PDU31('2306230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1459 if (dec_BER_PDU31('030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1460 if (dec_BER_PDU31('03810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1461 if (dec_BER_PDU31('2304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1462 if (dec_BER_PDU31('230503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1463 if (dec_BER_PDU31('23810503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1464 if (dec_BER_PDU31('238003810201AA0000'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1465 if (dec_BER_PDU31('2308030201AA030201AA'O) == b12_31){setverdict(pass);} else {setverdict(fail);}
1466 if (dec_BER_PDU31('23062304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);}
1467 if (dec_BER_PDU31('030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1468 if (dec_BER_PDU31('03810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1469 if (dec_BER_PDU31('2304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1470 if (dec_BER_PDU31('230503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1471 if (dec_BER_PDU31('23810503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1472 if (dec_BER_PDU31('238003810200AA0000'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1473 if (dec_BER_PDU31('2308030200AA030200AA'O) == b14_31){setverdict(pass);} else {setverdict(fail);}
1474 if (dec_BER_PDU31('23062304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);}
1475 if (dec_BER_PDU31( '030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1476 if (dec_BER_PDU31('03810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1477 if (dec_BER_PDU31('2305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1478 if (dec_BER_PDU31('230603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1479 if (dec_BER_PDU31('23810603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1480 if (dec_BER_PDU31('238003810307F0800000'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1481 if (dec_BER_PDU31('230A030307F080030307F080'O) == b16_31){setverdict(pass);} else {setverdict(fail);}
1482 if (dec_BER_PDU31('23072305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);}
1483 if (dec_BER_PDU31('038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1484 if (dec_BER_PDU31('03830003E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1485 if (dec_BER_PDU31('238203EC038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1486 if (dec_BER_PDU31('2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b17_31){setverdict(pass);} else {setverdict(fail);}
1487 if (dec_BER_PDU31('238207D8038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b18_31){setverdict(pass);} else {setverdict(fail);}
1488 if (dec_BER_PDU31('038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);}
1489 if (dec_BER_PDU31('238203F0038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF'O) == b19_31){setverdict(pass);} else {setverdict(fail);}
1490 if (dec_BER_PDU31('238203ED038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);}
1491 if (dec_BER_PDU33('A080030207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1492 if (dec_BER_PDU33('A00403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);}
1493
1494 }
1495 //===========================================
1496 // CER + DER coding of BIT STRING, length = 1, IMPLICIT TAG (primitive)
1497 //===========================================
1498 testcase tc_CER_DER_coding_of_bitstring_length1_implicit() runs on Test_CT {
1499 const BERPDU32 b := '1'B
1500 if ((enc_DER_PDU32(b) == '80020780'O)and(enc_CER_PDU32(b) == '80020780'O)) {setverdict(pass);} else {setverdict(fail);}
1501 if (dec_BER_PDU32('80020780'O) == b_32){setverdict(pass);} else {setverdict(fail);}
1502 }
1503
1504 //===========================================
1505 // CER + DER encoding of BIT STRING, length = 1, EXPLICIT TAG (constructed)
1506 //===========================================
1507 testcase tc_CER_DER_coding_of_bitstring_length1_explicit() runs on Test_CT {
1508 const BERPDU33 b := '1'B
1509 if ((enc_DER_PDU33(b) == 'A00403020780'O)and(enc_CER_PDU33(b) == 'A080030207800000'O)) {setverdict(pass);} else {setverdict(fail);}
1510
1511 }
1512
1513 //===========================================
1514 // CER + DER coding of OCTETSTRING, (unified)
1515 //===========================================
1516 testcase tc_CER_DER_coding_of_OCTETSTRING() runs on Test_CT {
1517 const BERPDU34 b1_34 := ''O
1518 const BERPDU34 b2_34 := 'FFFF'O
1519 const BERPDU34 b3_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O
1520 const BERPDU34 b4_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O
1521 if ((enc_DER_PDU34(b1_34) == '0400'O)and(enc_CER_PDU34(b1_34) == '0400'O)) {setverdict(pass);} else {setverdict(fail);}
1522 if ((enc_DER_PDU34(b2_34) == '0402FFFF'O)and(enc_CER_PDU34(b2_34) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1523 if ((enc_DER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1524 and(enc_CER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1525 if ((enc_DER_PDU34(b4_34) == '048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1526 and(enc_CER_PDU34(b4_34) == '2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1527
1528 if (dec_BER_PDU34('0400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1529 if (dec_BER_PDU34('24020400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1530 if (dec_BER_PDU34('240404000400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1531 if (dec_BER_PDU34('248004000000'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1532 if (dec_BER_PDU34('0402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1533 if (dec_BER_PDU34('048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1534 if (dec_BER_PDU34('24040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1535 if (dec_BER_PDU34('2405048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1536 if (dec_BER_PDU34('248105048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1537 if (dec_BER_PDU34('24800402FFFF0000'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1538 if (dec_BER_PDU34('24080402FFFF0402FFFF'O) == b7_34){setverdict(pass);} else {setverdict(fail);}
1539 if (dec_BER_PDU34('240624040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1540 if (dec_BER_PDU34('048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1541 if (dec_BER_PDU34('04830003E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1542 if (dec_BER_PDU34('248203EC048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1543 if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1544 if (dec_BER_PDU34('248207D8048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b9_34){setverdict(pass);} else {setverdict(fail);}
1545 if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1546 if (dec_BER_PDU34('048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1547 if (dec_BER_PDU34('248203ED048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1548
1549 if (dec_BER_PDU36('A0040402FFFF'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);}
1550
1551 }//tc_
1552
1553 //===========================================
1554 // CER + DER encoding of OCTETSTRING, IMPLICIT TAG length = 2 (primitive)
1555 //===========================================
1556 testcase tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2() runs on Test_CT {
1557 const BERPDU35 b := 'FFFF'O
1558 if ((enc_DER_PDU35(b) == '8002FFFF'O)and(enc_CER_PDU35(b) == '8002FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
1559 if (dec_BER_PDU35('8002FFFF'O) == myIntegerValue_35) {setverdict(pass);} else {setverdict(fail);}
1560 }
1561
1562 //===========================================
1563 // CER + DER encoding of OCTETSTRING, EXPLICIT TAG length = 2 (primitive)
1564 //===========================================
1565 testcase tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2() runs on Test_CT {
1566 const BERPDU36 b := 'FFFF'O
1567 if ((enc_DER_PDU36(b) == 'A0040402FFFF'O)and(enc_CER_PDU36(b) == 'A0800402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1568 if (dec_BER_PDU36('A0800402FFFF0000'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);}
1569 }
1570
1571 //===========================================
1572 // DER + CER coding of NULL (unified)
1573 //===========================================
1574 testcase tc_CER_DER_coding_of_NULL() runs on Test_CT {
1575 const BERPDU37 b := NULL;
1576 if ((enc_DER_PDU37(b) == '0500'O)and(enc_CER_PDU37(b) == '0500'O)) {setverdict(pass);} else {setverdict(fail);}
1577 if (dec_BER_PDU37('0500'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);}
1578 if (dec_BER_PDU37('058100'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);}
1579 if (dec_BER_PDU37('05820000'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);}
1580 }
1581 //===========================================
1582 // DER + CER coding of NULL with Context Specific TAG, EXPLICIT (unified)
1583 //===========================================
1584 testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit() runs on Test_CT {
1585 const BERPDU38 b := NULL;
1586 if ((enc_DER_PDU38(b) == 'A0020500'O)and(enc_CER_PDU38(b) == 'A08005000000'O)) {setverdict(pass);} else {setverdict(fail);}
1587 if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1588 if (dec_BER_PDU38('A08005000000'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1589 if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1590 if (dec_BER_PDU38('A081020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1591 if (dec_BER_PDU38('A08103058100'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);}
1592 }
1593
1594 //===========================================
1595 // DER + CER coding of NULL with PRIVATE TAG, EXPLICIT (unified)
1596 //===========================================
1597 testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit() runs on Test_CT {
1598 const BERPDU39 b := NULL;
1599 if ((enc_DER_PDU39(b) == 'E1020500'O)and(enc_CER_PDU39(b) == 'E18005000000'O)) {setverdict(pass);} else {setverdict(fail);}
1600 if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1601 if (dec_BER_PDU39('E18005000000'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1602 if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1603 if (dec_BER_PDU39('E181020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1604 if (dec_BER_PDU39('E18103058100'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);}
1605 }
1606 //===========================================
1607 // DER + CER coding of NULL with APPLICATION TAG, EXPLICIT (unified)
1608 //===========================================
1609 testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit() runs on Test_CT {
1610 const BERPDU40 b := NULL;
1611 if ((enc_DER_PDU40(b) == '62020500'O)and(enc_CER_PDU40(b) == '628005000000'O)) {setverdict(pass);} else {setverdict(fail);}
1612 if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1613 if (dec_BER_PDU40('628005000000'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1614 if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1615 if (dec_BER_PDU40('6281020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1616 if (dec_BER_PDU40('628103058100'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);}
1617 }
1618
1619 //===========================================
1620 // DER + CER encoding of NULL with Context Specific TAG, IMPLICIT (unified)
1621 //===========================================
1622 testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit() runs on Test_CT {
1623 const BERPDU40 b := NULL;
1624 if ((enc_DER_PDU41(b) == '8000'O)and(enc_CER_PDU41(b) == '8000'O)) {setverdict(pass);} else {setverdict(fail);}
1625 if (dec_BER_PDU41('8000'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);}
1626 if (dec_BER_PDU41('808100'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);}
1627 }
1628
1629 //===========================================
1630 // DER + CER encoding of NULL with PRIVATE TAG, IMPLICIT (unified)
1631 //===========================================
1632 testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit() runs on Test_CT {
1633 const BERPDU42 b := NULL;
1634 if ((enc_DER_PDU42(b) == 'C100'O)and(enc_CER_PDU42(b) == 'C100'O)) {setverdict(pass);} else {setverdict(fail);}
1635 if (dec_BER_PDU42('C100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);}
1636 if (dec_BER_PDU42('C18100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);}
1637 }
1638
1639 //===========================================
1640 // DER + CER encoding of NULL with APPLICATION TAG, IMPLICIT (unified)
1641 //===========================================
1642 testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit() runs on Test_CT {
1643 const BERPDU43 b := NULL;
1644 if ((enc_DER_PDU43(b) == '4200'O)and(enc_CER_PDU43(b) == '4200'O)) {setverdict(pass);} else {setverdict(fail);}
1645 if (dec_BER_PDU43('4200'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);}
1646 if (dec_BER_PDU43('428100'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);}
1647 }
1648 //===========================================
1649 // CER + DER encoding of SEQUENCE (unified)
1650 //===========================================
1651 testcase tc_CER_DER_encoding_of_SEQUENCE() runs on Test_CT {
1652 const BERPDU44 myValue1 := {b := omit,
1653 c := omit }
1654 const BERPDU44 myValue2 := {b := true,
1655 c := omit }
1656 const BERPDU44 myValue3 := {b := true,
1657 c := 5 }
1658 if ((enc_DER_PDU44(myValue1) == '3000'O)and(enc_CER_PDU44(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);}
1659 if ((enc_DER_PDU44(myValue2) == '30030101FF'O)and(enc_CER_PDU44(myValue2) == '30800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1660 if ((enc_DER_PDU44(myValue3) == '30060101FF020105'O)and(enc_CER_PDU44(myValue3) == '30800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1661 if (dec_BER_PDU44('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1662 if (dec_BER_PDU44('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1663 if (dec_BER_PDU44('30030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1664 if (dec_BER_PDU44('30800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1665 if (dec_BER_PDU44('30060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1666 if (dec_BER_PDU44('30800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1667 }
1668
1669 //===========================================
1670 // CER + DER encoding of SEQUENCE (one element is equal to Default) (unified)
1671 //===========================================
1672 testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault() runs on Test_CT {
1673 const BERPDU45 myValue1 := { b := true, c := 5 }
1674 const BERPDU45 myValue2 := { b := false, c := 5 }
1675
1676 if ((enc_DER_PDU45(myValue1) == '3003020105'O)and(enc_CER_PDU45(myValue1) == '30800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1677 if ((enc_DER_PDU45(myValue2) == '3006010100020105'O)and(enc_CER_PDU45(myValue2) == '30800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1678 if (dec_BER_PDU45('3003020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1679 if (dec_BER_PDU45('30800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1680 if (dec_BER_PDU45('3006010100020105'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1681 if (dec_BER_PDU45('30800101000201050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1682 }
1683
1684 //===========================================
1685 // CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements
1686 //===========================================
1687 testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements() runs on Test_CT {
1688 const BERPDU48 myValue := {b := true,
1689 c := 5 }
1690 if ((enc_DER_PDU48(myValue) == '30079E01FF9F1F0105'O)and(enc_CER_PDU48(myValue) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
1691 if (dec_BER_PDU48('30079E01FF9F1F0105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1692 if (dec_BER_PDU48('30809E01FF9F1F01050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1693 }
1694 //===========================================
1695 // CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements
1696 //===========================================
1697 testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements() runs on Test_CT {
1698 const BERPDU49 myValue := {b := true,
1699 c := 5 }
1700 if ((enc_DER_PDU49(myValue) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU49(myValue) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
1701 if (dec_BER_PDU49('300BBE030101FFBF1F03020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1702 if (dec_BER_PDU49('3080BE800101FF0000BF1F8002010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1703
1704 }
1705
1706 //===========================================
1707 // CER + DER encoding of TAGGED SEQUENCE (both elements are used)
1708 //===========================================
1709 testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed() runs on Test_CT {
1710 const BERPDU50 myValue := {b := true,
1711 c := 5 }
1712 if ((enc_DER_PDU50(myValue) == 'A00830060101FF020105'O)and(enc_CER_PDU50(myValue) == 'A08030800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
1713 if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1714 if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1715 if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1716 if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1717 }
1718
1719 //===========================================
1720 // CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used)
1721 //===========================================
1722 testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed() runs on Test_CT {
1723 const BERPDU54 myValue := {b := true,
1724 c := 5 }
1725 if ((enc_DER_PDU54(myValue) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU54(myValue) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
1726 if (dec_BER_PDU54('A00C300AA0030101FFA103020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1727 if (dec_BER_PDU54('A0803080A0800101FF0000A180020105000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1728 }
1729
1730 //===========================================
1731 // CER + DER encoding of SEQUENCE with CHOICE element
1732 //===========================================
1733 testcase tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement() runs on Test_CT {
1734 const BERPDU65 myValue := {b := {x := true},
1735 c := 4
1736 }
1737 if ((enc_DER_PDU65(myValue) == '30060101FF020104'O)and(enc_CER_PDU65(myValue) == '30800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
1738 if (dec_BER_PDU65('30060101FF020104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1739 if (dec_BER_PDU65('30800101FF0201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1740
1741 }
1742
1743 //===========================================
1744 // CER + DER encoding of SEQUENCE with fields of different types
1745 //===========================================
1746 testcase tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT {
1747 const BERPDU67 myValue_67 := {a := NULL,
1748 b := true,
1749 c := 2,
1750 d := first,
1751 e := 1.0,
1752 f := '1'B,
1753 g := 'FFFF'O,
1754 h := myOBJID_67,
1755 i := "ABC",
1756 j := {x1 := true } ,
1757 k := {x2 := NULL,
1758
1759 y2 := true } ,
1760 l := {y3 := 1.0 ,
1761
1762 x3 := '1'B } ,
1763 m :=
1764 { 1 ,2 } ,
1765 n :=
1766 { true, true }
1767 }
1768
1769 if ((enc_DER_PDU67(myValue_67) == '305305000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1030101FF300505000101FF310C03020780090603312E452B30A3083006020101020102A40831060101FF0101FF'O) and(enc_CER_PDU67(myValue_67) == '308005000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1800101FF0000308005000101FF0000318003020780090603312E452B300000A380308002010102010200000000A48031800101FF0101FF000000000000'O))
1770 {setverdict(pass);} else {setverdict(fail);}
1771
1772 }
1773
1774 //===========================================
1775 // DECODING , DER, SEQUENCE with fields of different types , (unified)
1776 //===========================================
1777 testcase tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT {
1778 const BERPDU69 myValue := {a := NULL,
1779 b := true,
1780 c := 2,
1781 d := first,
1782 // e := 1.0,
1783 f := '1'B,
1784 g := 'FFFF'O,
1785 h := myOBJID_69,
1786 i := "ABC",
1787 j := {x1 := true } ,
1788 k := {x2 := NULL,
1789
1790 y2 := true } ,
1791 l := {y3 := NULL ,
1792
1793 x3 := '1'B } ,
1794 m :=
1795 { 1 ,2 } ,
1796 n :=
1797 { true, true }
1798 }
1799 if (dec_BER_PDU69('304505000101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1800 if (dec_BER_PDU69('308005000101FF0201020A0100030207800402FFFF06030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1801
1802 }
1803
1804 //===========================================
1805 // CER + DER encoding of SEQUENCE OF INTEGER (empty) (unified)
1806 //===========================================
1807 testcase tc_CER_DER_coding_of_SEQUENCEOFinteger_empty() runs on Test_CT {
1808 const BERPDU71 myValue := { }
1809 if ((enc_DER_PDU71(myValue) == '3000'O)and(enc_CER_PDU71(myValue) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);}
1810 if (dec_BER_PDU71('3000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1811 if (dec_BER_PDU71('30800000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1812
1813 }
1814
1815 //===========================================
1816 // CER + DER encoding of SEQUENCE OF BOOLEAN (unified)
1817 //===========================================
1818 testcase tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN() runs on Test_CT {
1819 const BERPDU72 myValue := {true, false }
1820 if ((enc_DER_PDU72(myValue) == '30060101FF010100'O)and(enc_CER_PDU72(myValue) == '30800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);}
1821 if (dec_BER_PDU72('30060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1822 if (dec_BER_PDU72('30800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1823 }
1824
1825 //===========================================
1826 // CER + DER encoding of SEQUENCE OF OCTET STRING (unified)
1827 //===========================================
1828 testcase tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING() runs on Test_CT {
1829 const BERPDU73 myValue := {'FFFF'O, 'AB'O };
1830 if ((enc_DER_PDU73(myValue) == '30070402FFFF0401AB'O)and(enc_CER_PDU73(myValue) == '30800402FFFF0401AB0000'O)) {setverdict(pass);} else {setverdict(fail);}
1831 if (dec_BER_PDU73('30070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1832 if (dec_BER_PDU73('30800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1833 }
1834
1835 //===========================================
1836 // CER + DER encoding of SEQUENCE OF SEQUENCE (unified)
1837 //===========================================
1838 testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE() runs on Test_CT {
1839 const BERPDU74 myValue := {
1840 {
1841 a := 5,
1842 b := true
1843 },
1844 {
1845 a := 3,
1846 b := false
1847 }
1848 };
1849
1850 if ((enc_DER_PDU74(myValue) == '301030060201050101FF3006020103010100'O)and(enc_CER_PDU74(myValue) == '308030800201050101FF0000308002010301010000000000'O))
1851 {setverdict(pass);} else {setverdict(fail);}
1852 if (dec_BER_PDU74('301030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1853 if (dec_BER_PDU74('308030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1854
1855 }
1856
1857 //===========================================
1858 // CER + DER encoding of SEQUENCE OF SET (unified)
1859 //===========================================
1860 testcase tc_CER_DER_coding_of_SEQUENCEOFSET() runs on Test_CT {
1861 const BERPDU75 myValue := {
1862 {
1863 a := 5,
1864 b := true
1865 },
1866 {
1867 a := 3,
1868 b := false
1869 }
1870 };
1871 if ((enc_DER_PDU75(myValue) == '301031060101FF0201053106010100020103'O)and(enc_CER_PDU75(myValue) == '308031800101FF0201050000318001010002010300000000'O))
1872 {setverdict(pass);} else {setverdict(fail);}
1873 if (dec_BER_PDU75('301031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1874 if (dec_BER_PDU75('308031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1875
1876 }
1877
1878 //===========================================
1879 // CER + DER encoding of SEQUENCE OF SEQUENCE OF (unified)
1880 //===========================================
1881 testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF() runs on Test_CT {
1882 const BERPDU76 myValue := {
1883 {
1884 5,
1885 6,
1886 7
1887 },
1888 {
1889 1,
1890 2,
1891 3
1892 }
1893 };
1894
1895 if ((enc_DER_PDU76(myValue) == '301630090201050201060201073009020101020102020103'O)and(enc_CER_PDU76(myValue) == '308030800201050201060201070000308002010102010202010300000000'O))
1896 {setverdict(pass);} else {setverdict(fail);}
1897 if (dec_BER_PDU76('301630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1898 if (dec_BER_PDU76('308030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1899
1900
1901 }
1902
1903 //===========================================
1904 // CER + DER encoding of SEQUENCE OF CHOICE (unified)
1905 //===========================================
1906 testcase tc_CER_DER_coding_of_SEQUENCEOFCHOICE() runs on Test_CT {
1907 const BERPDU77 myValue := {
1908 {
1909 a := 5
1910 },
1911 {
1912 b := false
1913 }
1914 };
1915 if ((enc_DER_PDU77(myValue) == '3006020105010100'O)and(enc_CER_PDU77(myValue) == '30800201050101000000'O)) {setverdict(pass);} else {setverdict(fail);}
1916 if (dec_BER_PDU77('3006020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1917 if (dec_BER_PDU77('30800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1918
1919 }
1920
1921
1922 //===========================================
1923 // CER + DER encoding of SEQUENCE OF SETOF (unified)
1924 //===========================================
1925 testcase tc_CER_DER_coding_of_SEQUENCEOFSETOF() runs on Test_CT {
1926 const BERPDU78 myValue := {
1927 {
1928 5,
1929 6,
1930 7
1931 },
1932 {
1933 1,
1934 2,
1935 3
1936 }
1937 };
1938 if ((enc_DER_PDU78(myValue) == '301631090201050201060201073109020101020102020103'O)and(enc_CER_PDU78(myValue) == '308031800201050201060201070000318002010102010202010300000000'O))
1939 {setverdict(pass);} else {setverdict(fail);}
1940 if (dec_BER_PDU78('301631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1941 if (dec_BER_PDU78('308031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1942
1943
1944 }
1945
1946 //===========================================
1947 // CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN (unified)
1948 //===========================================
1949 testcase tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN() runs on Test_CT {
1950 const BERPDU79 myValue := {true, false }
1951 if ((enc_DER_PDU79(myValue) == 'A00830060101FF010100'O)and(enc_CER_PDU79(myValue) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);}
1952 if (dec_BER_PDU79('A00830060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1953 if (dec_BER_PDU79('A08030800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
1954
1955 }
1956
1957 //===========================================
1958 // CER + DER encoding of SET (EMPTY) (unified)
1959 //===========================================
1960 testcase tc_CER_DER_coding_of_SET_empty() runs on Test_CT {
1961 const BERPDU82 myValue1 := {b := omit,
1962 c := omit }
1963 const BERPDU82 myValue2 := {b := true,
1964 c := omit }
1965 const BERPDU82 myValue3 := {b := true,
1966 c := 5 }
1967 const BERPDU82 myValue4 := { c := 5,
1968 b := true }
1969 if ((enc_DER_PDU82(myValue1) == '3100'O)and(enc_CER_PDU82(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
1970 if ((enc_DER_PDU82(myValue2) == '31030101FF'O)and(enc_CER_PDU82(myValue2) == '31800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1971 if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1972 if ((enc_DER_PDU82(myValue4) == '31060101FF020105'O)and(enc_CER_PDU82(myValue4) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1973 if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1974 if (dec_BER_PDU82('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1975 if (dec_BER_PDU82('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1976 if (dec_BER_PDU82('31030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1977 if (dec_BER_PDU82('31800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
1978 if (dec_BER_PDU82('31060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1979 if (dec_BER_PDU82('31800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1980 if (dec_BER_PDU82('31060201050101FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1981 }
1982 //===========================================
1983 // CER + DER encoding of SET (one element is equal to Default) (unified)
1984 //===========================================
1985 testcase tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default() runs on Test_CT {
1986 const BERPDU83 myValue1 := {b := true, c := 5 }
1987 const BERPDU83 myValue2 := {c := 5, b := true }
1988 const BERPDU83 myValue3 := {b := false, c := 5 }
1989 const BERPDU83 myValue4 := {c := 5, b := false }
1990 if ((enc_DER_PDU83(myValue1) == '3103020105'O)and(enc_CER_PDU83(myValue1) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1991 if ((enc_DER_PDU83(myValue2) == '3103020105'O)and(enc_CER_PDU83(myValue2) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1992 if ((enc_DER_PDU83(myValue3) == '3106010100020105'O)and(enc_CER_PDU83(myValue3) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1993 if ((enc_DER_PDU83(myValue4) == '3106010100020105'O)and(enc_CER_PDU83(myValue4) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
1994 if (dec_BER_PDU83('3103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1995 if (dec_BER_PDU83('31800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1996 if (dec_BER_PDU83('31060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1997 if (dec_BER_PDU83('31800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
1998 if (dec_BER_PDU83('3106010100020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
1999 if (dec_BER_PDU83('31800101000201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2000 if (dec_BER_PDU83('3106020105010100'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2001 if (dec_BER_PDU83('31800201050101000000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2002 }
2003 //===========================================
2004 // encoding of SET (different order2) (one element is not equal to Default)
2005 //===========================================
2006 testcase tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default() runs on Test_CT {
2007 const BERPDU84 myValue:= {c := 5, b := false }
2008 if ((enc_DER_PDU84(myValue) == '3106010100020105'O)and(enc_CER_PDU84(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail)};
2009 }
2010
2011 //*********************************************
2012 // CONTROL PART
2013 //*********************************************
2014
2015 control {
2016 execute(tc_DER_CER_encoding_of_BOOLEAN());
2017 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit());
2018 execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit());
2019 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit());
2020 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit());
2021 execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit());
2022 execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit());
2023 execute(tc_BER_decoding_of_BOOLEAN());
2024 execute(tc_DER_decoding_of_BOOLEAN_Explicit());
2025 execute(tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit());
2026 execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit());
2027 execute(tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit());
2028 execute(tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit());
2029 execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit());
2030 execute(tc_DER_CER_coding_of_INTEGER());
2031 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit());
2032 execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit());
2033 execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit());
2034 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit());
2035 execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit());
2036 execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit());
2037 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit());
2038 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit());
2039 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit());
2040 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit());
2041 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit());
2042 execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit());
2043 execute(tc_DER_CER_coding_of_enumerated_hardcoded_positive());
2044 execute(tc_DER_CER_coding_of_enumerated_third_no_hardcoding());
2045 execute(tc_DER_CER_coding_of_enumerated_first1());
2046 execute(tc_DER_CER_coding_of_enumerated_first2());
2047 execute(tc_DER_CER_coding_of_enumerated_tagged_explicit_6());
2048 execute(tc_DER_CER_coding_of_enumerated_tagged_implicit());
2049 execute(tc_decoding_of_explicit_tagged_enumerated());
2050 execute(tc_CER_DER_coding_of_real());
2051 execute(tc_CER_DER_coding_of_real_1_implicit());
2052 execute(tc_CER_DER_coding_of_real_1_explicit());
2053 execute(tc_CER_DER_coding_of_bitstring());
2054 execute(tc_CER_DER_coding_of_bitstring_length1_implicit());
2055 execute(tc_CER_DER_coding_of_bitstring_length1_explicit());
2056 execute(tc_CER_DER_coding_of_OCTETSTRING());
2057 execute(tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2());
2058 execute(tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2());
2059 execute(tc_CER_DER_coding_of_NULL());
2060 execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit());
2061 execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit());
2062 execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit());
2063 execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit());
2064 execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit());
2065 execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit());
2066 execute(tc_CER_DER_encoding_of_SEQUENCE());
2067 execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault());
2068 execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements());
2069 execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements());
2070 execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed());
2071 execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed());
2072 execute(tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement());
2073 execute(tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes());
2074 execute(tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes());
2075 execute(tc_CER_DER_coding_of_SEQUENCEOFinteger_empty())
2076 execute(tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN());
2077 execute(tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING());
2078 execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE());
2079 execute(tc_CER_DER_coding_of_SEQUENCEOFSET());
2080 execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF());
2081 execute(tc_CER_DER_coding_of_SEQUENCEOFCHOICE());
2082 execute(tc_CER_DER_coding_of_SEQUENCEOFSETOF());
2083 execute(tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN());
2084 execute(tc_CER_DER_coding_of_SET_empty());
2085 execute(tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default());
2086 execute(tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default());
2087
2088 }
2089
2090 <RESULT>
2091
2092 Overall verdict: pass
2093
2094 <END_TC>
2095
2096 :exmp.
2097
2098 .*---------------------------------------------------------------------*
2099 :h3.CER + DER coding, AUTOMATIC TAGGING (unified)
2100 .*---------------------------------------------------------------------*
2101 :xmp tab=0.
2102
2103 <TC - CER + DER coding, AUTOMATIC TAGGING (unified)>
2104
2105 <STATIC:ASN>
2106
2107 TempA
2108
2109 DEFINITIONS
2110 AUTOMATIC TAGS
2111 ::=
2112 BEGIN
2113
2114 IMPORTS;
2115
2116 BERPDU46 ::= SEQUENCE
2117 {
2118 b BOOLEAN OPTIONAL,
2119 c INTEGER OPTIONAL
2120 }
2121
2122 BERPDU47 ::= SEQUENCE
2123 {
2124 b BOOLEAN DEFAULT TRUE,
2125 c INTEGER OPTIONAL
2126 }
2127
2128 BERPDU51 ::= [0] SEQUENCE
2129 {
2130 b BOOLEAN OPTIONAL,
2131 c INTEGER OPTIONAL
2132 }
2133
2134 BERPDU58 ::= [0] SEQUENCE
2135 {
2136 b [0] BOOLEAN OPTIONAL,
2137 c [1] INTEGER OPTIONAL
2138 }
2139
2140 BERPDU59 ::= SEQUENCE
2141 {
2142 b [5] BOOLEAN OPTIONAL,
2143 c INTEGER OPTIONAL
2144 }
2145
2146 MySeq60 ::= SEQUENCE
2147 {x INTEGER OPTIONAL,
2148 y OCTET STRING}
2149
2150 BERPDU60 ::= SEQUENCE
2151 {
2152 b BOOLEAN OPTIONAL,
2153 c INTEGER OPTIONAL,
2154 COMPONENTS OF MySeq60
2155 }
2156
2157 MySeq61 ::= SEQUENCE
2158 {x [0] INTEGER OPTIONAL,
2159 y OCTET STRING}
2160
2161 BERPDU61 ::= SEQUENCE
2162 {
2163 b BOOLEAN OPTIONAL,
2164 c INTEGER OPTIONAL,
2165 COMPONENTS OF MySeq61
2166 }
2167
2168 MySeq62 ::= SEQUENCE
2169 {x INTEGER OPTIONAL,
2170 y OCTET STRING}
2171 BERPDU62 ::= SEQUENCE
2172 {
2173 b [0] BOOLEAN OPTIONAL,
2174 c BIT STRING OPTIONAL,
2175 COMPONENTS OF MySeq62
2176 }
2177
2178 MySeq63 ::= SEQUENCE
2179 {x [1] INTEGER OPTIONAL,
2180 y OCTET STRING}
2181
2182 BERPDU63 ::= SEQUENCE
2183 {
2184 b [0] BOOLEAN OPTIONAL,
2185 c BIT STRING OPTIONAL,
2186 COMPONENTS OF MySeq63
2187 }
2188
2189 BERPDU64 ::= SEQUENCE
2190 {
2191 b CHOICE {
2192 x BOOLEAN,
2193 y OCTET STRING
2194 }
2195 OPTIONAL,
2196 c INTEGER OPTIONAL
2197
2198 }
2199
2200 BERPDU66 ::= SEQUENCE
2201 {
2202 a OCTET STRING,
2203 b BOOLEAN,
2204 ...,
2205 d BIT STRING,
2206 ...,
2207 c INTEGER OPTIONAL
2208 }
2209
2210 BERPDU68 ::= SEQUENCE
2211 {
2212 a NULL,
2213 b BOOLEAN,
2214 c INTEGER,
2215 d ENUMERATED {first ,second ,third},
2216 e REAL,
2217 f BIT STRING,
2218 g OCTET STRING,
2219
2220 h OBJECT IDENTIFIER,
2221 i IA5String,
2222 j CHOICE {x1 BOOLEAN,
2223 y1 OCTET STRING},
2224
2225 k SEQUENCE{x2 NULL,
2226 y2 BOOLEAN},
2227
2228 l SET { x3 BIT STRING,
2229 y3 REAL},
2230
2231 m SEQUENCE OF INTEGER,
2232 n SET OF BOOLEAN
2233 }
2234
2235
2236 myOBJID-68 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2237
2238 BERPDU70 ::= SEQUENCE
2239 {
2240 a NULL,
2241 b BOOLEAN,
2242 c INTEGER,
2243 d ENUMERATED {first ,second ,third},
2244 e NULL,
2245 f BIT STRING,
2246 g OCTET STRING,
2247 h OBJECT IDENTIFIER,
2248 i IA5String,
2249 j CHOICE {x1 BOOLEAN,
2250 y1 OCTET STRING},
2251 k SEQUENCE{x2 NULL,
2252 y2 BOOLEAN},
2253 l SET { x3 BIT STRING,
2254 y3 NULL},
2255 m SEQUENCE OF INTEGER,
2256 n SET OF BOOLEAN
2257 }
2258
2259 BERPDU85 ::= SET
2260 {
2261 b BOOLEAN OPTIONAL,
2262 c INTEGER OPTIONAL
2263 }
2264
2265 BERPDU86 ::= SET
2266 {
2267
2268 c INTEGER OPTIONAL,
2269 b BOOLEAN OPTIONAL
2270 }
2271
2272 BERPDU87 ::= SET
2273 {
2274 b BOOLEAN DEFAULT TRUE,
2275 c INTEGER OPTIONAL
2276 }
2277
2278 BERPDU88 ::= SET
2279 {
2280 c INTEGER OPTIONAL,
2281 b BOOLEAN DEFAULT TRUE
2282 }
2283
2284 myOBJID-70 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2285
2286
2287
2288 END
2289
2290 <STATIC>
2291
2292 type component Test_CT {}
2293
2294 import from TempA all;
2295 external function enc_DER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2296 external function enc_CER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2297 external function dec_BER_PDU46(in octetstring stream) return BERPDU46 with { extension "prototype(convert) decode(BER)" }
2298
2299 external function enc_DER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2300 external function enc_CER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2301 external function dec_BER_PDU47(in octetstring stream) return BERPDU47 with { extension "prototype(convert) decode(BER)" }
2302
2303 external function enc_DER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2304 external function enc_CER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2305 external function dec_BER_PDU51(in octetstring stream) return BERPDU51 with { extension "prototype(convert) decode(BER)" }
2306
2307 external function enc_DER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2308 external function enc_CER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2309 external function dec_BER_PDU58(in octetstring stream) return BERPDU58 with { extension "prototype(convert) decode(BER)" }
2310
2311 external function enc_DER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2312 external function enc_CER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2313 external function dec_BER_PDU59(in octetstring stream) return BERPDU59 with { extension "prototype(convert) decode(BER)" }
2314
2315 external function enc_DER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2316 external function enc_CER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2317 external function dec_BER_PDU60(in octetstring stream) return BERPDU60 with { extension "prototype(convert) decode(BER)" }
2318
2319
2320 external function enc_DER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2321 external function enc_CER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2322 external function dec_BER_PDU61(in octetstring stream) return BERPDU61 with { extension "prototype(convert) decode(BER)" }
2323
2324 external function enc_DER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2325 external function enc_CER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2326 external function dec_BER_PDU62(in octetstring stream) return BERPDU62 with { extension "prototype(convert) decode(BER)" }
2327
2328 external function enc_DER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2329 external function enc_CER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2330 external function dec_BER_PDU63(in octetstring stream) return BERPDU63 with { extension "prototype(convert) decode(BER)" }
2331
2332 external function enc_DER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2333 external function enc_CER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2334 external function dec_BER_PDU64(in octetstring stream) return BERPDU64 with { extension "prototype(convert) decode(BER)" }
2335
2336 external function enc_DER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2337 external function enc_CER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2338 external function dec_BER_PDU66(in octetstring stream) return BERPDU66 with { extension "prototype(convert) decode(BER)" }
2339
2340 external function enc_DER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2341 external function enc_CER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2342 external function dec_BER_PDU68(in octetstring stream) return BERPDU68 with { extension "prototype(convert) decode(BER)" }
2343
2344 external function enc_DER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2345 external function enc_CER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2346 external function dec_BER_PDU70(in octetstring stream) return BERPDU70 with { extension "prototype(convert) decode(BER)" }
2347
2348 external function enc_DER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2349 external function enc_CER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2350 external function dec_BER_PDU85(in octetstring stream) return BERPDU85 with { extension "prototype(convert) decode(BER)" }
2351
2352 external function enc_DER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2353 external function enc_CER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2354 external function dec_BER_PDU86(in octetstring stream) return BERPDU86 with { extension "prototype(convert) decode(BER)" }
2355
2356 external function enc_DER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2357 external function enc_CER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2358 external function dec_BER_PDU87(in octetstring stream) return BERPDU87 with { extension "prototype(convert) decode(BER)" }
2359
2360 external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2361 external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2362 external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" }
2363
2364 <TTCN_TC:PURE_EXEC>
2365
2366 //*********************************************
2367 // TESTCASES
2368 //*********************************************
2369
2370 //===========================================
2371 // CER + DER encoding of SEQUENCE (EMPTY), AUTOMATIC TAGGING (unified)
2372 //===========================================
2373 testcase tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging() runs on Test_CT {
2374 const BERPDU46 myValue1 := {b := omit,
2375 c := omit }
2376 const BERPDU46 myValue2 := {b := true,
2377 c := omit }
2378 const BERPDU46 myValue3 := {b := true,
2379 c := 5 }
2380
2381 if ((enc_DER_PDU46(myValue1) == '3000'O)and(enc_CER_PDU46(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);}
2382 if ((enc_DER_PDU46(myValue2) == '30038001FF'O)and(enc_CER_PDU46(myValue2) == '30808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2383 if ((enc_DER_PDU46(myValue3) == '30068001FF810105'O)and(enc_CER_PDU46(myValue3) == '30808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2384 if (dec_BER_PDU46('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2385 if (dec_BER_PDU46('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2386 if (dec_BER_PDU46('30038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2387 if (dec_BER_PDU46('30808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2388 if (dec_BER_PDU46('30068001FF810105'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2389 if (dec_BER_PDU46('30808001FF8101050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
2390 }
2391
2392 //===========================================
2393 // CER + DER encoding of SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING (unified)
2394 //===========================================
2395 testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT {
2396
2397 const BERPDU47 myValue1 := {b := true,
2398 c := 5 }
2399 const BERPDU47 myValue2 := {b := false,
2400 c := 5 }
2401 if ((enc_DER_PDU47(myValue1) == '3003810105'O)and(enc_CER_PDU47(myValue1) == '30808101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2402 if ((enc_DER_PDU47(myValue2) == '3006800100810105'O)and(enc_CER_PDU47(myValue2) == '30808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2403 if (dec_BER_PDU47('3003810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2404 if (dec_BER_PDU47('30808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2405 if (dec_BER_PDU47('3006800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2406 if (dec_BER_PDU47('30808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2407
2408 }
2409
2410 //===========================================
2411 // CER + DER encoding of TAGGED SEQUENCE (both elements are used), AUTOMATIC TAGGING ENVIRONMENT
2412 //===========================================
2413 testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging() runs on Test_CT {
2414 const BERPDU51 myValue := {b := true,
2415 c := 5 }
2416 if ((enc_DER_PDU51(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU51(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2417 }
2418
2419 //===========================================
2420 // CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT
2421 //===========================================
2422 testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging() runs on Test_CT {
2423 const BERPDU58 myValue := {b := true,
2424 c := 5 }
2425 if ((enc_DER_PDU58(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU58(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2426 if (dec_BER_PDU58('A0068001FF810105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2427 if (dec_BER_PDU58('A0808001FF8101050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2428 }
2429
2430 //===========================================
2431 // CER + DER encoding of SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT
2432 //===========================================
2433 testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging() runs on Test_CT {
2434 const BERPDU59 myValue := {b := true,
2435 c := 5 }
2436 if ((enc_DER_PDU59(myValue) == '30068501FF020105'O)and(enc_CER_PDU59(myValue) == '30808501FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2437 if (dec_BER_PDU59('30068501FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2438 if (dec_BER_PDU59('30808501FF0201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2439 }
2440
2441 //===========================================
2442 // CER + DER encoding of SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags
2443 //===========================================
2444 testcase tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT {
2445 const BERPDU60 myValue := {b := true,
2446 c := 5 ,
2447 x := 6,
2448 y := 'FF'O }
2449 if ((enc_DER_PDU60(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU60(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2450 if (dec_BER_PDU60('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2451 if (dec_BER_PDU60('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2452 }
2453
2454 //===========================================
2455 // CER + DER encoding of SEQUENCE , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
2456 //===========================================
2457 testcase tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT {
2458 const BERPDU61 myValue := {b := true,
2459 c := 5 ,
2460 x := 6,
2461 y := 'FF'O }
2462 if ((enc_DER_PDU61(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU61(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2463 if (dec_BER_PDU61('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2464 if (dec_BER_PDU61('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2465
2466 }
2467
2468 //===========================================
2469 // CER + DER encoding of SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
2470 //===========================================
2471 testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT {
2472 const BERPDU62 myValue := {b := true,
2473 c := '1'B ,
2474 x := 6,
2475 y := 'FF'O }
2476
2477 if ((enc_DER_PDU62(myValue) == '300D8001FF030207800201060401FF'O)and(enc_CER_PDU62(myValue) == '30808001FF030207800201060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2478 if (dec_BER_PDU62('300D8001FF030207800201060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2479 if (dec_BER_PDU62('30808001FF030207800201060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2480
2481
2482 }
2483
2484 //===========================================
2485 // CER + DER encoding of SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
2486 //===========================================
2487 testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT {
2488 const BERPDU63 myValue := {b := true,
2489 c := '1'B ,
2490 x := 6,
2491 y := 'FF'O }
2492 if ((enc_DER_PDU63(myValue) == '300D8001FF030207808101060401FF'O)and(enc_CER_PDU63(myValue) == '30808001FF030207808101060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2493 if (dec_BER_PDU63('300D8001FF030207808101060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2494 if (dec_BER_PDU63('30808001FF030207808101060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2495
2496 }
2497
2498
2499 //===========================================
2500 // CER + DER encoding of SEQUENCE with CHOICE element, AUTOMATIC TAGS
2501 //===========================================
2502 testcase tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging() runs on Test_CT {
2503 const BERPDU64 myValue := {b := {x := true},
2504 c := 4
2505 }
2506 if ((enc_DER_PDU64(myValue) == '3008A0038001FF810104'O)and(enc_CER_PDU64(myValue) == '3080A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
2507 if (dec_BER_PDU64('3008A0038001FF810104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2508 if (dec_BER_PDU64('3080A0808001FF00008101040000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2509
2510 }
2511
2512 //===========================================
2513 // CER + DER encoding of SEQUENCE with EXTENSION , AUTOMATIC TAGS
2514 //===========================================
2515 testcase tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging() runs on Test_CT {
2516 const BERPDU66 myValue := {
2517 a := 'FF'O,
2518 b := true,
2519 d := '1'B,
2520 c := 4
2521 }
2522 if ((enc_DER_PDU66(myValue) == '300D8001FF8101FF83020780820104'O)and(enc_CER_PDU66(myValue) == '30808001FF8101FF830207808201040000'O)) {setverdict(pass);} else {setverdict(fail);}
2523 if (dec_BER_PDU66('300D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2524 if (dec_BER_PDU66('30808001FF8101FF830207808201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2525 if (dec_BER_PDU66('308300000D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);}
2526
2527 }
2528
2529 //===========================================
2530 // CER + DER encoding of SEQUENCE with fields of different types, AUTOMATIC TAGS
2531 //===========================================
2532 testcase tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging() runs on Test_CT {
2533 const BERPDU68 myValue := {a := NULL,
2534 b := true,
2535 c := 2,
2536 d := first,
2537 e := 1.0,
2538 f := '1'B,
2539 g := 'FFFF'O,
2540 h := myOBJID_68,
2541 i := "ABC",
2542 j := {x1 := true } ,
2543 k := {x2 := NULL,
2544
2545 y2 := true } ,
2546 l := {y3 := 1.0 ,
2547
2548 x3 := '1'B } ,
2549 m :=
2550 { 1 ,2 } ,
2551 n :=
2552 { true, true }
2553 }
2554 if ((enc_DER_PDU68(myValue) == '304F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
2555 and(enc_CER_PDU68(myValue) == '308080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O))
2556 {setverdict(pass);} else {setverdict(fail);}
2557
2558
2559 }
2560
2561 //===========================================
2562 // DECODING , DER, SEQUENCE with fields of different types , AUTOMATIC TAGS (unified)
2563 //===========================================
2564 testcase tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging() runs on Test_CT {
2565 const BERPDU70 myValue := {a := NULL,
2566 b := true,
2567 c := 2,
2568 d := first,
2569 e := NULL,
2570 f := '1'B,
2571 g := 'FFFF'O,
2572 h := myOBJID_70,
2573 i := "ABC",
2574 j := {x1 := true } ,
2575 k := {x2 := NULL,
2576 y2 := true } ,
2577 l := {y3 := NULL ,
2578 x3 := '1'B } ,
2579 m :=
2580 { 1 ,2 } ,
2581 n :=
2582 { true, true }
2583 }
2584
2585
2586
2587 if (dec_BER_PDU70('304380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue)
2588 {setverdict(pass);} else {setverdict(fail);}
2589 if (dec_BER_PDU70('308080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue)
2590 {setverdict(pass);} else {setverdict(fail);}
2591
2592 }
2593
2594 //===========================================
2595 // CER + DER encoding of SET (EMPTY), AUTOMATIC TAGGING (unified)
2596 //===========================================
2597 testcase tc_CER_DER_encoding_of_SET_empty_automaticTagging() runs on Test_CT {
2598 const BERPDU85 myValue1 := {b := omit,
2599 c := omit }
2600 const BERPDU85 myValue2 := {b := true,
2601 c := omit }
2602 const BERPDU85 myValue3 := {
2603 c := omit,
2604 b := true }
2605 const BERPDU85 myValue4 := {b := true,
2606 c := 5 }
2607 const BERPDU85 myValue5 := {
2608 c := 5,
2609 b := true }
2610
2611 if ((enc_DER_PDU85(myValue1) == '3100'O)and(enc_CER_PDU85(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
2612 if ((enc_DER_PDU85(myValue2) == '31038001FF'O)and(enc_CER_PDU85(myValue2) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2613 if ((enc_DER_PDU85(myValue3) == '31038001FF'O)and(enc_CER_PDU85(myValue3) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2614 if ((enc_DER_PDU85(myValue4) == '31068001FF810105'O)and(enc_CER_PDU85(myValue4) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2615 if ((enc_DER_PDU85(myValue5) == '31068001FF810105'O)and(enc_CER_PDU85(myValue5) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2616 if (dec_BER_PDU85('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2617 if (dec_BER_PDU85('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2618 if (dec_BER_PDU85('31038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2619 if (dec_BER_PDU85('31808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2620 if (dec_BER_PDU85('31068001FF810105'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2621 if (dec_BER_PDU85('31808001FF8101050000'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2622 if (dec_BER_PDU85('31068101058001FF'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2623 if (dec_BER_PDU85('31808101058001FF0000'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
2624
2625 }
2626 //===========================================
2627 // CER + DER encoding of SET (both elements are used)(different order2) AUTOMATIC TAGGING
2628 //===========================================
2629 testcase tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging() runs on Test_CT {
2630 const BERPDU86 myValue := {b := true, c := 5 }
2631 if ((enc_DER_PDU86(myValue) == '31068001058101FF'O)and(enc_CER_PDU86(myValue) == '31808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
2632 }
2633
2634 //===========================================
2635 // CER + DER encoding of SET (one element is equal to Default) AUTOMATIC TAGGING (unified)
2636 //===========================================
2637 testcase tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT {
2638 const BERPDU87 myValue1 := {b := true,c := 5 }
2639 const BERPDU87 myValue2 := {b := false,c := 5 }
2640 const BERPDU87 myValue3 := {c := 5,b := false }
2641 const BERPDU87 myValue4 := {c := 5 , b := true }
2642
2643 if ((enc_DER_PDU87(myValue1) == '3103810105'O)and(enc_CER_PDU87(myValue1) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2644 if ((enc_DER_PDU87(myValue2) == '3106800100810105'O)and(enc_CER_PDU87(myValue2) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2645 if ((enc_DER_PDU87(myValue3) == '3106800100810105'O)and(enc_CER_PDU87(myValue3) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2646 if ((enc_DER_PDU87(myValue4) == '3103810105'O)and(enc_CER_PDU87(myValue4) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2647 if (dec_BER_PDU87('3103810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2648 if (dec_BER_PDU87('31808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2649 if (dec_BER_PDU87('31068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2650 if (dec_BER_PDU87('31808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2651 if (dec_BER_PDU87('3106800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2652 if (dec_BER_PDU87('31808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2653 if (dec_BER_PDU87('3106810105800100'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2654 if (dec_BER_PDU87('31808101058001000000'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
2655
2656 }
2657 //===========================================
2658 // CER + DER encoding of SET (different order2)(one element is not equal to Default) AUTOMATIC TAGGING
2659 //===========================================
2660 testcase tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging() runs on Test_CT {
2661 const BERPDU88 myValue := {b := false, c := 5 }
2662 if ((enc_DER_PDU88(myValue) == '3106800105810100'O)and(enc_CER_PDU88(myValue) == '31808001058101000000'O)) {setverdict(pass);} else {setverdict(fail);}
2663 }
2664
2665 //*********************************************
2666 // CONTROL PART
2667 //*********************************************
2668
2669 control {
2670 execute(tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging());
2671 execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging());
2672 execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging());
2673 execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging());
2674 execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging());
2675 execute(tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging());
2676 execute(tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging());
2677 execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging());
2678 execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging());
2679 execute(tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging());
2680 execute(tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging());
2681 execute(tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging());
2682 execute(tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging())
2683 execute(tc_CER_DER_encoding_of_SET_empty_automaticTagging());
2684 execute(tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging());
2685 execute(tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging());
2686 execute(tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging());
2687 }
2688
2689 <RESULT>
2690
2691 Overall verdict: pass
2692
2693 <END_TC>
2694
2695 :exmp.
2696
2697 .*---------------------------------------------------------------------*
2698 :h3.CER + DER encoding, EXPLICIT TAGGING ENVIRONMENT
2699 .*---------------------------------------------------------------------*
2700 :xmp tab=0.
2701
2702 <TC - CER + DER encoding, EXPLICIT TAGGING ENVIRONMENT>
2703
2704 <STATIC:ASN>
2705
2706 TempA
2707
2708 DEFINITIONS
2709 EXPLICIT TAGS
2710 ::=
2711 BEGIN
2712
2713 IMPORTS;
2714
2715 BERPDU55 ::= SEQUENCE
2716 {
2717 b [30] IMPLICIT BOOLEAN OPTIONAL,
2718 c [31] IMPLICIT INTEGER OPTIONAL
2719 }
2720
2721 BERPDU56 ::= [0] SEQUENCE
2722 {
2723 b [0] BOOLEAN OPTIONAL,
2724 c [1] INTEGER OPTIONAL
2725 }
2726
2727 BERPDU80 ::= [0] SEQUENCE OF BOOLEAN
2728
2729 END
2730
2731 <STATIC>
2732
2733 import from TempA all;
2734 external function enc_DER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2735 external function enc_CER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2736 external function dec_BER_PDU55(in octetstring stream) return BERPDU55 with { extension "prototype(convert) decode(BER)" }
2737
2738 external function enc_DER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2739 external function enc_CER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2740 external function dec_BER_PDU56(in octetstring stream) return BERPDU56 with { extension "prototype(convert) decode(BER)" }
2741
2742 external function enc_DER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2743 external function enc_CER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2744 external function dec_BER_PDU80(in octetstring stream) return BERPDU80 with { extension "prototype(convert) decode(BER)" }
2745
2746
2747 const BERPDU55 myValue_55 := {b := true,
2748 c := 5 }
2749 const BERPDU56 myValue_56 := {b := true,
2750 c := 5 }
2751
2752 const BERPDU80 myValue_80 := {true, false }
2753
2754 <TTCN_TC:EXEC>
2755 //===================================================
2756 //CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT
2757 //===================================================
2758 if ((enc_DER_PDU55(myValue_55) == '30079E01FF9F1F0105'O)and(enc_CER_PDU55(myValue_55) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2759 if (dec_BER_PDU55('30079E01FF9F1F0105'O) == myValue_55){setverdict(pass);} else {setverdict(fail);}
2760 if (dec_BER_PDU55('30809E01FF9F1F01050000'O) == myValue_55){setverdict(pass);} else {setverdict(fail);}
2761
2762 //===================================================
2763 // CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT
2764 //===================================================
2765 if ((enc_DER_PDU56(myValue_56) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU56(myValue_56) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2766 if (dec_BER_PDU56('A00C300AA0030101FFA103020105'O) == myValue_56){setverdict(pass);} else {setverdict(fail);}
2767 if (dec_BER_PDU56('A0803080A0800101FF0000A180020105000000000000'O) == myValue_56){setverdict(pass);} else {setverdict(fail);}
2768
2769
2770 //===================================================
2771 // CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING (unified)
2772 //===================================================
2773 if ((enc_DER_PDU80(myValue_80) == 'A00830060101FF010100'O)and(enc_CER_PDU80(myValue_80) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2774 if (dec_BER_PDU80('A00830060101FF010100'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2775 if (dec_BER_PDU80('A08030800101FF01010000000000'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2776
2777
2778 <RESULT>
2779
2780 Overall verdict: pass
2781
2782 <END_TC>
2783
2784 :exmp.
2785
2786 .*---------------------------------------------------------------------*
2787 :h3.CER + DER encoding of SEQUENCE, IMPLICIT TAGGING ENVIRONMENT
2788 .*---------------------------------------------------------------------*
2789 :xmp tab=0.
2790
2791 <TC - CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT>
2792
2793 <STATIC:ASN>
2794
2795 TempA
2796
2797 DEFINITIONS
2798 IMPLICIT TAGS
2799 ::=
2800 BEGIN
2801
2802 IMPORTS;
2803
2804 BERPDU52 ::= SEQUENCE
2805 {
2806 b [30] EXPLICIT BOOLEAN OPTIONAL,
2807 c [31] EXPLICIT INTEGER OPTIONAL
2808 }
2809
2810 BERPDU53 ::= [0] SEQUENCE
2811 {
2812 b BOOLEAN OPTIONAL,
2813 c INTEGER OPTIONAL
2814 }
2815
2816 BERPDU57 ::= [0] SEQUENCE
2817 {
2818 b [0] BOOLEAN OPTIONAL,
2819 c [1] INTEGER OPTIONAL
2820 }
2821
2822 BERPDU81 ::= [0] SEQUENCE OF BOOLEAN
2823
2824 BERPDU88 ::= SET
2825 {
2826 b [30] IMPLICIT BOOLEAN OPTIONAL,
2827 c [31] IMPLICIT INTEGER OPTIONAL
2828 }
2829
2830 BERPDU89 ::= SET
2831 {
2832 c [31] IMPLICIT INTEGER OPTIONAL,
2833 b [30] IMPLICIT BOOLEAN OPTIONAL
2834 }
2835
2836 BERPDU90 ::= SET
2837 {
2838 c [31] EXPLICIT INTEGER OPTIONAL,
2839 b [30] EXPLICIT BOOLEAN OPTIONAL
2840
2841 }
2842
2843 END
2844
2845 <STATIC>
2846
2847 import from TempA all;
2848 external function enc_DER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2849 external function enc_CER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2850 external function dec_BER_PDU52(in octetstring stream) return BERPDU52 with { extension "prototype(convert) decode(BER)" }
2851
2852 external function enc_DER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2853 external function enc_CER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2854 external function dec_BER_PDU53(in octetstring stream) return BERPDU53 with { extension "prototype(convert) decode(BER)" }
2855
2856 external function enc_DER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2857 external function enc_CER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2858 external function dec_BER_PDU57(in octetstring stream) return BERPDU57 with { extension "prototype(convert) decode(BER)" }
2859
2860 external function enc_DER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2861 external function enc_CER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2862 external function dec_BER_PDU81(in octetstring stream) return BERPDU81 with { extension "prototype(convert) decode(BER)" }
2863
2864 external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2865 external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2866 external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" }
2867
2868 external function enc_DER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2869 external function enc_CER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2870 //external function dec_BER_PDU89(in octetstring stream) return BERPDU89 with { extension "prototype(convert) decode(BER)" }
2871
2872 external function enc_DER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2873 external function enc_CER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2874 //external function dec_BER_PDU90(in octetstring stream) return BERPDU90 with { extension "prototype(convert) decode(BER)" }
2875
2876 const BERPDU52 myValue_52 := {b := true,c := 5 }
2877 const BERPDU53 myValue_53 := {b := true,c := 5 }
2878 const BERPDU57 myValue_57 := {b := true,c := 5 }
2879 const BERPDU81 myValue_81 := {true, false }
2880 const BERPDU88 myValue1_88 := {b := true, c := 5 }
2881 const BERPDU88 myValue2_88 := { c := 5, b := true }
2882 const BERPDU89 myValue_89 := {b := true,c := 5 }
2883 const BERPDU90 myValue_90 := {b := true,c := 5 }
2884
2885 <TTCN_TC:EXEC>
2886 //===========================================
2887 //CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT
2888 //===========================================
2889 if ((enc_DER_PDU52(myValue_52) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU52(myValue_52) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2890 if (dec_BER_PDU52('300BBE030101FFBF1F03020105'O) == myValue_52){setverdict(pass);} else {setverdict(fail);}
2891 if (dec_BER_PDU52('3080BE800101FF0000BF1F8002010500000000'O) == myValue_52){setverdict(pass);} else {setverdict(fail);}
2892 //===========================================
2893 //CER + DER encoding of TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT
2894 //===========================================
2895 if ((enc_DER_PDU53(myValue_53) == 'A0060101FF020105'O)and(enc_CER_PDU53(myValue_53) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2896 if (dec_BER_PDU53('A0060101FF020105'O) == myValue_53){setverdict(pass);} else {setverdict(fail);}
2897 if (dec_BER_PDU53('A0800101FF0201050000'O) == myValue_53){setverdict(pass);} else {setverdict(fail);}
2898
2899 //===========================================
2900 // CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT
2901 //===========================================
2902 if ((enc_DER_PDU57(myValue_57) == 'A0068001FF810105'O)and(enc_CER_PDU57(myValue_57) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2903 if (dec_BER_PDU57('A0068001FF810105'O) == myValue_57){setverdict(pass);} else {setverdict(fail);}
2904 if (dec_BER_PDU57('A0808001FF8101050000'O) == myValue_57){setverdict(pass);} else {setverdict(fail);}
2905 //===========================================
2906 // CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING (unified)
2907 //===========================================
2908 if ((enc_DER_PDU81(myValue_81) == 'A0060101FF010100'O)and(enc_CER_PDU81(myValue_81) == 'A0800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);}
2909 if (dec_BER_PDU81('A0060101FF010100'O) == myValue_81){setverdict(pass);} else {setverdict(fail);}
2910 if (dec_BER_PDU81('A0800101FF0101000000'O) == myValue_81){setverdict(pass);} else {setverdict(fail);}
2911 //===========================================
2912 // CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements (unified)
2913 //===========================================
2914 if ((enc_DER_PDU88(myValue1_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue1_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2915 if ((enc_DER_PDU88(myValue2_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue2_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2916 if (dec_BER_PDU88('31079E01FF9F1F0105'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2917 if (dec_BER_PDU88('31809E01FF9F1F01050000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2918 if (dec_BER_PDU88('31079F1F01059E01FF'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2919 if (dec_BER_PDU88('31809F1F01059E01FF0000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2920 //===========================================
2921 // CER + DER encoding of SET (different order2) (both elements are used) IMPLICIT TAGS for elements
2922 //===========================================
2923 if ((enc_DER_PDU89(myValue_89) == '31079E01FF9F1F0105'O)and(enc_CER_PDU89(myValue_89) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2924 //===========================================
2925 // CER + DER encoding of SET (different order2)(both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT
2926 //===========================================
2927 if ((enc_DER_PDU90(myValue_90) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU90(myValue_90) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2928
2929 <RESULT>
2930
2931 Overall verdict: pass
2932
2933 <END_TC>
2934
2935 :exmp.
2936
2937 .*---------------------------------------------------------------------*
2938 :h3.CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT (unified)
2939 .*---------------------------------------------------------------------*
2940 :xmp tab=0.
2941
2942 <TC - CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT (unified)>
2943
2944 <STATIC:ASN>
2945
2946 TempA
2947
2948 DEFINITIONS
2949 EXPLICIT TAGS
2950 ::=
2951 BEGIN
2952 BERPDU ::= SET
2953 {
2954 b [30] IMPLICIT BOOLEAN OPTIONAL,
2955 c [31] IMPLICIT INTEGER OPTIONAL
2956 }
2957 END
2958
2959 <STATIC>
2960
2961 import from TempA all;
2962 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2963 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2964 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
2965
2966 const BERPDU myValue1 := {b := true,
2967 c := 5 }
2968 const BERPDU myValue2 := {
2969 c := 5 ,
2970 b := true }
2971 <TTCN_TC:EXEC>
2972
2973 if ((enc_DER_PDU(myValue1) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue1) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2974 if ((enc_DER_PDU(myValue2) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue2) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2975 if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2976 if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2977 if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2978 if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2979
2980 <RESULT>
2981
2982 Overall verdict: pass
2983
2984 <END_TC>
2985
2986 :exmp.
2987
2988 .*---------------------------------------------------------------------*
2989 :h3.CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT
2990 .*---------------------------------------------------------------------*
2991 :xmp tab=0.
2992
2993 <TC - CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT>
2994
2995 <STATIC:ASN>
2996
2997 TempA
2998
2999 DEFINITIONS
3000
3001 EXPLICIT TAGS
3002
3003 ::=
3004
3005 BEGIN
3006
3007 BERPDU ::= SET
3008 {
3009 c [31] IMPLICIT INTEGER OPTIONAL,
3010 b [30] IMPLICIT BOOLEAN OPTIONAL
3011
3012 }
3013
3014
3015 END
3016
3017 <STATIC>
3018
3019 import from TempA all;
3020 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3021 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3022
3023 const BERPDU myValue := {b := true,
3024 c := 5 }
3025
3026 <TTCN_TC:EXEC>
3027
3028
3029
3030
3031 if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
3032
3033 <RESULT>
3034
3035 Overall verdict: pass
3036
3037 <END_TC>
3038
3039 :exmp.
3040
3041 .*---------------------------------------------------------------------*
3042 :h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements (unified)
3043 .*---------------------------------------------------------------------*
3044 :xmp tab=0.
3045
3046 <TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements (unified)>
3047
3048 <STATIC:ASN>
3049
3050 TempA
3051
3052 DEFINITIONS ::=
3053 BEGIN
3054 BERPDU ::= SET
3055 {
3056 b [30] EXPLICIT BOOLEAN OPTIONAL,
3057 c [31] EXPLICIT INTEGER OPTIONAL
3058 }
3059 END
3060
3061 <STATIC>
3062
3063 import from TempA all;
3064 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3065 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3066 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3067
3068 const BERPDU myValue1 := {b := true,
3069 c := 5 }
3070 const BERPDU myValue2 := {
3071 c := 5,
3072 b := true }
3073 <TTCN_TC:EXEC>
3074
3075 if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3076 if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3077 if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3078 if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3079 if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3080 if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3081
3082 <RESULT>
3083
3084 Overall verdict: pass
3085
3086 <END_TC>
3087
3088 :exmp.
3089
3090 .*---------------------------------------------------------------------*
3091 :h3.CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements
3092 .*---------------------------------------------------------------------*
3093 :xmp tab=0.
3094
3095 <TC - CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements>
3096
3097 <STATIC:ASN>
3098
3099 TempA
3100
3101 DEFINITIONS ::=
3102 BEGIN
3103
3104 BERPDU ::= SET
3105 {
3106
3107 c [31] EXPLICIT INTEGER OPTIONAL,
3108 b [30] EXPLICIT BOOLEAN OPTIONAL
3109 }
3110
3111
3112 END
3113
3114 <STATIC>
3115
3116 import from TempA all;
3117 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3118 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3119
3120 const BERPDU myValue := {b := true,
3121 c := 5 }
3122
3123 <TTCN_TC:EXEC>
3124
3125
3126
3127
3128 if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3129
3130 <RESULT>
3131
3132 Overall verdict: pass
3133
3134 <END_TC>
3135
3136 :exmp.
3137
3138 .*---------------------------------------------------------------------*
3139 :h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT (unified)
3140 .*---------------------------------------------------------------------*
3141 :xmp tab=0.
3142
3143 <TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT (unified)>
3144
3145 <STATIC:ASN>
3146
3147 TempA
3148
3149 DEFINITIONS
3150 IMPLICIT TAGS
3151 ::=
3152 BEGIN
3153 BERPDU ::= SET
3154 {
3155 b [30] EXPLICIT BOOLEAN OPTIONAL,
3156 c [31] EXPLICIT INTEGER OPTIONAL
3157 }
3158 END
3159
3160 <STATIC>
3161
3162 import from TempA all;
3163 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3164 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3165 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3166
3167 const BERPDU myValue1 := {b := true,
3168 c := 5 }
3169 const BERPDU myValue2 := {
3170 c := 5 ,
3171 b := true }
3172 <TTCN_TC:EXEC>
3173
3174 if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3175 if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3176 if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3177 if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3178 if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3179 if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3180
3181 <RESULT>
3182
3183 Overall verdict: pass
3184
3185 <END_TC>
3186
3187 :exmp.
3188
3189 .*---------------------------------------------------------------------*
3190 :h3.CER + DER encoding of TAGGED SET (both elements are used) (unified)
3191 .*---------------------------------------------------------------------*
3192 :xmp tab=0.
3193
3194 <TC - CER + DER encoding of TAGGED SET (both elements are used) (unified)>
3195
3196 <STATIC:ASN>
3197
3198 TempA
3199
3200 DEFINITIONS ::=
3201 BEGIN
3202 BERPDU ::= [0] SET
3203 {
3204 b BOOLEAN OPTIONAL,
3205 c INTEGER OPTIONAL
3206 }
3207 END
3208
3209 <STATIC>
3210
3211 import from TempA all;
3212 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3213 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3214 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3215
3216 const BERPDU myValue1 := {b := true,
3217 c := 5 }
3218 const BERPDU myValue2 := {
3219 c := 5,
3220 b := true }
3221 <TTCN_TC:EXEC>
3222
3223 if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3224 if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3225 if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3226 if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3227 if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3228 if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3229 if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3230 if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3231 if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3232
3233 <RESULT>
3234
3235 Overall verdict: pass
3236
3237 <END_TC>
3238
3239 :exmp.
3240
3241 .*---------------------------------------------------------------------*
3242 :h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used)
3243 .*---------------------------------------------------------------------*
3244 :xmp tab=0.
3245
3246 <TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used)>
3247
3248 <STATIC:ASN>
3249
3250 TempA
3251
3252 DEFINITIONS ::=
3253 BEGIN
3254
3255 BERPDU ::= [0] SET
3256 {
3257
3258 c INTEGER OPTIONAL,
3259 b BOOLEAN OPTIONAL
3260 }
3261
3262
3263 END
3264
3265 <STATIC>
3266
3267 import from TempA all;
3268 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3269 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3270
3271 const BERPDU myValue := {b := true,
3272 c := 5 }
3273
3274 <TTCN_TC:EXEC>
3275
3276
3277
3278
3279 if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3280
3281 <RESULT>
3282
3283 Overall verdict: pass
3284
3285 <END_TC>
3286
3287 :exmp.
3288
3289 .*---------------------------------------------------------------------*
3290 :h3.CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT (unified)
3291 .*---------------------------------------------------------------------*
3292 :xmp tab=0.
3293
3294 <TC - CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT (unified)>
3295
3296 <STATIC:ASN>
3297
3298 TempA
3299
3300 DEFINITIONS
3301 AUTOMATIC TAGS
3302 ::=
3303 BEGIN
3304 BERPDU ::= [0] SET
3305 {
3306 b BOOLEAN OPTIONAL,
3307 c INTEGER OPTIONAL
3308 }
3309 END
3310
3311 <STATIC>
3312
3313 import from TempA all;
3314 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3315 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3316
3317 const BERPDU myValue1 := {b := true,
3318 c := 5 }
3319 const BERPDU myValue2 := {
3320 c := 5,
3321 b := true }
3322 <TTCN_TC:EXEC>
3323
3324 if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3325 if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3326
3327 <RESULT>
3328
3329 Overall verdict: pass
3330
3331 <END_TC>
3332
3333 :exmp.
3334
3335 .*---------------------------------------------------------------------*
3336 :h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT
3337 .*---------------------------------------------------------------------*
3338 :xmp tab=0.
3339
3340 <TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT>
3341
3342 <STATIC:ASN>
3343
3344 TempA
3345
3346 DEFINITIONS
3347
3348 AUTOMATIC TAGS
3349
3350 ::=
3351
3352 BEGIN
3353
3354 BERPDU ::= [0] SET
3355 {
3356 c INTEGER OPTIONAL,
3357 b BOOLEAN OPTIONAL
3358 }
3359
3360
3361 END
3362
3363 <STATIC>
3364
3365 import from TempA all;
3366 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3367 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3368
3369 const BERPDU myValue := {b := true,
3370 c := 5 }
3371
3372 <TTCN_TC:EXEC>
3373
3374
3375
3376
3377 if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
3378
3379 <RESULT>
3380
3381 Overall verdict: pass
3382
3383 <END_TC>
3384
3385 :exmp.
3386
3387 .*---------------------------------------------------------------------*
3388 :h3.CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT (unified)
3389 .*---------------------------------------------------------------------*
3390 :xmp tab=0.
3391
3392 <TC - CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT (unified)>
3393
3394 <STATIC:ASN>
3395
3396 TempA
3397
3398 DEFINITIONS
3399 IMPLICIT TAGS
3400 ::=
3401 BEGIN
3402 BERPDU ::= [0] SET
3403 {
3404 b BOOLEAN OPTIONAL,
3405 c INTEGER OPTIONAL
3406 }
3407 END
3408
3409 <STATIC>
3410
3411 import from TempA all;
3412 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3413 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3414 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3415
3416 const BERPDU myValue1 := {b := true,
3417 c := 5 }
3418 const BERPDU myValue2 := {
3419 c := 5,
3420 b := true }
3421 <TTCN_TC:EXEC>
3422
3423 if ((enc_DER_PDU(myValue1) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3424 if ((enc_DER_PDU(myValue2) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3425 if (dec_BER_PDU('A0060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3426 if (dec_BER_PDU('A0800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3427 if (dec_BER_PDU('A0060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3428 if (dec_BER_PDU('A0800201050101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3429
3430 <RESULT>
3431
3432 Overall verdict: pass
3433
3434 <END_TC>
3435
3436 :exmp.
3437
3438 .*---------------------------------------------------------------------*
3439 :h3.CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT
3440 .*---------------------------------------------------------------------*
3441 :xmp tab=0.
3442
3443 <TC - CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT>
3444
3445 <STATIC:ASN>
3446
3447 TempA
3448
3449 DEFINITIONS
3450
3451 IMPLICIT TAGS
3452
3453 ::=
3454
3455 BEGIN
3456
3457 BERPDU ::= [0] SET
3458 {
3459
3460 c INTEGER OPTIONAL,
3461 b BOOLEAN OPTIONAL
3462 }
3463
3464
3465 END
3466
3467 <STATIC>
3468
3469 import from TempA all;
3470 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3471 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3472
3473 const BERPDU myValue := {b := true,
3474 c := 5 }
3475
3476 <TTCN_TC:EXEC>
3477
3478
3479
3480
3481 if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3482
3483 <RESULT>
3484
3485 Overall verdict: pass
3486
3487 <END_TC>
3488
3489 :exmp.
3490
3491 .*---------------------------------------------------------------------*
3492 :h3.CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT (unified)
3493 .*---------------------------------------------------------------------*
3494 :xmp tab=0.
3495
3496 <TC - CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT (unified)>
3497
3498 <STATIC:ASN>
3499
3500 TempA
3501
3502 DEFINITIONS
3503 EXPLICIT TAGS
3504 ::=
3505 BEGIN
3506 BERPDU ::= [0] SET
3507 {
3508 b BOOLEAN OPTIONAL,
3509 c INTEGER OPTIONAL
3510 }
3511 END
3512
3513 <STATIC>
3514
3515 import from TempA all;
3516 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3517 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3518 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3519
3520 const BERPDU myValue1 := {b := true,
3521 c := 5 }
3522 const BERPDU myValue2 := {
3523 c := 5,
3524 b := true }
3525 <TTCN_TC:EXEC>
3526
3527 if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3528 if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3529 if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3530 if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3531 if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3532 if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3533
3534 <RESULT>
3535
3536 Overall verdict: pass
3537
3538 <END_TC>
3539
3540 :exmp.
3541
3542 .*---------------------------------------------------------------------*
3543 :h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT
3544 .*---------------------------------------------------------------------*
3545 :xmp tab=0.
3546
3547 <TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT>
3548
3549 <STATIC:ASN>
3550
3551 TempA
3552
3553 DEFINITIONS
3554
3555 EXPLICIT TAGS
3556
3557 ::=
3558
3559 BEGIN
3560
3561 BERPDU ::= [0] SET
3562 {
3563 c INTEGER OPTIONAL,
3564 b BOOLEAN OPTIONAL
3565 }
3566
3567
3568 END
3569
3570 <STATIC>
3571
3572 import from TempA all;
3573 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3574 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3575
3576 const BERPDU myValue := {b := true,
3577 c := 5 }
3578
3579 <TTCN_TC:EXEC>
3580
3581
3582
3583
3584 if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3585
3586 <RESULT>
3587
3588 Overall verdict: pass
3589
3590 <END_TC>
3591
3592 :exmp.
3593
3594 .*---------------------------------------------------------------------*
3595 :h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used) (unified)
3596 .*---------------------------------------------------------------------*
3597 :xmp tab=0.
3598
3599 <TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used) (unified)>
3600
3601 <STATIC:ASN>
3602
3603 TempA
3604
3605 DEFINITIONS ::=
3606 BEGIN
3607 BERPDU ::= [0] SET
3608 {
3609 b [0] BOOLEAN OPTIONAL,
3610 c [1] INTEGER OPTIONAL
3611 }
3612 END
3613
3614 <STATIC>
3615
3616 import from TempA all;
3617 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3618 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3619 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3620
3621 const BERPDU myValue1 := {b := true,
3622 c := 5 }
3623 const BERPDU myValue2 := {
3624 c := 5,
3625 b := true }
3626 <TTCN_TC:EXEC>
3627
3628 if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3629 if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3630 if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3631 if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3632 if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3633 if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3634
3635 <RESULT>
3636
3637 Overall verdict: pass
3638
3639 <END_TC>
3640
3641 :exmp.
3642
3643 .*---------------------------------------------------------------------*
3644 :h3.CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used)
3645 .*---------------------------------------------------------------------*
3646 :xmp tab=0.
3647
3648 <TC - CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used)>
3649
3650 <STATIC:ASN>
3651
3652 TempA
3653
3654 DEFINITIONS ::=
3655 BEGIN
3656
3657 BERPDU ::= [0] SET
3658 {
3659 b [1] BOOLEAN OPTIONAL,
3660 c [0] INTEGER OPTIONAL
3661 }
3662
3663
3664 END
3665
3666 <STATIC>
3667
3668 import from TempA all;
3669 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3670 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3671
3672 const BERPDU myValue := {b := true,
3673 c := 5 }
3674
3675 <TTCN_TC:EXEC>
3676
3677
3678
3679
3680 if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3681
3682 <RESULT>
3683
3684 Overall verdict: pass
3685
3686 <END_TC>
3687
3688 :exmp.
3689
3690 .*---------------------------------------------------------------------*
3691 :h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT (unified)
3692 .*---------------------------------------------------------------------*
3693 :xmp tab=0.
3694
3695 <TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT (unified)>
3696
3697 <STATIC:ASN>
3698
3699 TempA
3700
3701 DEFINITIONS
3702 EXPLICIT TAGS
3703 ::=
3704 BEGIN
3705 BERPDU ::= [0] SET
3706 {
3707 b [0] BOOLEAN OPTIONAL,
3708 c [1] INTEGER OPTIONAL
3709 }
3710 END
3711
3712 <STATIC>
3713
3714 import from TempA all;
3715 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3716 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3717 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3718
3719 const BERPDU myValue1 := {b := true,
3720 c := 5 }
3721 const BERPDU myValue2 := {
3722 c := 5,
3723 b := true }
3724 <TTCN_TC:EXEC>
3725
3726 if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3727 if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3728 if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3729 if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3730 if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3731 if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3732
3733 <RESULT>
3734
3735 Overall verdict: pass
3736
3737 <END_TC>
3738
3739 :exmp.
3740
3741 .*---------------------------------------------------------------------*
3742 :h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT
3743 .*---------------------------------------------------------------------*
3744 :xmp tab=0.
3745
3746 <TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT>
3747
3748 <STATIC:ASN>
3749
3750 TempA
3751
3752 DEFINITIONS
3753
3754 EXPLICIT TAGS
3755
3756 ::=
3757
3758 BEGIN
3759
3760 BERPDU ::= [0] SET
3761 {
3762 b [1] BOOLEAN OPTIONAL,
3763 c [0] INTEGER OPTIONAL
3764 }
3765
3766
3767 END
3768
3769 <STATIC>
3770
3771 import from TempA all;
3772 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3773 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3774
3775 const BERPDU myValue := {b := true,
3776 c := 5 }
3777
3778 <TTCN_TC:EXEC>
3779
3780
3781
3782
3783 if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3784
3785 <RESULT>
3786
3787 Overall verdict: pass
3788
3789 <END_TC>
3790
3791 :exmp.
3792
3793 .*---------------------------------------------------------------------*
3794 :h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT (unified)
3795 .*---------------------------------------------------------------------*
3796 :xmp tab=0.
3797
3798 <TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT (unified)>
3799
3800 <STATIC:ASN>
3801
3802 TempA
3803
3804 DEFINITIONS
3805 IMPLICIT TAGS
3806 ::=
3807 BEGIN
3808 BERPDU ::= [0] SET
3809 {
3810 b [0] BOOLEAN OPTIONAL,
3811 c [1] INTEGER OPTIONAL
3812 }
3813 END
3814
3815 <STATIC>
3816
3817 import from TempA all;
3818 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3819 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3820 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3821
3822 const BERPDU myValue1 := {b := true,
3823 c := 5 }
3824 const BERPDU myValue2 := {
3825 c := 5,
3826 b := true }
3827 <TTCN_TC:EXEC>
3828
3829 if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3830 if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3831 if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3832 if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3833 if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3834 if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3835
3836 <RESULT>
3837
3838 Overall verdict: pass
3839
3840 <END_TC>
3841
3842 :exmp.
3843
3844 .*---------------------------------------------------------------------*
3845 :h3.CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT
3846 .*---------------------------------------------------------------------*
3847 :xmp tab=0.
3848
3849 <TC - CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT>
3850
3851 <STATIC:ASN>
3852
3853 TempA
3854
3855 DEFINITIONS
3856
3857 IMPLICIT TAGS
3858
3859 ::=
3860
3861 BEGIN
3862
3863 BERPDU ::= [0] SET
3864 {
3865
3866 c [1] INTEGER OPTIONAL,
3867 b [0] BOOLEAN OPTIONAL
3868 }
3869
3870
3871 END
3872
3873 <STATIC>
3874
3875 import from TempA all;
3876 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3877 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3878
3879 const BERPDU myValue := {b := true,
3880 c := 5 }
3881
3882 <TTCN_TC:EXEC>
3883
3884
3885
3886
3887 if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3888
3889 <RESULT>
3890
3891 Overall verdict: pass
3892
3893 <END_TC>
3894
3895 :exmp.
3896
3897 .*---------------------------------------------------------------------*
3898 :h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT (unified)
3899 .*---------------------------------------------------------------------*
3900 :xmp tab=0.
3901
3902 <TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT (unified)>
3903
3904 <STATIC:ASN>
3905
3906 TempA
3907
3908 DEFINITIONS
3909 AUTOMATIC TAGS
3910 ::=
3911 BEGIN
3912 BERPDU ::= [0] SET
3913 {
3914 b [0] BOOLEAN OPTIONAL,
3915 c [1] INTEGER OPTIONAL
3916 }
3917 END
3918
3919 <STATIC>
3920
3921 import from TempA all;
3922 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3923 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3924 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3925
3926 const BERPDU myValue1 := {b := true,
3927 c := 5 }
3928 const BERPDU myValue2 := {
3929 c := 5,
3930 b := true}
3931 <TTCN_TC:EXEC>
3932
3933 if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3934 if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3935 if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3936 if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3937 if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3938 if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3939
3940 <RESULT>
3941
3942 Overall verdict: pass
3943
3944 <END_TC>
3945
3946 :exmp.
3947
3948 .*---------------------------------------------------------------------*
3949 :h3.CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT
3950 .*---------------------------------------------------------------------*
3951 :xmp tab=0.
3952
3953 <TC - CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT>
3954
3955 <STATIC:ASN>
3956
3957 TempA
3958
3959 DEFINITIONS
3960
3961 AUTOMATIC TAGS
3962
3963 ::=
3964
3965 BEGIN
3966
3967 BERPDU ::= [0] SET
3968 {
3969
3970 c [0] INTEGER OPTIONAL,
3971 b [1] BOOLEAN OPTIONAL
3972 }
3973
3974
3975 END
3976
3977 <STATIC>
3978
3979 import from TempA all;
3980 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3981 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3982
3983 const BERPDU myValue := {b := true,
3984 c := 5 }
3985
3986 <TTCN_TC:EXEC>
3987
3988
3989
3990
3991 if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
3992
3993
3994 <RESULT>
3995
3996 Overall verdict: pass
3997
3998 <END_TC>
3999
4000 :exmp.
4001
4002 .*---------------------------------------------------------------------*
4003 :h3.CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT (unified)
4004 .*---------------------------------------------------------------------*
4005 :xmp tab=0.
4006
4007 <TC - CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT (unified)>
4008
4009 <STATIC:ASN>
4010
4011 TempA
4012
4013 DEFINITIONS
4014 AUTOMATIC TAGS
4015 ::=
4016 BEGIN
4017 BERPDU ::= SET
4018 {
4019 b [5] BOOLEAN OPTIONAL,
4020 c INTEGER OPTIONAL
4021 }
4022 END
4023
4024 <STATIC>
4025
4026 import from TempA all;
4027 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4028 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4029 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4030
4031 const BERPDU myValue1 := {b := true,
4032 c := 5 }
4033 const BERPDU myValue2 := { c := 5 ,
4034 b := true }
4035 <TTCN_TC:EXEC>
4036
4037 if ((enc_DER_PDU(myValue1) == '31060201058501FF'O)and(enc_CER_PDU(myValue1) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4038 if ((enc_DER_PDU(myValue2) == '31060201058501FF'O)and(enc_CER_PDU(myValue2) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4039 if (dec_BER_PDU('31060201058501FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4040 if (dec_BER_PDU('31800201058501FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4041 if (dec_BER_PDU('31068501FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4042 if (dec_BER_PDU('31808501FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4043
4044 <RESULT>
4045
4046 Overall verdict: pass
4047
4048 <END_TC>
4049
4050 :exmp.
4051
4052 .*---------------------------------------------------------------------*
4053 :h3.CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags (unified)
4054 .*---------------------------------------------------------------------*
4055 :xmp tab=0.
4056
4057 <TC - CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags (unified)>
4058
4059 <STATIC:ASN>
4060
4061 TempA
4062
4063 DEFINITIONS
4064 AUTOMATIC TAGS
4065 ::=
4066 BEGIN
4067 MySeq ::= SET
4068 {x INTEGER OPTIONAL,
4069 y OCTET STRING}
4070 BERPDU ::= SET
4071 {
4072 b BOOLEAN OPTIONAL,
4073 c INTEGER OPTIONAL,
4074 COMPONENTS OF MySeq
4075 }
4076 END
4077
4078 <STATIC>
4079
4080 import from TempA all;
4081 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4082 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4083 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4084
4085 const BERPDU myValue := {b := true,
4086 c := 5 ,
4087 x := 6,
4088 y := 'FF'O }
4089
4090 <TTCN_TC:EXEC>
4091
4092 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4093 if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4094 if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4095 if (dec_BER_PDU('310C8001FF8201068101058301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4096 if (dec_BER_PDU('31808001FF8201068101058301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4097
4098 <RESULT>
4099
4100 Overall verdict: pass
4101
4102 <END_TC>
4103
4104 :exmp.
4105
4106 .*---------------------------------------------------------------------*
4107 :h3. encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags
4108 .*---------------------------------------------------------------------*
4109 :xmp tab=0.
4110
4111 <TC - encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags>
4112
4113 <STATIC:ASN>
4114
4115 TempA
4116
4117 DEFINITIONS
4118
4119 AUTOMATIC TAGS
4120
4121
4122 ::=
4123
4124 BEGIN
4125
4126 MySeq ::= SET
4127 {y OCTET STRING,
4128
4129 x INTEGER OPTIONAL
4130 }
4131
4132
4133
4134 BERPDU ::= SET
4135 {
4136 b BOOLEAN OPTIONAL,
4137 c INTEGER OPTIONAL,
4138 COMPONENTS OF MySeq
4139 }
4140
4141
4142 END
4143
4144 <STATIC>
4145
4146 import from TempA all;
4147 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4148 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4149
4150 const BERPDU myValue := {b := true,
4151 c := 5 ,
4152 x := 6,
4153 y := 'FF'O }
4154
4155 <TTCN_TC:EXEC>
4156
4157
4158
4159
4160 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4161
4162 <RESULT>
4163
4164 Overall verdict: pass
4165
4166 <END_TC>
4167
4168 :exmp.
4169
4170 .*---------------------------------------------------------------------*
4171 :h3.CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)
4172 .*---------------------------------------------------------------------*
4173 :xmp tab=0.
4174
4175 <TC - CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)>
4176
4177 <STATIC:ASN>
4178
4179 TempA
4180
4181 DEFINITIONS
4182 AUTOMATIC TAGS
4183 ::=
4184 BEGIN
4185 MySeq ::= SET
4186 {x [0] INTEGER OPTIONAL,
4187 y OCTET STRING}
4188 BERPDU ::= SET
4189 {
4190 b BOOLEAN OPTIONAL,
4191 c INTEGER OPTIONAL,
4192 COMPONENTS OF MySeq
4193 }
4194 END
4195
4196 <STATIC>
4197
4198 import from TempA all;
4199 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4200 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4201 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4202
4203 const BERPDU myValue := {b := true,
4204 c := 5 ,
4205 x := 6,
4206 y := 'FF'O }
4207
4208 <TTCN_TC:EXEC>
4209
4210 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4211 if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4212 if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4213 if (dec_BER_PDU('310C8301FF8001FF820106810105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4214 if (dec_BER_PDU('31808301FF8101058201068001FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4215
4216 <RESULT>
4217
4218 Overall verdict: pass
4219
4220 <END_TC>
4221
4222 :exmp.
4223
4224 .*---------------------------------------------------------------------*
4225 :h3.CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
4226 .*---------------------------------------------------------------------*
4227 :xmp tab=0.
4228
4229 <TC - CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS>
4230
4231 <STATIC:ASN>
4232
4233 TempA
4234
4235 DEFINITIONS
4236
4237 AUTOMATIC TAGS
4238
4239 ::=
4240
4241 BEGIN
4242
4243 MySeq ::= SET
4244 {y OCTET STRING,
4245 x [0] INTEGER OPTIONAL
4246 }
4247
4248
4249
4250 BERPDU ::= SET
4251 {
4252 b BOOLEAN OPTIONAL,
4253 c INTEGER OPTIONAL,
4254 COMPONENTS OF MySeq
4255 }
4256
4257
4258 END
4259
4260 <STATIC>
4261
4262 import from TempA all;
4263 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4264 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4265
4266 const BERPDU myValue := {b := true,
4267 c := 5 ,
4268 x := 6,
4269 y := 'FF'O }
4270
4271 <TTCN_TC:EXEC>
4272
4273
4274
4275
4276 if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4277
4278 <RESULT>
4279
4280 Overall verdict: pass
4281
4282 <END_TC>
4283
4284 :exmp.
4285
4286 .*---------------------------------------------------------------------*
4287 :h3.CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)
4288 .*---------------------------------------------------------------------*
4289 :xmp tab=0.
4290
4291 <TC - CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)>
4292
4293 <STATIC:ASN>
4294
4295 TempA
4296
4297 DEFINITIONS
4298 AUTOMATIC TAGS
4299 ::=
4300 BEGIN
4301 MySeq ::= SET
4302 {x INTEGER OPTIONAL,
4303 y OCTET STRING}
4304 BERPDU ::= SET
4305 {
4306 b [0] BOOLEAN OPTIONAL,
4307 c BIT STRING OPTIONAL,
4308 COMPONENTS OF MySeq
4309 }
4310 END
4311
4312 <STATIC>
4313
4314 import from TempA all;
4315 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4316 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4317 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4318
4319 const BERPDU myValue1 := {b := true,
4320 c := '1'B ,
4321 x := 6,
4322 y := 'FF'O }
4323
4324 <TTCN_TC:EXEC>
4325
4326 if ((enc_DER_PDU(myValue1) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue1) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4327 if (dec_BER_PDU('310D020106030207800401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4328 if (dec_BER_PDU('3180020106030207800401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4329 if (dec_BER_PDU('310D030207800201060401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4330 if (dec_BER_PDU('3180030207800201060401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4331
4332 <RESULT>
4333
4334 Overall verdict: pass
4335
4336 <END_TC>
4337
4338 :exmp.
4339
4340 .*---------------------------------------------------------------------*
4341 :h3.CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
4342 .*---------------------------------------------------------------------*
4343 :xmp tab=0.
4344
4345 <TC - CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS>
4346
4347 <STATIC:ASN>
4348
4349 TempA
4350
4351 DEFINITIONS
4352
4353 AUTOMATIC TAGS
4354
4355 ::=
4356
4357 BEGIN
4358
4359
4360 MySeq ::= SET
4361 {y OCTET STRING,
4362 x INTEGER OPTIONAL
4363 }
4364
4365
4366
4367 BERPDU ::= SET
4368 {
4369 b [0] BOOLEAN OPTIONAL,
4370 c BIT STRING OPTIONAL,
4371 COMPONENTS OF MySeq
4372 }
4373
4374
4375 END
4376
4377 <STATIC>
4378
4379 import from TempA all;
4380 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4381 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4382 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4383
4384 const BERPDU myValue := {b := true,
4385 c := '1'B ,
4386 x := 6,
4387 y := 'FF'O }
4388
4389 <TTCN_TC:EXEC>
4390
4391
4392
4393
4394 if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4395
4396 <RESULT>
4397
4398 Overall verdict: pass
4399
4400 <END_TC>
4401
4402 :exmp.
4403
4404 .*---------------------------------------------------------------------*
4405 :h3.CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)
4406 .*---------------------------------------------------------------------*
4407 :xmp tab=0.
4408
4409 <TC - CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)>
4410
4411 <STATIC:ASN>
4412
4413 TempA
4414 DEFINITIONS
4415 AUTOMATIC TAGS
4416 ::=
4417 BEGIN
4418 MySeq ::= SET
4419 {x [1] INTEGER OPTIONAL,
4420 y OCTET STRING}
4421 BERPDU ::= SET
4422 {
4423 b [0] BOOLEAN OPTIONAL,
4424 c BIT STRING OPTIONAL,
4425 COMPONENTS OF MySeq
4426 }
4427 END
4428
4429 <STATIC>
4430
4431 import from TempA all;
4432 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4433 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4434 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4435
4436 const BERPDU myValue1 := {b := true,
4437 c := '1'B ,
4438 x := 6,
4439 y := 'FF'O }
4440
4441 <TTCN_TC:EXEC>
4442
4443 if ((enc_DER_PDU(myValue1) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue1) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4444 if (dec_BER_PDU('310D030207800401FF8001FF810106'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4445 if (dec_BER_PDU('3180030207800401FF8001FF8101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4446 if (dec_BER_PDU('310D8101060401FF8001FF03020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4447 if (dec_BER_PDU('31808001FF0401FF030207808101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4448
4449 <RESULT>
4450
4451 Overall verdict: pass
4452
4453 <END_TC>
4454
4455 :exmp.
4456
4457 .*---------------------------------------------------------------------*
4458 :h3.CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS
4459 .*---------------------------------------------------------------------*
4460 :xmp tab=0.
4461
4462 <TC - CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS>
4463
4464 <STATIC:ASN>
4465
4466 TempA
4467
4468 DEFINITIONS
4469
4470 AUTOMATIC TAGS
4471
4472 ::=
4473
4474 BEGIN
4475
4476 MySeq ::= SET
4477 { y OCTET STRING,
4478 x [1] INTEGER OPTIONAL
4479 }
4480
4481
4482
4483 BERPDU ::= SET
4484 {
4485 b [0] BOOLEAN OPTIONAL,
4486 c BIT STRING OPTIONAL,
4487 COMPONENTS OF MySeq
4488 }
4489
4490
4491
4492 END
4493
4494 <STATIC>
4495
4496 import from TempA all;
4497 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4498 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4499
4500 const BERPDU myValue := {b := true,
4501 c := '1'B ,
4502 x := 6,
4503 y := 'FF'O }
4504
4505 <TTCN_TC:EXEC>
4506
4507
4508
4509
4510 if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4511
4512 <RESULT>
4513
4514 Overall verdict: pass
4515
4516 <END_TC>
4517
4518 :exmp.
4519
4520 .*---------------------------------------------------------------------*
4521 :h3.CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS (unified)
4522 .*---------------------------------------------------------------------*
4523 :xmp tab=0.
4524
4525 <TC - CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS (unified)>
4526
4527 <STATIC:ASN>
4528
4529 TempA
4530
4531 DEFINITIONS
4532 AUTOMATIC TAGS
4533 ::=
4534 BEGIN
4535 BERPDU ::= SET
4536 {
4537 b CHOICE {
4538 x BOOLEAN,
4539 y OCTET STRING
4540 }
4541 OPTIONAL,
4542 c INTEGER OPTIONAL
4543 }
4544 END
4545
4546 <STATIC>
4547
4548 import from TempA all;
4549 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4550 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4551 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4552
4553 const BERPDU myValue1 := {b := {x := true},
4554 c := 4}
4555 const BERPDU myValue2 := { c := 4,
4556 b := {x := true} }
4557 <TTCN_TC:EXEC>
4558
4559 if ((enc_DER_PDU(myValue1) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue1) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4560 if ((enc_DER_PDU(myValue2) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue2) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4561 if (dec_BER_PDU('3108A0038001FF810104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4562 if (dec_BER_PDU('3180A0808001FF00008101040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4563 if (dec_BER_PDU('3108810104A0038001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4564 if (dec_BER_PDU('3180810104A0808001FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4565
4566 <RESULT>
4567
4568 Overall verdict: pass
4569
4570 <END_TC>
4571
4572 :exmp.
4573
4574 .*---------------------------------------------------------------------*
4575 :h3. encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS
4576 .*---------------------------------------------------------------------*
4577 :xmp tab=0.
4578
4579 <TC - encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS>
4580
4581 <STATIC:ASN>
4582
4583 TempA
4584
4585 DEFINITIONS
4586
4587 AUTOMATIC TAGS
4588
4589 ::=
4590
4591 BEGIN
4592
4593
4594
4595
4596 BERPDU ::= SET
4597 {
4598
4599
4600 c INTEGER OPTIONAL,
4601 b CHOICE {
4602 x BOOLEAN,
4603 y OCTET STRING
4604 }
4605 OPTIONAL
4606
4607 }
4608
4609
4610
4611 END
4612
4613 <STATIC>
4614
4615 import from TempA all;
4616 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4617 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4618
4619 const BERPDU myValue := {
4620 c := 4,
4621 b := {x := true} }
4622 <TTCN_TC:EXEC>
4623
4624
4625
4626
4627 if ((enc_DER_PDU(myValue) == '3108800104A1038001FF'O)and(enc_CER_PDU(myValue) == '3180800104A1808001FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4628
4629 <RESULT>
4630
4631 Overall verdict: pass
4632
4633 <END_TC>
4634
4635 :exmp.
4636
4637 .*---------------------------------------------------------------------*
4638 :h3.CER + DER encoding of SET with CHOICE element, (unified)
4639 .*---------------------------------------------------------------------*
4640 :xmp tab=0.
4641
4642 <TC - CER + DER encoding of SET with CHOICE element, (unified)>
4643
4644 <STATIC:ASN>
4645
4646 TempA
4647
4648 DEFINITIONS
4649 ::=
4650 BEGIN
4651 BERPDU ::= SET
4652 {
4653 b CHOICE {
4654 x BOOLEAN,
4655 y OCTET STRING
4656 }
4657 OPTIONAL,
4658 c INTEGER OPTIONAL
4659 }
4660 END
4661
4662 <STATIC>
4663
4664 import from TempA all;
4665 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4666 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4667 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4668
4669 const BERPDU myValue1 := {b := {x := true},
4670 c := 4}
4671 const BERPDU myValue2 := {c := 4 ,
4672 b := {x := true}}
4673 const BERPDU myValue3 := {b := {y := 'FF'O},
4674 c := 4}
4675 <TTCN_TC:EXEC>
4676
4677 if ((enc_DER_PDU(myValue1) == '31060101FF020104'O)and(enc_CER_PDU(myValue1) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4678 if ((enc_DER_PDU(myValue2) == '31060101FF020104'O)and(enc_CER_PDU(myValue2) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4679 if ((enc_DER_PDU(myValue3) == '31060201040401FF'O)and(enc_CER_PDU(myValue3) == '31800401FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4680 if (dec_BER_PDU('31060101FF020104'O) == myValue1) {setverdict(pass);} else {setverdict(fail);}
4681 if (dec_BER_PDU('31800101FF0201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4682 if (dec_BER_PDU('31060201040101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4683 if (dec_BER_PDU('31800201040101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4684 if (dec_BER_PDU('31060201040401FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4685 if (dec_BER_PDU('31800401FF0201040000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4686 if (dec_BER_PDU('31060401FF020104'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4687 if (dec_BER_PDU('31800201040401FF0000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4688
4689 <RESULT>
4690
4691 Overall verdict: pass
4692
4693 <END_TC>
4694
4695 :exmp.
4696
4697 .*---------------------------------------------------------------------*
4698 :h3.CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS (unified)
4699 .*---------------------------------------------------------------------*
4700 :xmp tab=0.
4701
4702 <TC - CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS (unified)>
4703
4704 <STATIC:ASN>
4705
4706 TempA
4707
4708 DEFINITIONS
4709 AUTOMATIC TAGS
4710 ::=
4711 BEGIN
4712 BERPDU ::= SET
4713 {
4714 a OCTET STRING,
4715 b BOOLEAN,
4716 c INTEGER OPTIONAL,
4717 ...,
4718 d BIT STRING
4719 }
4720 END
4721
4722 <STATIC>
4723
4724 import from TempA all;
4725 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4726 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4727 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4728
4729 const BERPDU myValue1 := {
4730 a := 'FF'O,
4731 b := true,
4732 d := '1'B,
4733 c := 4
4734 }
4735 const BERPDU myValue2 := {
4736 a := 'FF'O,
4737 d := '1'B,
4738 b := true,
4739 c := 4
4740 }
4741 <TTCN_TC:EXEC>
4742
4743 if ((enc_DER_PDU(myValue1) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue1) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4744 if ((enc_DER_PDU(myValue2) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue2) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4745 if (dec_BER_PDU('310D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4746 if (dec_BER_PDU('31808001FF8101FF820104830207800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4747 if (dec_BER_PDU('310D8001FF830207808101FF820104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4748 if (dec_BER_PDU('31808001FF830207808101FF8201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4749 if (dec_BER_PDU('318300000D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4750 if (dec_BER_PDU('318300000D8101FF820104830207808001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4751
4752 <RESULT>
4753
4754 Overall verdict: pass
4755
4756 <END_TC>
4757
4758 :exmp.
4759
4760 .*---------------------------------------------------------------------*
4761 :h3.CER + DER encoding of SET (EMPTY)
4762 .*---------------------------------------------------------------------*
4763 :xmp tab=0.
4764
4765 <TC - CER + DER encoding of SET (EMPTY)>
4766
4767 <STATIC:ASN>
4768
4769 TempA
4770
4771 DEFINITIONS ::=
4772 BEGIN
4773
4774 BERPDU ::= SET
4775 {
4776 a NULL,
4777 b BOOLEAN,
4778 c INTEGER,
4779 d ENUMERATED {first ,second ,third},
4780 e REAL,
4781 f BIT STRING,
4782 g OCTET STRING,
4783
4784 h OBJECT IDENTIFIER,
4785 i IA5String,
4786 j CHOICE {x1 [1] BOOLEAN,
4787 y1 [2] OCTET STRING},
4788
4789 k SEQUENCE{x2 NULL,
4790 y2 BOOLEAN},
4791
4792 l SET { x3 BIT STRING,
4793 y3 REAL},
4794
4795 m [3] SEQUENCE OF INTEGER,
4796 n [4] SET OF BOOLEAN
4797 }
4798
4799 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4800
4801
4802 END
4803
4804 <STATIC>
4805
4806 import from TempA all;
4807 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4808 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4809
4810 const BERPDU myValue := {a := NULL,
4811 b := true,
4812 c := 2,
4813 d := first,
4814 e := 1.0,
4815 f := '1'B,
4816 g := 'FFFF'O,
4817 h := myOBJID,
4818 i := "ABC",
4819 j := {x1 := true } ,
4820 k := {x2 := NULL,
4821
4822 y2 := true } ,
4823 l := {y3 := 1.0 ,
4824
4825 x3 := '1'B } ,
4826 m :=
4827 { 1 ,2 } ,
4828 n :=
4829 { true, true }
4830 }
4831
4832
4833
4834 <TTCN_TC:EXEC>
4835
4836
4837
4838
4839 if ((enc_DER_PDU(myValue) == '31530101FF020102030207800402FFFF05000603000203090603312E452B300A0100300505000101FF310C03020780090603312E452B301603414243A1030101FFA3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '31800101FF020102030207800402FFFF05000603000203090603312E452B300A0100308005000101FF0000318003020780090603312E452B3000001603414243A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
4840
4841 <RESULT>
4842
4843 Overall verdict: pass
4844
4845 <END_TC>
4846
4847 :exmp.
4848
4849 .*---------------------------------------------------------------------*
4850 :h3.CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS (unified)
4851 .*---------------------------------------------------------------------*
4852 :xmp tab=0.
4853
4854 <TC - CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS (unified)>
4855
4856 <STATIC:ASN>
4857
4858 TempA
4859
4860 DEFINITIONS
4861 AUTOMATIC TAGS
4862 ::=
4863 BEGIN
4864 BERPDU ::= SET
4865 {
4866 a NULL,
4867 b BOOLEAN,
4868 c INTEGER,
4869 d ENUMERATED {first ,second ,third},
4870 e REAL,
4871 f BIT STRING,
4872 g OCTET STRING,
4873 h OBJECT IDENTIFIER,
4874 i IA5String,
4875 j CHOICE {x1 BOOLEAN,
4876 y1 OCTET STRING},
4877 k SEQUENCE{x2 NULL,
4878 y2 BOOLEAN},
4879 l SET { x3 BIT STRING,
4880 y3 REAL},
4881 m SEQUENCE OF INTEGER,
4882 n SET OF BOOLEAN
4883 }
4884 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4885 END
4886
4887 <STATIC>
4888
4889 import from TempA all;
4890 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4891 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4892
4893 const BERPDU myValue1 := {a := NULL,
4894 b := true,
4895 c := 2,
4896 d := first,
4897 e := 1.0,
4898 f := '1'B,
4899 g := 'FFFF'O,
4900 h := myOBJID,
4901 i := "ABC",
4902 j := {x1 := true } ,
4903 k := {x2 := NULL,
4904 y2 := true } ,
4905 l := {y3 := 1.0 ,
4906 x3 := '1'B } ,
4907 m :=
4908 { 1 ,2 } ,
4909 n :=
4910 { true, true }
4911 }
4912 const BERPDU myValue2 := {a := NULL,
4913 c := 2,
4914 d := first,
4915 e := 1.0,
4916 b := true,
4917 f := '1'B,
4918 g := 'FFFF'O,
4919 i := "ABC",
4920 j := {x1 := true } ,
4921 k := {x2 := NULL,
4922 y2 := true } ,
4923 l := {y3 := 1.0 ,
4924 x3 := '1'B } ,
4925 h := myOBJID,
4926 m :=
4927 { 1 ,2 } ,
4928 n :=
4929 { true, true }
4930 }
4931
4932 <TTCN_TC:EXEC>
4933
4934 if ((enc_DER_PDU(myValue1) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4935 and(enc_CER_PDU(myValue1) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4936 if ((enc_DER_PDU(myValue2) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4937 and(enc_CER_PDU(myValue2) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4938
4939 <RESULT>
4940
4941 Overall verdict: pass
4942
4943 <END_TC>
4944
4945 :exmp.
4946
4947 .*---------------------------------------------------------------------*
4948 :h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING (unified)
4949 .*---------------------------------------------------------------------*
4950 :xmp tab=0.
4951
4952 <TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING (unified)>
4953
4954 <STATIC:ASN>
4955
4956 TempA
4957 DEFINITIONS
4958 IMPLICIT TAGS
4959 ::=
4960 BEGIN
4961 BERPDU ::= SET
4962 {
4963 d [PRIVATE 0] INTEGER OPTIONAL,
4964 a INTEGER OPTIONAL,
4965 b [APPLICATION 0] INTEGER OPTIONAL,
4966 c [0] INTEGER OPTIONAL
4967 }
4968 END
4969
4970 <STATIC>
4971
4972 import from TempA all;
4973 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4974 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4975 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4976
4977 const BERPDU myValue1 := {
4978 a := 1,
4979 c := 3,
4980 d := 4,
4981 b := 2 }
4982
4983 <TTCN_TC:EXEC>
4984
4985 if ((enc_DER_PDU(myValue1) == '310C020101400102800103C00104'O)and(enc_CER_PDU(myValue1) == '3180020101400102800103C001040000'O)) {setverdict(pass);} else {setverdict(fail);}
4986 if (dec_BER_PDU('310C020101400102800103C00104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4987 if (dec_BER_PDU('3180020101400102800103C001040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4988
4989 <RESULT>
4990
4991 Overall verdict: pass
4992
4993 <END_TC>
4994
4995 :exmp.
4996
4997 .*---------------------------------------------------------------------*
4998 :h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) (unified)
4999 .*---------------------------------------------------------------------*
5000 :xmp tab=0.
5001
5002 <TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) (unified)>
5003
5004 <STATIC:ASN>
5005
5006 TempA
5007 DEFINITIONS
5008 ::=
5009 BEGIN
5010 BERPDU ::= SET
5011 {
5012 d [PRIVATE 0] INTEGER OPTIONAL,
5013 a INTEGER OPTIONAL,
5014 b [APPLICATION 0] INTEGER OPTIONAL,
5015 c [0] INTEGER OPTIONAL
5016 }
5017 END
5018
5019 <STATIC>
5020
5021 import from TempA all;
5022 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5023 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5024 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5025
5026 const BERPDU myValue1 := {
5027 a := 1,
5028 c := 3,
5029 d := 4,
5030 b := 2 }
5031
5032 <TTCN_TC:EXEC>
5033 if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5034 if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5035 if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5036
5037 <RESULT>
5038
5039 Overall verdict: pass
5040
5041 <END_TC>
5042
5043 :exmp.
5044
5045 .*---------------------------------------------------------------------*
5046 :h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING (unified)
5047 .*---------------------------------------------------------------------*
5048 :xmp tab=0.
5049
5050 <TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING (unified)>
5051
5052 <STATIC:ASN>
5053
5054 TempA
5055 DEFINITIONS
5056 EXPLICIT TAGS
5057 ::=
5058 BEGIN
5059 BERPDU ::= SET
5060 {
5061 d [PRIVATE 0] INTEGER OPTIONAL,
5062 a INTEGER OPTIONAL,
5063 b [APPLICATION 0] INTEGER OPTIONAL,
5064 c [0] INTEGER OPTIONAL
5065 }
5066 END
5067
5068 <STATIC>
5069
5070 import from TempA all;
5071 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5072 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5073 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5074
5075 const BERPDU myValue1 := {
5076 a := 1,
5077 c := 3,
5078 d := 4,
5079 b := 2 }
5080
5081 <TTCN_TC:EXEC>
5082 if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5083 if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5084 if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5085
5086 <RESULT>
5087
5088 Overall verdict: pass
5089
5090 <END_TC>
5091
5092 :exmp.
5093
5094 .*---------------------------------------------------------------------*
5095 :h3.CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS (unified)
5096 .*---------------------------------------------------------------------*
5097 :xmp tab=0.
5098
5099 <TC - CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS (unified)>
5100
5101 <STATIC:ASN>
5102
5103 TempA
5104 DEFINITIONS
5105 IMPLICIT TAGS
5106 ::=
5107 BEGIN
5108 BERPDU ::= SET
5109 {
5110 a [3] INTEGER,
5111 b [1] CHOICE
5112 {
5113 c [2] INTEGER,
5114 d [4] INTEGER
5115 },
5116 e CHOICE
5117 {
5118 f CHOICE
5119 {
5120 g [5] INTEGER,
5121 h [6] INTEGER
5122 },
5123 i CHOICE
5124 {
5125 j [0] INTEGER
5126 }
5127 }
5128 }
5129 END
5130
5131 <STATIC>
5132
5133 import from TempA all;
5134 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5135 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5136 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5137
5138 const BERPDU myValue1 := {
5139 a := 1,
5140 b := {c:= 2},
5141 e := { f := {g := 3 } }
5142 }
5143
5144 <TTCN_TC:EXEC>
5145 if ((enc_DER_PDU(myValue1) == '310BA103820102830101850103'O)and(enc_CER_PDU(myValue1) == '3180850103A18082010200008301010000'O)) {setverdict(pass);} else {setverdict(fail);}
5146 if (dec_BER_PDU('310BA103820102830101850103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5147 if (dec_BER_PDU('3180850103A18082010200008301010000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5148
5149 <RESULT>
5150
5151 Overall verdict: pass
5152
5153 <END_TC>
5154
5155 :exmp.
5156
5157 .*---------------------------------------------------------------------*
5158 :h3.CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS (unified)
5159 .*---------------------------------------------------------------------*
5160 :xmp tab=0.
5161
5162 <TC - CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS (unified)>
5163
5164 <STATIC:ASN>
5165
5166 TempA
5167 DEFINITIONS
5168 EXPLICIT TAGS
5169 ::=
5170 BEGIN
5171 BERPDU ::= SET
5172 {
5173 a [3] INTEGER,
5174 b [1] CHOICE
5175 {
5176 c [2] INTEGER,
5177 d [4] INTEGER
5178 },
5179 e CHOICE
5180 {
5181 f CHOICE
5182 {
5183 g [5] INTEGER,
5184 h [6] INTEGER
5185 },
5186 i CHOICE
5187 {
5188 j [0] INTEGER
5189 }
5190 }
5191 }
5192 END
5193
5194 <STATIC>
5195
5196 import from TempA all;
5197 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5198 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5199 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5200
5201 const BERPDU myValue1 := {
5202 a := 1,
5203 b := {c:= 2},
5204 e := { f := { g := 3 } }
5205 }
5206
5207 <TTCN_TC:EXEC>
5208
5209 if ((enc_DER_PDU(myValue1) == '3111A105A203020102A303020101A503020103'O)and(enc_CER_PDU(myValue1) == '3180A5800201030000A180A28002010200000000A38002010100000000'O)) {setverdict(pass);} else {setverdict(fail);}
5210 if (dec_BER_PDU('3111A105A203020102A303020101A503020103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5211 if (dec_BER_PDU('3180A5800201030000A180A28002010200000000A38002010100000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5212
5213 <RESULT>
5214
5215 Overall verdict: pass
5216
5217 <END_TC>
5218
5219 :exmp.
5220
5221 .*---------------------------------------------------------------------*
5222 :h3. DECODING , different order, SET (both elements are used)
5223 .*---------------------------------------------------------------------*
5224 :xmp tab=0.
5225
5226 <TC - DECODING , different order, SET (both elements are used)>
5227
5228 <STATIC:ASN>
5229
5230 TempA
5231
5232 DEFINITIONS ::=
5233 BEGIN
5234 BERPDU ::= SET
5235 {
5236
5237 c INTEGER OPTIONAL,
5238 b BOOLEAN OPTIONAL
5239 }
5240
5241
5242 END
5243
5244 <STATIC>
5245
5246 import from TempA all;
5247
5248 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5249
5250
5251 const BERPDU myValue := {
5252 c := 5,
5253 b := true }
5254
5255
5256 <TTCN_TC:EXEC>
5257
5258 if (dec_BER_PDU('31800201050101FF0000'O) == myValue)
5259
5260
5261
5262 {setverdict(pass);} else {setverdict(fail);}
5263
5264
5265 <RESULT>
5266
5267 Overall verdict: pass
5268
5269 <END_TC>
5270
5271 :exmp.
5272
5273 .*---------------------------------------------------------------------*
5274 :h3. DECODING , DER, SET with fields of different types , (unified)
5275 .*---------------------------------------------------------------------*
5276 :xmp tab=0.
5277
5278 <TC - DECODING , DER, SET with fields of different types ,(unified)>
5279
5280 <STATIC:ASN>
5281
5282 TempA
5283 DEFINITIONS
5284 ::=
5285 BEGIN
5286 BERPDU ::= SET
5287 {
5288 a NULL,
5289 b BOOLEAN,
5290 c INTEGER,
5291 d ENUMERATED {first ,second ,third},
5292 --e REAL,
5293 f BIT STRING,
5294 g OCTET STRING,
5295 h OBJECT IDENTIFIER,
5296 i IA5String,
5297 j CHOICE {x1 [1] BOOLEAN,
5298 y1 [2] OCTET STRING},
5299 k SEQUENCE{x2 NULL,
5300 y2 BOOLEAN},
5301 l SET { x3 BIT STRING,
5302 y3 NULL},
5303 m [3] SEQUENCE OF INTEGER,
5304 n [4] SET OF BOOLEAN
5305 }
5306 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5307 END
5308
5309 <STATIC>
5310
5311 import from TempA all;
5312
5313 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5314
5315 const BERPDU myValue := {a := NULL,
5316 b := true,
5317 c := 2,
5318 d := first,
5319 // e := 1.0,
5320 f := '1'B,
5321 g := 'FFFF'O,
5322 h := myOBJID,
5323 i := "ABC",
5324 j := {x1 := true } ,
5325 k := {x2 := NULL,
5326 y2 := true } ,
5327 l := {y3 := NULL ,
5328 x3 := '1'B } ,
5329 m :=
5330 { 1 ,2 } ,
5331 n :=
5332 { true, true }
5333 }
5334
5335 <TTCN_TC:EXEC>
5336
5337 if (dec_BER_PDU('31450101FF020102030207800402FFFF050006030002030A01001603414243300505000101FF3106030207800500A1030101FFA3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5338 if (dec_BER_PDU('31800101FF020102030207800402FFFF050006030002030A01001603414243308005000101FF000031800302078005000000A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5339 if (dec_BER_PDU('31450101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF0500'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5340 if (dec_BER_PDU('31800101FF0201020A0100030207800402FFFF050006030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5341
5342 <RESULT>
5343
5344 Overall verdict: pass
5345
5346 <END_TC>
5347
5348 :exmp.
5349
5350 .*---------------------------------------------------------------------*
5351 :h3. DECODING , DER, SET with fields of different types , AUTOMATIC TAGS (unified)
5352 .*---------------------------------------------------------------------*
5353 :xmp tab=0.
5354
5355 <TC - DECODING , DER, SET with fields of different types , AUTOMATIC TAGS (unified)>
5356
5357 <STATIC:ASN>
5358
5359 TempA
5360 DEFINITIONS
5361 AUTOMATIC TAGS
5362 ::=
5363 BEGIN
5364 BERPDU ::= SET
5365 {
5366 a NULL,
5367 b BOOLEAN,
5368 c INTEGER,
5369 d ENUMERATED {first ,second ,third},
5370 e NULL,
5371 f BIT STRING,
5372 g OCTET STRING,
5373 h OBJECT IDENTIFIER,
5374 i IA5String,
5375 j CHOICE {x1 BOOLEAN,
5376 y1 OCTET STRING},
5377 k SEQUENCE{x2 NULL,
5378 y2 BOOLEAN},
5379 l SET { x3 BIT STRING,
5380 y3 NULL},
5381 m SEQUENCE OF INTEGER,
5382 n SET OF BOOLEAN
5383 }
5384 myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5385 END
5386
5387 <STATIC>
5388
5389 import from TempA all;
5390
5391 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5392
5393 const BERPDU myValue := {a := NULL,
5394 b := true,
5395 c := 2,
5396 d := first,
5397 e := NULL,
5398 f := '1'B,
5399 g := 'FFFF'O,
5400 h := myOBJID,
5401 i := "ABC",
5402 j := {x1 := true } ,
5403 k := {x2 := NULL,
5404 y2 := true } ,
5405 l := {y3 := NULL ,
5406 x3 := '1'B } ,
5407 m :=
5408 { 1 ,2 } ,
5409 n :=
5410 { true, true }
5411 }
5412
5413 <TTCN_TC:EXEC>
5414
5415 if (dec_BER_PDU('314380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5416 if (dec_BER_PDU('318080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5417 if (dec_BER_PDU('31438101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF8000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5418 if (dec_BER_PDU('318080008201028101FF8301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5419
5420 <RESULT>
5421
5422 Overall verdict: pass
5423
5424 <END_TC>
5425
5426 :exmp.
5427
5428 .*---------------------------------------------------------------------*
5429 :h3.CER + DER encoding of SET OF INTEGER (empty) (unified)
5430 .*---------------------------------------------------------------------*
5431 :xmp tab=0.
5432
5433 <TC - CER + DER encoding of SET OF INTEGER (empty) (unified)>
5434
5435 <STATIC:ASN>
5436
5437 TempA
5438
5439 DEFINITIONS ::=
5440 BEGIN
5441 BERPDU ::= SET OF INTEGER
5442 END
5443
5444 <STATIC>
5445
5446 import from TempA all;
5447 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5448 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5449 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5450
5451 const BERPDU myValue1 := { }
5452
5453 <TTCN_TC:EXEC>
5454
5455 if ((enc_DER_PDU(myValue1) == '3100'O)and(enc_CER_PDU(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
5456 if (dec_BER_PDU('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5457 if (dec_BER_PDU('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5458
5459 <RESULT>
5460
5461 Overall verdict: pass
5462
5463 <END_TC>
5464
5465 :exmp.
5466
5467 .*---------------------------------------------------------------------*
5468 :h3.CER + DER encoding of SET OF BOOLEAN (unified)
5469 .*---------------------------------------------------------------------*
5470 :xmp tab=0.
5471
5472 <TC - CER + DER encoding of SET OF BOOLEAN (unified)>
5473
5474 <STATIC:ASN>
5475
5476 TempA
5477
5478 DEFINITIONS ::=
5479 BEGIN
5480 BERPDU ::= SET OF BOOLEAN
5481 END
5482
5483 <STATIC>
5484
5485 import from TempA all;
5486 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5487 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5488 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5489
5490 const BERPDU myValue := {true, false }
5491
5492 <TTCN_TC:EXEC>
5493
5494 if ((enc_DER_PDU(myValue) == '31060101000101FF'O)and(enc_CER_PDU(myValue) == '31800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5495 if (dec_BER_PDU('31060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5496 if (dec_BER_PDU('31800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5497 if (dec_BER_PDU('31060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5498 if (dec_BER_PDU('31800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5499
5500 <RESULT>
5501
5502 Overall verdict: pass
5503
5504 <END_TC>
5505
5506 :exmp.
5507
5508 .*---------------------------------------------------------------------*
5509 :h3.CER + DER encoding of SET OF OCTET STRING (unified)
5510 .*---------------------------------------------------------------------*
5511 :xmp tab=0.
5512
5513 <TC - CER + DER encoding of SET OF OCTET STRING (unified)>
5514
5515 <STATIC:ASN>
5516
5517 TempA
5518
5519 DEFINITIONS ::=
5520 BEGIN
5521 BERPDU ::= SET OF OCTET STRING
5522 END
5523
5524 <STATIC>
5525
5526 import from TempA all;
5527 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5528 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5529 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5530
5531 const BERPDU myValue := {'FFFF'O, 'AB'O };
5532
5533 <TTCN_TC:EXEC>
5534
5535 if ((enc_DER_PDU(myValue) == '31070401AB0402FFFF'O)and(enc_CER_PDU(myValue) == '31800401AB0402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5536 if (dec_BER_PDU('31070401AB0402FFFF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5537 if (dec_BER_PDU('31800401AB0402FFFF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5538 if (dec_BER_PDU('31070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5539 if (dec_BER_PDU('31800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5540
5541 <RESULT>
5542
5543 Overall verdict: pass
5544
5545 <END_TC>
5546
5547 :exmp.
5548
5549 .*---------------------------------------------------------------------*
5550 :h3.CER + DER encoding of SET OF SEQUENCE (unified)
5551 .*---------------------------------------------------------------------*
5552 :xmp tab=0.
5553
5554 <TC - CER + DER encoding of SET OF SEQUENCE (unified)>
5555
5556 <STATIC:ASN>
5557
5558 TempA
5559
5560 DEFINITIONS ::=
5561 BEGIN
5562 BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN}
5563 END
5564
5565 <STATIC>
5566
5567 import from TempA all;
5568 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5569 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5570 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5571
5572 const BERPDU myValue := {
5573 {
5574 a := 5,
5575 b := true
5576 },
5577
5578 {
5579 a := 3,
5580 b := false
5581 }
5582
5583 };
5584
5585 <TTCN_TC:EXEC>
5586
5587 if ((enc_DER_PDU(myValue) == '3110300602010301010030060201050101FF'O)and(enc_CER_PDU(myValue) == '31803080020103010100000030800201050101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5588 if (dec_BER_PDU('3110300602010301010030060201050101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5589 if (dec_BER_PDU('31803080020103010100000030800201050101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5590 if (dec_BER_PDU('311030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5591 if (dec_BER_PDU('318030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5592
5593 <RESULT>
5594
5595 Overall verdict: pass
5596
5597 <END_TC>
5598
5599 :exmp.
5600
5601 .*---------------------------------------------------------------------*
5602 :h3.CER + DER encoding of SET OF SET (unified)
5603 .*---------------------------------------------------------------------*
5604 :xmp tab=0.
5605
5606 <TC - CER + DER encoding of SET OF SET (unified)>
5607
5608 <STATIC:ASN>
5609
5610 TempA
5611
5612 DEFINITIONS ::=
5613 BEGIN
5614 BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN}
5615 END
5616
5617 <STATIC>
5618
5619 import from TempA all;
5620 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5621 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5622 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5623
5624 const BERPDU myValue := {
5625 {
5626 a := 5,
5627 b := true
5628 },
5629
5630 {
5631 a := 3,
5632 b := false
5633 }
5634 };
5635
5636 <TTCN_TC:EXEC>
5637
5638 if ((enc_DER_PDU(myValue) == '3110310601010002010331060101FF020105'O)and(enc_CER_PDU(myValue) == '31803180010100020103000031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
5639 if (dec_BER_PDU('3110310601010002010331060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5640 if (dec_BER_PDU('31803180010100020103000031800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5641 if (dec_BER_PDU('311031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5642 if (dec_BER_PDU('318031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5643
5644 <RESULT>
5645
5646 Overall verdict: pass
5647
5648 <END_TC>
5649
5650 :exmp.
5651
5652 .*---------------------------------------------------------------------*
5653 :h3.CER + DER encoding of SET OF CHOICE (unified)
5654 .*---------------------------------------------------------------------*
5655 :xmp tab=0.
5656
5657 <TC - CER + DER encoding of SET OF CHOICE (unified)>
5658
5659 <STATIC:ASN>
5660
5661 TempA
5662
5663 DEFINITIONS ::=
5664 BEGIN
5665 BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN}
5666 END
5667
5668 <STATIC>
5669
5670 import from TempA all;
5671 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5672 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5673 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5674
5675 const BERPDU myValue := {
5676 {
5677 a := 5
5678 },
5679 {
5680 b := false
5681 }
5682 };
5683
5684 <TTCN_TC:EXEC>
5685
5686 if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
5687 if (dec_BER_PDU('3106010100020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5688 if (dec_BER_PDU('31800101000201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5689 if (dec_BER_PDU('3106020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5690 if (dec_BER_PDU('31800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5691
5692 <RESULT>
5693
5694 Overall verdict: pass
5695
5696 <END_TC>
5697
5698 :exmp.
5699
5700 .*---------------------------------------------------------------------*
5701 :h3.CER + DER encoding of SET OF SEQUENCE OF (unified)
5702 .*---------------------------------------------------------------------*
5703 :xmp tab=0.
5704
5705 <TC - CER + DER encoding of SET OF SEQUENCE OF (unified)>
5706
5707 <STATIC:ASN>
5708
5709 TempA
5710
5711 DEFINITIONS ::=
5712 BEGIN
5713 BERPDU ::= SET OF SEQUENCE OF INTEGER
5714 END
5715
5716 <STATIC>
5717
5718 import from TempA all;
5719 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5720 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5721 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5722
5723 const BERPDU myValue := {
5724 {
5725 5,
5726 6,
5727 7
5728 },
5729 {
5730 1,
5731 2,
5732 3
5733 }
5734 };
5735
5736 <TTCN_TC:EXEC>
5737
5738 if ((enc_DER_PDU(myValue) == '311630090201010201020201033009020105020106020107'O)and(enc_CER_PDU(myValue) == '318030800201010201020201030000308002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5739 if (dec_BER_PDU('311630090201010201020201033009020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5740 if (dec_BER_PDU('318030800201010201020201030000308002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5741 if (dec_BER_PDU('311630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5742 if (dec_BER_PDU('318030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5743
5744 <RESULT>
5745
5746 Overall verdict: pass
5747
5748 <END_TC>
5749
5750 :exmp.
5751
5752 .*---------------------------------------------------------------------*
5753 :h3.CER + DER encoding of SET OF SET OF (unified)
5754 .*---------------------------------------------------------------------*
5755 :xmp tab=0.
5756
5757 <TC - CER + DER encoding of SET OF SET OF (unified)>
5758
5759 <STATIC:ASN>
5760
5761 TempA
5762
5763 DEFINITIONS ::=
5764 BEGIN
5765 BERPDU ::= SET OF SET OF INTEGER
5766 END
5767
5768 <STATIC>
5769
5770 import from TempA all;
5771 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5772 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5773 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5774
5775 const BERPDU myValue := {
5776 {5,6,7},
5777 {1,2,3}
5778 };
5779
5780 <TTCN_TC:EXEC>
5781
5782 if ((enc_DER_PDU(myValue) == '311631090201010201020201033109020105020106020107'O)and(enc_CER_PDU(myValue) == '318031800201010201020201030000318002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5783 if (dec_BER_PDU('311631090201010201020201033109020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5784 if (dec_BER_PDU('318031800201010201020201030000318002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5785 if (dec_BER_PDU('311631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5786 if (dec_BER_PDU('318031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5787
5788 <RESULT>
5789
5790 Overall verdict: pass
5791
5792 <END_TC>
5793
5794 :exmp.
5795
5796 .*---------------------------------------------------------------------*
5797 :h3.CER + DER encoding of TAGGED SET OF BOOLEAN (unified)
5798 .*---------------------------------------------------------------------*
5799 :xmp tab=0.
5800
5801 <TC - CER + DER encoding of TAGGED SET OF BOOLEAN (unified)>
5802
5803 <STATIC:ASN>
5804
5805 TempA
5806
5807 DEFINITIONS ::=
5808 BEGIN
5809 BERPDU ::= [0] SET OF BOOLEAN
5810 END
5811
5812 <STATIC>
5813
5814 import from TempA all;
5815 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5816 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5817 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5818
5819 const BERPDU myValue := {true, false }
5820
5821 <TTCN_TC:EXEC>
5822
5823 if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5824 if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5825 if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5826 if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5827 if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5828
5829 <RESULT>
5830
5831 Overall verdict: pass
5832
5833 <END_TC>
5834
5835 :exmp.
5836
5837 .*---------------------------------------------------------------------*
5838 :h3.CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (unified)
5839 .*---------------------------------------------------------------------*
5840 :xmp tab=0.
5841
5842 <TC - CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (unified)>
5843
5844 <STATIC:ASN>
5845
5846 TempA
5847
5848 DEFINITIONS
5849 EXPLICIT TAGS
5850 ::=
5851 BEGIN
5852 BERPDU ::= [0] SET OF BOOLEAN
5853 END
5854
5855 <STATIC>
5856
5857 import from TempA all;
5858 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5859 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5860 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5861
5862 const BERPDU myValue := {true, false }
5863
5864 <TTCN_TC:EXEC>
5865
5866 if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5867 if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5868 if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5869 if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5870 if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5871
5872 <RESULT>
5873
5874 Overall verdict: pass
5875
5876 <END_TC>
5877
5878 :exmp.
5879
5880 .*---------------------------------------------------------------------*
5881 :h3.CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (unified)
5882 .*---------------------------------------------------------------------*
5883 :xmp tab=0.
5884
5885 <TC - CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (unified)>
5886
5887 <STATIC:ASN>
5888
5889 TempA
5890
5891 DEFINITIONS
5892 IMPLICIT TAGS
5893 ::=
5894 BEGIN
5895 BERPDU ::= [0] SET OF BOOLEAN
5896 END
5897
5898 <STATIC>
5899
5900 import from TempA all;
5901 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5902 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5903 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5904
5905 const BERPDU myValue := {true, false }
5906
5907 <TTCN_TC:EXEC>
5908
5909 if ((enc_DER_PDU(myValue) == 'A0060101000101FF'O)and(enc_CER_PDU(myValue) == 'A0800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5910 if (dec_BER_PDU('A0060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5911 if (dec_BER_PDU('A0800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5912 if (dec_BER_PDU('A0060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5913 if (dec_BER_PDU('A0800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5914
5915 <RESULT>
5916
5917 Overall verdict: pass
5918
5919 <END_TC>
5920
5921 :exmp.
5922
5923 .*---------------------------------------------------------------------*
5924 :h3.CER + DER encoding of SET OF OCTET STRING
5925 .*---------------------------------------------------------------------*
5926 :xmp tab=0.
5927
5928 <TC - CER + DER encoding of SET OF OCTET STRING >
5929
5930 <STATIC:ASN>
5931
5932 TempA
5933
5934 DEFINITIONS ::=
5935 BEGIN
5936
5937 BERPDU ::= SET OF OCTET STRING
5938
5939 END
5940
5941 <STATIC>
5942
5943 import from TempA all;
5944 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5945 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5946
5947 const BERPDU myValue := {'FFFF'O, ''O };
5948
5949 <TTCN_TC:EXEC>
5950
5951 if ((enc_DER_PDU(myValue) == '310604000402FFFF'O)and(enc_CER_PDU(myValue) == '318004000402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5952
5953 <RESULT>
5954
5955 Overall verdict: pass
5956
5957 <END_TC>
5958
5959 :exmp.
5960
5961 .*---------------------------------------------------------------------*
5962 :h3.CER + DER encoding of CHOICE - NULL (unified)
5963 .*---------------------------------------------------------------------*
5964 :xmp tab=0.
5965
5966 <TC - CER + DER encoding of CHOICE - NULL (unified)>
5967
5968 <STATIC:ASN>
5969
5970 TempA
5971
5972 DEFINITIONS ::=
5973 BEGIN
5974
5975 BERPDU ::= CHOICE
5976 {
5977 a NULL,
5978 b BOOLEAN,
5979 c INTEGER,
5980 d ENUMERATED {first ,second ,third},
5981 e REAL,
5982 f BIT STRING,
5983 g OCTET STRING,
5984
5985 h OBJECT IDENTIFIER,
5986 i IA5String,
5987 j CHOICE {x1 [1] BOOLEAN,
5988 y1 [2] OCTET STRING},
5989
5990 k SEQUENCE{x2 NULL,
5991 y2 BOOLEAN},
5992
5993 l SET { x3 BIT STRING,
5994 y3 REAL},
5995
5996 m [3] SEQUENCE OF INTEGER,
5997 n [4] SET OF BOOLEAN
5998 }
5999
6000 myValue8 BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)}
6001 END
6002
6003 <STATIC>
6004
6005 import from TempA all;
6006 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6007 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6008 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6009
6010 const BERPDU myValue1 := {a := NULL}
6011 const BERPDU myValue2 := {b := true}
6012 const BERPDU myValue3 := {c := 2}
6013 const BERPDU myValue4 := {d := first}
6014 const BERPDU myValue5 := {e := 1.0}
6015 const BERPDU myValue6 := {f := '1'B}
6016 const BERPDU myValue7 := {g := 'FFFF'O}
6017
6018 const BERPDU myValue9 := {i := "ABC"}
6019 const BERPDU myValue10 := {j := {x1 := true } }
6020 const BERPDU myValue11 := {k := {x2 := NULL,
6021 y2 := true } }
6022 const BERPDU myValue12 := {l := {y3 := 1.0 ,
6023 x3 := '1'B } }
6024 const BERPDU myValue13 := {m :=
6025 { 1 ,2 } }
6026 const BERPDU myValue14 := {n :=
6027 { true, true } }
6028 <TTCN_TC:EXEC>
6029
6030 if ((enc_DER_PDU(myValue1) == '0500'O)and(enc_CER_PDU(myValue1) == '0500'O)) {setverdict(pass);} else {setverdict(fail);}
6031 if ((enc_DER_PDU(myValue2) == '0101FF'O)and(enc_CER_PDU(myValue2) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6032 if ((enc_DER_PDU(myValue3) == '020102'O)and(enc_CER_PDU(myValue3) == '020102'O)) {setverdict(pass);} else {setverdict(fail);}
6033 if ((enc_DER_PDU(myValue4) == '0A0100'O)and(enc_CER_PDU(myValue4) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
6034 if ((enc_DER_PDU(myValue5) == '090603312E452B30'O)and(enc_CER_PDU(myValue5) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
6035 if ((enc_DER_PDU(myValue6) == '03020780'O)and(enc_CER_PDU(myValue6) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);}
6036 if ((enc_DER_PDU(myValue7) == '0402FFFF'O)and(enc_CER_PDU(myValue7) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
6037 if ((enc_DER_PDU(myValue8) == '0603000203'O)and(enc_CER_PDU(myValue8) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
6038 if ((enc_DER_PDU(myValue9) == '1603414243'O)and(enc_CER_PDU(myValue9) == '1603414243'O)) {setverdict(pass);} else {setverdict(fail);}
6039 if ((enc_DER_PDU(myValue10) == 'A1030101FF'O)and(enc_CER_PDU(myValue10) == 'A1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6040 if ((enc_DER_PDU(myValue11) == '300505000101FF'O)and(enc_CER_PDU(myValue11) == '308005000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6041 if ((enc_DER_PDU(myValue12) == '310C03020780090603312E452B30'O)and(enc_CER_PDU(myValue12) == '318003020780090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);}
6042 if ((enc_DER_PDU(myValue13) == 'A3083006020101020102'O)and(enc_CER_PDU(myValue13) == 'A380308002010102010200000000'O)) {setverdict(pass);} else {setverdict(fail);}
6043 if ((enc_DER_PDU(myValue14) == 'A40831060101FF0101FF'O)and(enc_CER_PDU(myValue14) == 'A48031800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6044 if (dec_BER_PDU('0500'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6045 if (dec_BER_PDU('0101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
6046 if (dec_BER_PDU('020102'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
6047 if (dec_BER_PDU('0A0100'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
6048 if (dec_BER_PDU('03020780'O) == myValue6){setverdict(pass);} else {setverdict(fail);}
6049 if (dec_BER_PDU('0402FFFF'O) == myValue7){setverdict(pass);} else {setverdict(fail);}
6050 if (dec_BER_PDU('0603000203'O) == myValue8){setverdict(pass);} else {setverdict(fail);}
6051 if (dec_BER_PDU('1603414243'O) == myValue9){setverdict(pass);} else {setverdict(fail);}
6052 if (dec_BER_PDU('A1030101FF'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6053 if (dec_BER_PDU('A1800101FF0000'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6054 if (dec_BER_PDU('300505000101FF'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6055 if (dec_BER_PDU('308005000101FF0000'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6056 if (dec_BER_PDU('A3083006020101020102'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6057 if (dec_BER_PDU('A380308002010102010200000000'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6058 if (dec_BER_PDU('A40831060101FF0101FF'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6059 if (dec_BER_PDU('A48031800101FF0101FF00000000'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6060
6061 <RESULT>
6062
6063 Overall verdict: pass
6064
6065 <END_TC>
6066
6067 :exmp.
6068
6069 .*---------------------------------------------------------------------*
6070 :h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged (unified)
6071 .*---------------------------------------------------------------------*
6072 :xmp tab=0.
6073
6074 <TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged (unified)>
6075
6076 <STATIC:ASN>
6077
6078 TempA
6079
6080 DEFINITIONS
6081 IMPLICIT TAGS
6082 ::=
6083 BEGIN
6084 BERPDU ::= CHOICE
6085 {
6086 b BOOLEAN,
6087 c INTEGER
6088 }
6089 END
6090
6091 <STATIC>
6092
6093 import from TempA all;
6094 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6095 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6096 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6097
6098 const BERPDU myValue1 := {b := true }
6099
6100 <TTCN_TC:EXEC>
6101
6102 if ((enc_DER_PDU(myValue1) == '0101FF'O)and(enc_CER_PDU(myValue1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6103 if (dec_BER_PDU('0101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6104
6105 <RESULT>
6106
6107 Overall verdict: pass
6108
6109 <END_TC>
6110
6111 :exmp.
6112
6113 .*---------------------------------------------------------------------*
6114 :h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged (unified)
6115 .*---------------------------------------------------------------------*
6116 :xmp tab=0.
6117
6118 <TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged (unified)>
6119
6120 <STATIC:ASN>
6121
6122 TempA
6123
6124 DEFINITIONS
6125 EXPLICIT TAGS
6126 ::=
6127 BEGIN
6128 BERPDU ::= CHOICE
6129 {
6130 b BOOLEAN,
6131 c INTEGER
6132 }
6133 END
6134
6135 <STATIC>
6136
6137 import from TempA all;
6138 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6139 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6140 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6141
6142 const BERPDU myValue := {b := true }
6143
6144 <TTCN_TC:EXEC>
6145
6146 if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6147 if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6148
6149
6150 <RESULT>
6151
6152 Overall verdict: pass
6153
6154 <END_TC>
6155
6156 :exmp.
6157
6158 .*---------------------------------------------------------------------*
6159 :h3.CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged(unified)
6160 .*---------------------------------------------------------------------*
6161 :xmp tab=0.
6162
6163 <TC - CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged(unified)>
6164
6165 <STATIC:ASN>
6166
6167 TempA
6168 DEFINITIONS
6169 ::=
6170 BEGIN
6171 BERPDU ::= CHOICE
6172 {
6173 b BOOLEAN,
6174 c INTEGER
6175 }
6176 END
6177
6178 <STATIC>
6179
6180 import from TempA all;
6181 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6182 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6183 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6184
6185 const BERPDU myValue := {b := true }
6186
6187 <TTCN_TC:EXEC>
6188
6189 if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6190 if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6191
6192 <RESULT>
6193
6194 Overall verdict: pass
6195
6196 <END_TC>
6197
6198 :exmp.
6199
6200 .*---------------------------------------------------------------------*
6201 :h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged (unified)
6202 .*---------------------------------------------------------------------*
6203 :xmp tab=0.
6204
6205 <TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged (unified)>
6206
6207 <STATIC:ASN>
6208
6209 TempA
6210
6211 DEFINITIONS
6212 AUTOMATIC TAGS
6213 ::=
6214 BEGIN
6215 BERPDU ::= CHOICE
6216 {
6217 b BOOLEAN,
6218 c INTEGER
6219 }
6220 END
6221
6222 <STATIC>
6223
6224 import from TempA all;
6225 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6226 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6227 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6228
6229 const BERPDU myValue := {b := true }
6230
6231 <TTCN_TC:EXEC>
6232
6233 if ((enc_DER_PDU(myValue) == '8001FF'O)and(enc_CER_PDU(myValue) == '8001FF'O)) {setverdict(pass);} else {setverdict(fail);}
6234 if (dec_BER_PDU('8001FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6235
6236 <RESULT>
6237
6238 Overall verdict: pass
6239
6240 <END_TC>
6241
6242 :exmp.
6243
6244 .*---------------------------------------------------------------------*
6245 :h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE (unified)
6246 .*---------------------------------------------------------------------*
6247 :xmp tab=0.
6248
6249 <TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE (unified)>
6250
6251 <STATIC:ASN>
6252
6253 TempA
6254
6255 DEFINITIONS
6256 IMPLICIT TAGS
6257 ::=
6258 BEGIN
6259 BERPDU ::= CHOICE
6260 {
6261 b [3] BOOLEAN,
6262 c [6] INTEGER
6263 }
6264 END
6265
6266 <STATIC>
6267
6268 import from TempA all;
6269 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6270 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6271 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6272
6273 const BERPDU myValue := {b := true }
6274
6275 <TTCN_TC:EXEC>
6276
6277 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6278 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6279
6280 <RESULT>
6281
6282 Overall verdict: pass
6283
6284 <END_TC>
6285
6286 :exmp.
6287
6288 .*---------------------------------------------------------------------*
6289 :h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE (unified)
6290 .*---------------------------------------------------------------------*
6291 :xmp tab=0.
6292
6293 <TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE (unified)>
6294
6295 <STATIC:ASN>
6296
6297 TempA
6298
6299 DEFINITIONS
6300 EXPLICIT TAGS
6301 ::=
6302 BEGIN
6303 BERPDU ::= CHOICE
6304 {
6305 b [3] BOOLEAN,
6306 c [6] INTEGER
6307 }
6308 END
6309
6310 <STATIC>
6311
6312 import from TempA all;
6313 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6314 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6315 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6316
6317 const BERPDU myValue := {b := true }
6318
6319 <TTCN_TC:EXEC>
6320
6321 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6322 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6323 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6324
6325 <RESULT>
6326
6327 Overall verdict: pass
6328
6329 <END_TC>
6330
6331 :exmp.
6332
6333 .*---------------------------------------------------------------------*
6334 :h3.CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE (unified)
6335 .*---------------------------------------------------------------------*
6336 :xmp tab=0.
6337
6338 <TC - CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE (unified)>
6339
6340 <STATIC:ASN>
6341
6342 TempA
6343
6344 DEFINITIONS ::=
6345 BEGIN
6346
6347 BERPDU ::= CHOICE
6348 {
6349 b [3] BOOLEAN,
6350 c [6] INTEGER
6351 }
6352 END
6353
6354 <STATIC>
6355
6356 import from TempA all;
6357 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6358 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6359 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6360
6361 const BERPDU myValue := {b := true }
6362
6363 <TTCN_TC:EXEC>
6364
6365 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6366 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6367 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6368
6369 <RESULT>
6370
6371 Overall verdict: pass
6372
6373 <END_TC>
6374
6375 :exmp.
6376
6377 .*---------------------------------------------------------------------*
6378 :h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)
6379 .*---------------------------------------------------------------------*
6380 :xmp tab=0.
6381
6382 <TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)>
6383
6384 <STATIC:ASN>
6385
6386 TempA
6387
6388 DEFINITIONS
6389 AUTOMATIC TAGS
6390 ::=
6391 BEGIN
6392 BERPDU ::= CHOICE
6393 {
6394 b [3] BOOLEAN,
6395 c [6] INTEGER
6396 }
6397 END
6398
6399 <STATIC>
6400
6401 import from TempA all;
6402 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6403 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6404 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6405
6406 const BERPDU myValue := {b := true }
6407
6408 <TTCN_TC:EXEC>
6409
6410 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6411 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6412
6413 <RESULT>
6414
6415 Overall verdict: pass
6416
6417 <END_TC>
6418
6419 :exmp.
6420
6421 .*---------------------------------------------------------------------*
6422 :h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)
6423 .*---------------------------------------------------------------------*
6424 :xmp tab=0.
6425
6426 <TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)>
6427
6428 <STATIC:ASN>
6429
6430 TempA
6431
6432 DEFINITIONS
6433 IMPLICIT TAGS
6434 ::=
6435 BEGIN
6436 BERPDU ::= CHOICE
6437 {
6438 b [3] IMPLICIT BOOLEAN,
6439 c [6] INTEGER
6440 }
6441 END
6442
6443 <STATIC>
6444
6445 import from TempA all;
6446 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6447 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6448 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6449
6450 const BERPDU myValue := {b := true }
6451
6452 <TTCN_TC:EXEC>
6453
6454 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6455 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6456
6457 <RESULT>
6458
6459 Overall verdict: pass
6460
6461 <END_TC>
6462
6463 :exmp.
6464
6465 .*---------------------------------------------------------------------*
6466 :h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)
6467 .*---------------------------------------------------------------------*
6468 :xmp tab=0.
6469
6470 <TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)>
6471
6472 <STATIC:ASN>
6473
6474 TempA
6475
6476 DEFINITIONS
6477 EXPLICIT TAGS
6478 ::=
6479 BEGIN
6480 BERPDU ::= CHOICE
6481 {
6482 b [3] IMPLICIT BOOLEAN,
6483 c [6] INTEGER
6484 }
6485 END
6486
6487 <STATIC>
6488
6489 import from TempA all;
6490 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6491 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6492 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6493
6494 const BERPDU myValue := {b := true }
6495
6496 <TTCN_TC:EXEC>
6497
6498 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6499 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6500
6501 <RESULT>
6502
6503 Overall verdict: pass
6504
6505 <END_TC>
6506
6507 :exmp.
6508
6509 .*---------------------------------------------------------------------*
6510 :h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)
6511 .*---------------------------------------------------------------------*
6512 :xmp tab=0.
6513
6514 <TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)>
6515
6516 <STATIC:ASN>
6517
6518 TempA
6519
6520 DEFINITIONS
6521 ::=
6522 BEGIN
6523 BERPDU ::= CHOICE
6524 {
6525 b [3] IMPLICIT BOOLEAN,
6526 c [6] INTEGER
6527 }
6528 END
6529
6530 <STATIC>
6531
6532 import from TempA all;
6533 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6534 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6535 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6536
6537 const BERPDU myValue := {b := true }
6538
6539 <TTCN_TC:EXEC>
6540
6541 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6542 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6543
6544 <RESULT>
6545
6546 Overall verdict: pass
6547
6548 <END_TC>
6549
6550 :exmp.
6551
6552 .*---------------------------------------------------------------------*
6553 :h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)
6554 .*---------------------------------------------------------------------*
6555 :xmp tab=0.
6556
6557 <TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)>
6558
6559 <STATIC:ASN>
6560
6561 TempA
6562
6563 DEFINITIONS
6564 AUTOMATIC TAGS
6565 ::=
6566 BEGIN
6567 BERPDU ::= CHOICE
6568 {
6569 b [3] IMPLICIT BOOLEAN,
6570 c [6] INTEGER
6571 }
6572 END
6573
6574 <STATIC>
6575
6576 import from TempA all;
6577 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6578 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6579 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6580
6581 const BERPDU myValue := {b := true }
6582
6583 <TTCN_TC:EXEC>
6584
6585 if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6586 if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6587
6588 <RESULT>
6589
6590 Overall verdict: pass
6591
6592 <END_TC>
6593
6594 :exmp.
6595
6596 .*---------------------------------------------------------------------*
6597 :h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)
6598 .*---------------------------------------------------------------------*
6599 :xmp tab=0.
6600
6601 <TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)>
6602
6603 <STATIC:ASN>
6604
6605 TempA
6606 DEFINITIONS
6607 IMPLICIT TAGS
6608 ::=
6609 BEGIN
6610 BERPDU ::= CHOICE
6611 {
6612 b [3] EXPLICIT BOOLEAN,
6613 c [6] INTEGER
6614 }
6615 END
6616
6617 <STATIC>
6618
6619 import from TempA all;
6620 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6621 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6622 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6623
6624 const BERPDU myValue := {b := true }
6625
6626 <TTCN_TC:EXEC>
6627
6628 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6629 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6630 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6631
6632 <RESULT>
6633
6634 Overall verdict: pass
6635
6636 <END_TC>
6637
6638 :exmp.
6639
6640 .*---------------------------------------------------------------------*
6641 :h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)
6642 .*---------------------------------------------------------------------*
6643 :xmp tab=0.
6644
6645 <TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)>
6646
6647 <STATIC:ASN>
6648
6649 TempA
6650
6651 DEFINITIONS
6652 EXPLICIT TAGS
6653 ::=
6654 BEGIN
6655 BERPDU ::= CHOICE
6656 {
6657 b [3] EXPLICIT BOOLEAN,
6658 c [6] INTEGER
6659 }
6660 END
6661
6662 <STATIC>
6663
6664 import from TempA all;
6665 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6666 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6667 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6668
6669 const BERPDU myValue := {b := true }
6670
6671 <TTCN_TC:EXEC>
6672
6673 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6674 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6675 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6676
6677 <RESULT>
6678
6679 Overall verdict: pass
6680
6681 <END_TC>
6682
6683 :exmp.
6684
6685 .*---------------------------------------------------------------------*
6686 :h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)
6687 .*---------------------------------------------------------------------*
6688 :xmp tab=0.
6689
6690 <TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)>
6691
6692 <STATIC:ASN>
6693
6694 TempA
6695 DEFINITIONS
6696 ::=
6697 BEGIN
6698 BERPDU ::= CHOICE
6699 {
6700 b [3] EXPLICIT BOOLEAN,
6701 c [6] INTEGER
6702 }
6703 END
6704
6705 <STATIC>
6706
6707 import from TempA all;
6708 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6709 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6710 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6711
6712 const BERPDU myValue := {b := true }
6713
6714 <TTCN_TC:EXEC>
6715
6716 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6717 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6718 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6719
6720 <RESULT>
6721
6722 Overall verdict: pass
6723
6724 <END_TC>
6725
6726 :exmp.
6727
6728 .*---------------------------------------------------------------------*
6729 :h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)
6730 .*---------------------------------------------------------------------*
6731 :xmp tab=0.
6732
6733 <TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)>
6734
6735 <STATIC:ASN>
6736
6737 TempA
6738
6739 DEFINITIONS
6740 EXPLICIT TAGS
6741 ::=
6742 BEGIN
6743 BERPDU ::= CHOICE
6744 {
6745 b [3] EXPLICIT BOOLEAN,
6746 c [6] INTEGER
6747 }
6748 END
6749
6750 <STATIC>
6751
6752 import from TempA all;
6753 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6754 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6755 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6756
6757 const BERPDU myValue := {b := true }
6758
6759 <TTCN_TC:EXEC>
6760
6761 if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6762 if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6763 if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6764
6765 <RESULT>
6766
6767 Overall verdict: pass
6768
6769 <END_TC>
6770
6771 :exmp.
6772
6773 .*---------------------------------------------------------------------*
6774 :h3.CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, (unified)
6775 .*---------------------------------------------------------------------*
6776 :xmp tab=0.
6777
6778 <TC - CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, (unified)>
6779
6780 <STATIC:ASN>
6781
6782 TempA
6783
6784 DEFINITIONS
6785 IMPLICIT TAGS
6786 ::=
6787 BEGIN
6788 BERPDU ::= [0] CHOICE
6789 {
6790 b [3] BOOLEAN,
6791 c [6] INTEGER
6792 }
6793 END
6794
6795 <STATIC>
6796
6797 import from TempA all;
6798 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6799 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6800 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6801
6802 const BERPDU myValue := {b := true }
6803
6804 <TTCN_TC:EXEC>
6805
6806 if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6807 if (dec_BER_PDU('A0038301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6808 if (dec_BER_PDU('A0808301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6809
6810 <RESULT>
6811
6812 Overall verdict: pass
6813
6814 <END_TC>
6815
6816 :exmp.
6817
6818 .*---------------------------------------------------------------------*
6819 :h3.CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, (unified)
6820 .*---------------------------------------------------------------------*
6821 :xmp tab=0.
6822
6823 <TC - CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, (unified)>
6824
6825 <STATIC:ASN>
6826
6827 TempA
6828
6829 DEFINITIONS
6830 EXPLICIT TAGS
6831 ::=
6832 BEGIN
6833 BERPDU ::= [0] CHOICE
6834 {
6835 b [3] BOOLEAN,
6836 c [6] INTEGER
6837 }
6838 END
6839
6840 <STATIC>
6841
6842 import from TempA all;
6843 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6844 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6845 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6846
6847 const BERPDU myValue := {b := true }
6848
6849 <TTCN_TC:EXEC>
6850
6851 if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6852 if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6853 if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6854
6855 <RESULT>
6856
6857 Overall verdict: pass
6858
6859 <END_TC>
6860
6861 :exmp.
6862
6863 .*---------------------------------------------------------------------*
6864 :h3.CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE, (unified)
6865 .*---------------------------------------------------------------------*
6866 :xmp tab=0.
6867
6868 <TC - CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE, (unified)>
6869
6870 <STATIC:ASN>
6871
6872 TempA
6873
6874 DEFINITIONS
6875 ::=
6876 BEGIN
6877 BERPDU ::= [0] CHOICE
6878 {
6879 b [3] BOOLEAN,
6880 c [6] INTEGER
6881 }
6882 END
6883
6884 <STATIC>
6885
6886 import from TempA all;
6887 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6888 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6889 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6890
6891 const BERPDU myValue := {b := true }
6892
6893 <TTCN_TC:EXEC>
6894
6895 if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6896 if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6897 if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6898
6899 <RESULT>
6900
6901 Overall verdict: pass
6902
6903 <END_TC>
6904
6905 :exmp.
6906
6907 .*---------------------------------------------------------------------*
6908 :h3.CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,
6909 .*---------------------------------------------------------------------*
6910 :xmp tab=0.
6911
6912 <TC - CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,>
6913
6914 <STATIC:ASN>
6915
6916 TempA
6917
6918 DEFINITIONS
6919
6920 AUTOMATIC TAGS
6921
6922 ::=
6923
6924 BEGIN
6925
6926 BERPDU ::= [0] CHOICE
6927 {
6928 b [3] BOOLEAN,
6929 c [6] INTEGER
6930 }
6931
6932
6933 END
6934
6935 <STATIC>
6936
6937 import from TempA all;
6938 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6939 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6940
6941 const BERPDU myValue := {b := true }
6942
6943 <TTCN_TC:EXEC>
6944
6945
6946
6947
6948 if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6949
6950
6951 <RESULT>
6952
6953 Overall verdict: pass
6954
6955 <END_TC>
6956
6957 :exmp.
6958
6959
6960 .*---------------------------------------------------------------------*
6961 :h3. DECODING OBJECT IDENTIFIER , DER, CHOICE - SET
6962 .*---------------------------------------------------------------------*
6963 :xmp tab=0.
6964
6965 <TC - DECODING OBJECT IDENTIFIER , DER, CHOICE - SET>
6966
6967 <STATIC:ASN>
6968
6969 TempA
6970
6971 DEFINITIONS ::=
6972 BEGIN
6973 BERPDU ::= CHOICE
6974 {
6975 a NULL,
6976 b BOOLEAN,
6977 c INTEGER,
6978 d ENUMERATED {first ,second ,third},
6979 e REAL,
6980 f BIT STRING,
6981 g OCTET STRING,
6982
6983 h OBJECT IDENTIFIER,
6984 i IA5String,
6985 j CHOICE {x1 [1] BOOLEAN,
6986 y1 [2] OCTET STRING},
6987
6988 k SEQUENCE{x2 NULL,
6989 y2 BOOLEAN},
6990
6991 l SET { x3 BIT STRING,
6992 y3 OCTET STRING},
6993
6994 m [3] SEQUENCE OF INTEGER,
6995 n [4] SET OF BOOLEAN
6996 }
6997
6998
6999
7000 END
7001
7002 <STATIC>
7003
7004 import from TempA all;
7005
7006 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7007
7008 const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7009
7010 x3 := '1'B } }
7011
7012
7013
7014
7015 <TTCN_TC:EXEC>
7016
7017 if (dec_BER_PDU('3108030207800402FFFF'O) == myValue)
7018
7019
7020 {setverdict(pass);} else {setverdict(fail);}
7021
7022
7023 <RESULT>
7024
7025 Overall verdict: pass
7026
7027 <END_TC>
7028
7029 :exmp.
7030
7031 .*---------------------------------------------------------------------*
7032 :h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - SET
7033 .*---------------------------------------------------------------------*
7034 :xmp tab=0.
7035
7036 <TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - SET>
7037
7038 <STATIC:ASN>
7039
7040 TempA
7041
7042 DEFINITIONS ::=
7043 BEGIN
7044 BERPDU ::= CHOICE
7045 {
7046 a NULL,
7047 b BOOLEAN,
7048 c INTEGER,
7049 d ENUMERATED {first ,second ,third},
7050 e REAL,
7051 f BIT STRING,
7052 g OCTET STRING,
7053
7054 h OBJECT IDENTIFIER,
7055 i IA5String,
7056 j CHOICE {x1 [1] BOOLEAN,
7057 y1 [2] OCTET STRING},
7058
7059 k SEQUENCE{x2 NULL,
7060 y2 BOOLEAN},
7061
7062 l SET { x3 BIT STRING,
7063 y3 OCTET STRING},
7064
7065 m [3] SEQUENCE OF INTEGER,
7066 n [4] SET OF BOOLEAN
7067 }
7068
7069
7070
7071 END
7072
7073 <STATIC>
7074
7075 import from TempA all;
7076
7077 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7078
7079 const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7080
7081 x3 := '1'B } }
7082
7083
7084
7085
7086 <TTCN_TC:EXEC>
7087
7088 if (dec_BER_PDU('3180030207800402FFFF0000'O) == myValue)
7089
7090
7091 {setverdict(pass);} else {setverdict(fail);}
7092
7093
7094 <RESULT>
7095
7096 Overall verdict: pass
7097
7098 <END_TC>
7099
7100 :exmp.
7101
7102 .*---------------------------------------------------------------------*
7103 :h3. DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,
7104 .*---------------------------------------------------------------------*
7105 :xmp tab=0.
7106
7107 <TC - DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,>
7108
7109 <STATIC:ASN>
7110
7111 TempA
7112
7113 DEFINITIONS
7114
7115 AUTOMATIC TAGS
7116
7117
7118
7119 ::=
7120
7121 BEGIN
7122
7123
7124
7125 BERPDU ::= [0] CHOICE
7126 {
7127 b [3] BOOLEAN,
7128 c [6] INTEGER
7129 }
7130
7131
7132
7133
7134 END
7135
7136 <STATIC>
7137
7138 import from TempA all;
7139
7140 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7141
7142 const BERPDU myValue := {b := true }
7143
7144
7145
7146 <TTCN_TC:EXEC>
7147
7148 if (dec_BER_PDU('A0038301FF'O) == myValue)
7149
7150
7151 {setverdict(pass);} else {setverdict(fail);}
7152
7153
7154 <RESULT>
7155
7156 Overall verdict: pass
7157
7158 <END_TC>
7159
7160 :exmp.
7161
7162 .*---------------------------------------------------------------------*
7163 :h3. CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,
7164 .*---------------------------------------------------------------------*
7165 :xmp tab=0.
7166
7167 <TC - CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,>
7168
7169 <STATIC:ASN>
7170
7171 TempA
7172
7173 DEFINITIONS
7174
7175 AUTOMATIC TAGS
7176
7177
7178
7179 ::=
7180
7181 BEGIN
7182
7183
7184
7185 BERPDU ::= [0] CHOICE
7186 {
7187 b [3] BOOLEAN,
7188 c [6] INTEGER
7189 }
7190
7191
7192
7193
7194 END
7195
7196 <STATIC>
7197
7198 import from TempA all;
7199
7200 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7201
7202 const BERPDU myValue := {b := true }
7203
7204
7205
7206 <TTCN_TC:EXEC>
7207
7208 if (dec_BER_PDU('A0808301FF0000'O) == myValue)
7209
7210
7211 {setverdict(pass);} else {setverdict(fail);}
7212
7213
7214 <RESULT>
7215
7216 Overall verdict: pass
7217
7218 <END_TC>
7219
7220 :exmp.
7221
7222 .*---------------------------------------------------------------------*
7223 :h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive)
7224 .*---------------------------------------------------------------------*
7225 :xmp tab=0.
7226
7227 <TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive)>
7228
7229 <STATIC:ASN>
7230
7231 TempA
7232
7233 DEFINITIONS ::=
7234 BEGIN
7235 BERPDU ::= OBJECT IDENTIFIER
7236 b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
7237
7238 END
7239
7240 <STATIC>
7241
7242 import from TempA all;
7243 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7244 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7245
7246
7247
7248 <TTCN_TC:EXEC>
7249
7250 if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7251
7252 <RESULT>
7253
7254 Overall verdict: pass
7255
7256 <END_TC>
7257
7258 :exmp.
7259
7260 .*---------------------------------------------------------------------*
7261 :h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive)
7262 .*---------------------------------------------------------------------*
7263 :xmp tab=0.
7264
7265 <TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive)>
7266
7267 <STATIC:ASN>
7268
7269 TempA
7270
7271 DEFINITIONS ::=
7272 BEGIN
7273 BERPDU ::= OBJECT IDENTIFIER
7274 b BERPDU ::= {itu-t recommendation a(2) b(3)}
7275
7276 END
7277
7278 <STATIC>
7279
7280 import from TempA all;
7281 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7282 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7283
7284
7285
7286 <TTCN_TC:EXEC>
7287
7288 if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7289
7290 <RESULT>
7291
7292 Overall verdict: pass
7293
7294 <END_TC>
7295
7296 :exmp.
7297
7298 .*---------------------------------------------------------------------*
7299 :h3.CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive)
7300 .*---------------------------------------------------------------------*
7301 :xmp tab=0.
7302
7303 <TC - CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive)>
7304
7305 <STATIC:ASN>
7306
7307 TempA
7308
7309 DEFINITIONS ::=
7310 BEGIN
7311 BERPDU ::= OBJECT IDENTIFIER
7312 b BERPDU ::= {0 0 a(2) b(3)}
7313
7314 END
7315
7316 <STATIC>
7317
7318 import from TempA all;
7319 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7320 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7321
7322
7323
7324 <TTCN_TC:EXEC>
7325
7326 if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7327
7328 <RESULT>
7329
7330 Overall verdict: pass
7331
7332 <END_TC>
7333
7334 :exmp.
7335
7336 .*---------------------------------------------------------------------*
7337 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive)
7338 .*---------------------------------------------------------------------*
7339 :xmp tab=0.
7340
7341 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive)>
7342
7343 <STATIC:ASN>
7344
7345 TempA
7346
7347 DEFINITIONS ::=
7348 BEGIN
7349 BERPDU ::= OBJECT IDENTIFIER
7350 b BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
7351
7352 END
7353
7354 <STATIC>
7355
7356 import from TempA all;
7357 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7358 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7359
7360
7361
7362 <TTCN_TC:EXEC>
7363
7364 if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7365
7366 <RESULT>
7367
7368 Overall verdict: pass
7369
7370 <END_TC>
7371
7372 :exmp.
7373
7374 .*---------------------------------------------------------------------*
7375 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive)
7376 .*---------------------------------------------------------------------*
7377 :xmp tab=0.
7378
7379 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive)>
7380
7381 <STATIC:ASN>
7382
7383 TempA
7384
7385 DEFINITIONS ::=
7386 BEGIN
7387 BERPDU ::= OBJECT IDENTIFIER
7388 b BERPDU ::= {itu-t question a(2) b(3)}
7389
7390 END
7391
7392 <STATIC>
7393
7394 import from TempA all;
7395 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7396 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7397
7398
7399
7400 <TTCN_TC:EXEC>
7401
7402 if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7403
7404 <RESULT>
7405
7406 Overall verdict: pass
7407
7408 <END_TC>
7409
7410 :exmp.
7411
7412 .*---------------------------------------------------------------------*
7413 :h3.CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive)
7414 .*---------------------------------------------------------------------*
7415 :xmp tab=0.
7416
7417 <TC - CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive)>
7418
7419 <STATIC:ASN>
7420
7421 TempA
7422
7423 DEFINITIONS ::=
7424 BEGIN
7425 BERPDU ::= OBJECT IDENTIFIER
7426 b BERPDU ::= {0 1 a(2) b(3)}
7427
7428 END
7429
7430 <STATIC>
7431
7432 import from TempA all;
7433 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7434 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7435
7436
7437
7438 <TTCN_TC:EXEC>
7439
7440 if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7441
7442 <RESULT>
7443
7444 Overall verdict: pass
7445
7446 <END_TC>
7447
7448 :exmp.
7449
7450 .*---------------------------------------------------------------------*
7451 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive)
7452 .*---------------------------------------------------------------------*
7453 :xmp tab=0.
7454
7455 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive)>
7456
7457 <STATIC:ASN>
7458
7459 TempA
7460
7461 DEFINITIONS ::=
7462 BEGIN
7463 BERPDU ::= OBJECT IDENTIFIER
7464 b BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
7465
7466 END
7467
7468 <STATIC>
7469
7470 import from TempA all;
7471 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7472 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7473
7474
7475
7476 <TTCN_TC:EXEC>
7477
7478 if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7479
7480 <RESULT>
7481
7482 Overall verdict: pass
7483
7484 <END_TC>
7485
7486 :exmp.
7487
7488 .*---------------------------------------------------------------------*
7489 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive)
7490 .*---------------------------------------------------------------------*
7491 :xmp tab=0.
7492
7493 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive)>
7494
7495 <STATIC:ASN>
7496
7497 TempA
7498
7499 DEFINITIONS ::=
7500 BEGIN
7501 BERPDU ::= OBJECT IDENTIFIER
7502 b BERPDU ::= {itu-t administration a(2) b(3)}
7503
7504 END
7505
7506 <STATIC>
7507
7508 import from TempA all;
7509 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7510 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7511
7512
7513
7514 <TTCN_TC:EXEC>
7515
7516 if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7517
7518 <RESULT>
7519
7520 Overall verdict: pass
7521
7522 <END_TC>
7523
7524 :exmp.
7525
7526 .*---------------------------------------------------------------------*
7527 :h3.CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive)
7528 .*---------------------------------------------------------------------*
7529 :xmp tab=0.
7530
7531 <TC - CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive)>
7532
7533 <STATIC:ASN>
7534
7535 TempA
7536
7537 DEFINITIONS ::=
7538 BEGIN
7539 BERPDU ::= OBJECT IDENTIFIER
7540 b BERPDU ::= {0 2 a(2) b(3)}
7541
7542 END
7543
7544 <STATIC>
7545
7546 import from TempA all;
7547 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7548 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7549
7550
7551
7552 <TTCN_TC:EXEC>
7553
7554 if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7555
7556 <RESULT>
7557
7558 Overall verdict: pass
7559
7560 <END_TC>
7561
7562 :exmp.
7563
7564 .*---------------------------------------------------------------------*
7565 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive)
7566 .*---------------------------------------------------------------------*
7567 :xmp tab=0.
7568
7569 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive)>
7570
7571 <STATIC:ASN>
7572
7573 TempA
7574
7575 DEFINITIONS ::=
7576 BEGIN
7577 BERPDU ::= OBJECT IDENTIFIER
7578 b BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
7579
7580 END
7581
7582 <STATIC>
7583
7584 import from TempA all;
7585 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7586 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7587
7588
7589
7590 <TTCN_TC:EXEC>
7591
7592 if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7593
7594 <RESULT>
7595
7596 Overall verdict: pass
7597
7598 <END_TC>
7599
7600 :exmp.
7601
7602 .*---------------------------------------------------------------------*
7603 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive)
7604 .*---------------------------------------------------------------------*
7605 :xmp tab=0.
7606
7607 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive)>
7608
7609 <STATIC:ASN>
7610
7611 TempA
7612
7613 DEFINITIONS ::=
7614 BEGIN
7615 BERPDU ::= OBJECT IDENTIFIER
7616 b BERPDU ::= {itu-t network-operator a(2) b(3)}
7617
7618 END
7619
7620 <STATIC>
7621
7622 import from TempA all;
7623 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7624 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7625
7626
7627
7628 <TTCN_TC:EXEC>
7629
7630 if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7631
7632 <RESULT>
7633
7634 Overall verdict: pass
7635
7636 <END_TC>
7637
7638 :exmp.
7639
7640 .*---------------------------------------------------------------------*
7641 :h3.CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive)
7642 .*---------------------------------------------------------------------*
7643 :xmp tab=0.
7644
7645 <TC - CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive)>
7646
7647 <STATIC:ASN>
7648
7649 TempA
7650
7651 DEFINITIONS ::=
7652 BEGIN
7653 BERPDU ::= OBJECT IDENTIFIER
7654 b BERPDU ::= {0 3 a(2) b(3)}
7655
7656 END
7657
7658 <STATIC>
7659
7660 import from TempA all;
7661 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7662 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7663
7664
7665
7666 <TTCN_TC:EXEC>
7667
7668 if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7669
7670 <RESULT>
7671
7672 Overall verdict: pass
7673
7674 <END_TC>
7675
7676 :exmp.
7677
7678 .*---------------------------------------------------------------------*
7679 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive)
7680 .*---------------------------------------------------------------------*
7681 :xmp tab=0.
7682
7683 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive)>
7684
7685 <STATIC:ASN>
7686
7687 TempA
7688
7689 DEFINITIONS ::=
7690 BEGIN
7691 BERPDU ::= OBJECT IDENTIFIER
7692 b BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
7693
7694 END
7695
7696 <STATIC>
7697
7698 import from TempA all;
7699 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7700 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7701
7702
7703
7704 <TTCN_TC:EXEC>
7705
7706 if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7707
7708 <RESULT>
7709
7710 Overall verdict: pass
7711
7712 <END_TC>
7713
7714 :exmp.
7715
7716 .*---------------------------------------------------------------------*
7717 :h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive)
7718 .*---------------------------------------------------------------------*
7719 :xmp tab=0.
7720
7721 <TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive)>
7722
7723 <STATIC:ASN>
7724
7725 TempA
7726
7727 DEFINITIONS ::=
7728 BEGIN
7729 BERPDU ::= OBJECT IDENTIFIER
7730 b BERPDU ::= {itu-t identified-organization a(2) b(3)}
7731
7732 END
7733
7734 <STATIC>
7735
7736 import from TempA all;
7737 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7738 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7739
7740
7741
7742 <TTCN_TC:EXEC>
7743
7744 if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7745
7746 <RESULT>
7747
7748 Overall verdict: pass
7749
7750 <END_TC>
7751
7752 :exmp.
7753
7754 .*---------------------------------------------------------------------*
7755 :h3.CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive)
7756 .*---------------------------------------------------------------------*
7757 :xmp tab=0.
7758
7759 <TC - CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive)>
7760
7761 <STATIC:ASN>
7762
7763 TempA
7764
7765 DEFINITIONS ::=
7766 BEGIN
7767 BERPDU ::= OBJECT IDENTIFIER
7768 b BERPDU ::= {0 4 a(2) b(3)}
7769
7770 END
7771
7772 <STATIC>
7773
7774 import from TempA all;
7775 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7776 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7777
7778
7779
7780 <TTCN_TC:EXEC>
7781
7782 if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7783
7784 <RESULT>
7785
7786 Overall verdict: pass
7787
7788 <END_TC>
7789
7790 :exmp.
7791
7792 .*---------------------------------------------------------------------*
7793 :h3.CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive)
7794 .*---------------------------------------------------------------------*
7795 :xmp tab=0.
7796
7797 <TC - CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive)>
7798
7799 <STATIC:ASN>
7800
7801 TempA
7802
7803 DEFINITIONS ::=
7804 BEGIN
7805 BERPDU ::= OBJECT IDENTIFIER
7806 b BERPDU ::= {iso(1) standard(0) a(2) b(3)}
7807
7808 END
7809
7810 <STATIC>
7811
7812 import from TempA all;
7813 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7814 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7815
7816
7817
7818 <TTCN_TC:EXEC>
7819
7820 if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7821
7822 <RESULT>
7823
7824 Overall verdict: pass
7825
7826 <END_TC>
7827
7828 :exmp.
7829
7830 .*---------------------------------------------------------------------*
7831 :h3.CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive)
7832 .*---------------------------------------------------------------------*
7833 :xmp tab=0.
7834
7835 <TC - CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive)>
7836
7837 <STATIC:ASN>
7838
7839 TempA
7840
7841 DEFINITIONS ::=
7842 BEGIN
7843 BERPDU ::= OBJECT IDENTIFIER
7844 b BERPDU ::= {iso standard a(2) b(3)}
7845
7846 END
7847
7848 <STATIC>
7849
7850 import from TempA all;
7851 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7852 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7853
7854
7855
7856 <TTCN_TC:EXEC>
7857
7858 if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7859
7860 <RESULT>
7861
7862 Overall verdict: pass
7863
7864 <END_TC>
7865
7866 :exmp.
7867
7868 .*---------------------------------------------------------------------*
7869 :h3.CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive)
7870 .*---------------------------------------------------------------------*
7871 :xmp tab=0.
7872
7873 <TC - CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive)>
7874
7875 <STATIC:ASN>
7876
7877 TempA
7878
7879 DEFINITIONS ::=
7880 BEGIN
7881 BERPDU ::= OBJECT IDENTIFIER
7882 b BERPDU ::= {1 0 a(2) b(3)}
7883
7884 END
7885
7886 <STATIC>
7887
7888 import from TempA all;
7889 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7890 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7891
7892
7893
7894 <TTCN_TC:EXEC>
7895
7896 if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7897
7898 <RESULT>
7899
7900 Overall verdict: pass
7901
7902 <END_TC>
7903
7904 :exmp.
7905
7906 .*---------------------------------------------------------------------*
7907 :h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive)
7908 .*---------------------------------------------------------------------*
7909 :xmp tab=0.
7910
7911 <TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive)>
7912
7913 <STATIC:ASN>
7914
7915 TempA
7916
7917 DEFINITIONS ::=
7918 BEGIN
7919 BERPDU ::= OBJECT IDENTIFIER
7920 b BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
7921
7922 END
7923
7924 <STATIC>
7925
7926 import from TempA all;
7927 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7928 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7929
7930
7931
7932 <TTCN_TC:EXEC>
7933
7934 if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7935
7936 <RESULT>
7937
7938 Overall verdict: pass
7939
7940 <END_TC>
7941
7942 :exmp.
7943
7944 .*---------------------------------------------------------------------*
7945 :h3.CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive)
7946 .*---------------------------------------------------------------------*
7947 :xmp tab=0.
7948
7949 <TC - CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive)>
7950
7951 <STATIC:ASN>
7952
7953 TempA
7954
7955 DEFINITIONS ::=
7956 BEGIN
7957 BERPDU ::= OBJECT IDENTIFIER
7958 b BERPDU ::= {iso member-body a(2) b(3)}
7959
7960 END
7961
7962 <STATIC>
7963
7964 import from TempA all;
7965 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7966 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
7967
7968
7969
7970 <TTCN_TC:EXEC>
7971
7972 if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7973
7974 <RESULT>
7975
7976 Overall verdict: pass
7977
7978 <END_TC>
7979
7980 :exmp.
7981
7982 .*---------------------------------------------------------------------*
7983 :h3.CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive)
7984 .*---------------------------------------------------------------------*
7985 :xmp tab=0.
7986
7987 <TC - CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive)>
7988
7989 <STATIC:ASN>
7990
7991 TempA
7992
7993 DEFINITIONS ::=
7994 BEGIN
7995 BERPDU ::= OBJECT IDENTIFIER
7996 b BERPDU ::= {1 2 a(2) b(3)}
7997
7998 END
7999
8000 <STATIC>
8001
8002 import from TempA all;
8003 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8004 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8005
8006
8007
8008 <TTCN_TC:EXEC>
8009
8010 if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
8011
8012 <RESULT>
8013
8014 Overall verdict: pass
8015
8016 <END_TC>
8017
8018 :exmp.
8019
8020 .*---------------------------------------------------------------------*
8021 :h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive)
8022 .*---------------------------------------------------------------------*
8023 :xmp tab=0.
8024
8025 <TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive)>
8026
8027 <STATIC:ASN>
8028
8029 TempA
8030
8031 DEFINITIONS ::=
8032 BEGIN
8033 BERPDU ::= OBJECT IDENTIFIER
8034 b BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
8035
8036 END
8037
8038 <STATIC>
8039
8040 import from TempA all;
8041 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8042 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8043
8044
8045
8046 <TTCN_TC:EXEC>
8047
8048 if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8049
8050 <RESULT>
8051
8052 Overall verdict: pass
8053
8054 <END_TC>
8055
8056 :exmp.
8057
8058 .*---------------------------------------------------------------------*
8059 :h3.CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive)
8060 .*---------------------------------------------------------------------*
8061 :xmp tab=0.
8062
8063 <TC - CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive)>
8064
8065 <STATIC:ASN>
8066
8067 TempA
8068
8069 DEFINITIONS ::=
8070 BEGIN
8071 BERPDU ::= OBJECT IDENTIFIER
8072 b BERPDU ::= {iso identified-organization a(2) b(3)}
8073
8074 END
8075
8076 <STATIC>
8077
8078 import from TempA all;
8079 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8080 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8081
8082
8083
8084 <TTCN_TC:EXEC>
8085
8086 if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8087
8088 <RESULT>
8089
8090 Overall verdict: pass
8091
8092 <END_TC>
8093
8094 :exmp.
8095
8096 .*---------------------------------------------------------------------*
8097 :h3.CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive)
8098 .*---------------------------------------------------------------------*
8099 :xmp tab=0.
8100
8101 <TC - CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive)>
8102
8103 <STATIC:ASN>
8104
8105 TempA
8106
8107 DEFINITIONS ::=
8108 BEGIN
8109 BERPDU ::= OBJECT IDENTIFIER
8110 b BERPDU ::= {1 3 a(2) b(3)}
8111
8112 END
8113
8114 <STATIC>
8115
8116 import from TempA all;
8117 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8118 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8119
8120
8121
8122 <TTCN_TC:EXEC>
8123
8124 if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8125
8126 <RESULT>
8127
8128 Overall verdict: pass
8129
8130 <END_TC>
8131
8132 :exmp.
8133
8134 .*---------------------------------------------------------------------*
8135 :h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive)
8136 .*---------------------------------------------------------------------*
8137 :xmp tab=0.
8138
8139 <TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive)>
8140
8141 <STATIC:ASN>
8142
8143 TempA
8144
8145 DEFINITIONS ::=
8146 BEGIN
8147 BERPDU ::= OBJECT IDENTIFIER
8148 b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
8149
8150 END
8151
8152 <STATIC>
8153
8154 import from TempA all;
8155 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8156 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8157
8158
8159
8160 <TTCN_TC:EXEC>
8161
8162 if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8163
8164 <RESULT>
8165
8166 Overall verdict: pass
8167
8168 <END_TC>
8169
8170 :exmp.
8171
8172 .*---------------------------------------------------------------------*
8173 :h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive)
8174 .*---------------------------------------------------------------------*
8175 :xmp tab=0.
8176
8177 <TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive)>
8178
8179 <STATIC:ASN>
8180
8181 TempA
8182
8183 DEFINITIONS ::=
8184 BEGIN
8185 BERPDU ::= OBJECT IDENTIFIER
8186 b BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
8187
8188 END
8189
8190 <STATIC>
8191
8192 import from TempA all;
8193 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8194 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8195
8196
8197
8198 <TTCN_TC:EXEC>
8199
8200 if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8201
8202 <RESULT>
8203
8204 Overall verdict: pass
8205
8206 <END_TC>
8207
8208 :exmp.
8209
8210 .*---------------------------------------------------------------------*
8211 :h3.CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive)
8212 .*---------------------------------------------------------------------*
8213 :xmp tab=0.
8214
8215 <TC - CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive)>
8216
8217 <STATIC:ASN>
8218
8219 TempA
8220
8221 DEFINITIONS ::=
8222 BEGIN
8223 BERPDU ::= OBJECT IDENTIFIER
8224 b BERPDU ::= {2 0 a(2) b(3)}
8225
8226 END
8227
8228 <STATIC>
8229
8230 import from TempA all;
8231 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8232 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8233
8234
8235
8236 <TTCN_TC:EXEC>
8237
8238 if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8239
8240 <RESULT>
8241
8242 Overall verdict: pass
8243
8244 <END_TC>
8245
8246 :exmp.
8247
8248 .*---------------------------------------------------------------------*
8249 :h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive)
8250 .*---------------------------------------------------------------------*
8251 :xmp tab=0.
8252
8253 <TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive)>
8254
8255 <STATIC:ASN>
8256
8257 TempA
8258
8259 DEFINITIONS ::=
8260 BEGIN
8261 BERPDU ::= OBJECT IDENTIFIER
8262 b BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
8263
8264 END
8265
8266 <STATIC>
8267
8268 import from TempA all;
8269 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8270 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8271
8272
8273
8274 <TTCN_TC:EXEC>
8275
8276 if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8277
8278 <RESULT>
8279
8280 Overall verdict: pass
8281
8282 <END_TC>
8283
8284 :exmp.
8285
8286 .*---------------------------------------------------------------------*
8287 :h3.CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive)
8288 .*---------------------------------------------------------------------*
8289 :xmp tab=0.
8290
8291 <TC - CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive)>
8292
8293 <STATIC:ASN>
8294
8295 TempA
8296
8297 DEFINITIONS ::=
8298 BEGIN
8299 BERPDU ::= OBJECT IDENTIFIER
8300 b BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
8301
8302 END
8303
8304 <STATIC>
8305
8306 import from TempA all;
8307 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8308 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8309
8310
8311
8312 <TTCN_TC:EXEC>
8313
8314 if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8315
8316 <RESULT>
8317
8318 Overall verdict: pass
8319
8320 <END_TC>
8321
8322 :exmp.
8323
8324 .*---------------------------------------------------------------------*
8325 :h3.CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive)
8326 .*---------------------------------------------------------------------*
8327 :xmp tab=0.
8328
8329 <TC - CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive)>
8330
8331 <STATIC:ASN>
8332
8333 TempA
8334
8335 DEFINITIONS ::=
8336 BEGIN
8337 BERPDU ::= OBJECT IDENTIFIER
8338 b BERPDU ::= {2 100 a(2) b(3)}
8339
8340 END
8341
8342 <STATIC>
8343
8344 import from TempA all;
8345 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8346 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8347
8348
8349
8350 <TTCN_TC:EXEC>
8351
8352 if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8353
8354 <RESULT>
8355
8356 Overall verdict: pass
8357
8358 <END_TC>
8359
8360 :exmp.
8361
8362 .*---------------------------------------------------------------------*
8363 :h3.CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive)
8364 .*---------------------------------------------------------------------*
8365 :xmp tab=0.
8366
8367 <TC - CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive)>
8368
8369 <STATIC:ASN>
8370
8371 TempA
8372
8373 DEFINITIONS ::=
8374 BEGIN
8375 BERPDU ::= OBJECT IDENTIFIER
8376 b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
8377
8378 END
8379
8380 <STATIC>
8381
8382 import from TempA all;
8383 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8384 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8385
8386
8387
8388 <TTCN_TC:EXEC>
8389
8390 if ((enc_DER_PDU(b) == '06075002038F509F20'O)and(enc_CER_PDU(b) == '06075002038F509F20'O)) {setverdict(pass);} else {setverdict(fail);}
8391
8392 <RESULT>
8393
8394 Overall verdict: pass
8395
8396 <END_TC>
8397
8398 :exmp.
8399
8400 .*---------------------------------------------------------------------*
8401 :h3.CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive
8402 .*---------------------------------------------------------------------*
8403 :xmp tab=0.
8404
8405 <TC - CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive>
8406
8407 <STATIC:ASN>
8408
8409 TempA
8410
8411 DEFINITIONS ::=
8412 BEGIN
8413 BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
8414 b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8415
8416 END
8417
8418 <STATIC>
8419
8420 import from TempA all;
8421 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8422 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8423
8424
8425
8426 <TTCN_TC:EXEC>
8427
8428 if ((enc_DER_PDU(b) == '8003000203'O)and(enc_CER_PDU(b) == '8003000203'O)) {setverdict(pass);} else {setverdict(fail);}
8429
8430 <RESULT>
8431
8432 Overall verdict: pass
8433
8434 <END_TC>
8435
8436 :exmp.
8437
8438 .*---------------------------------------------------------------------*
8439 :h3.CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed
8440 .*---------------------------------------------------------------------*
8441 :xmp tab=0.
8442
8443 <TC - CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed>
8444
8445 <STATIC:ASN>
8446
8447 TempA
8448
8449 DEFINITIONS ::=
8450 BEGIN
8451 BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
8452 b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8453
8454 END
8455
8456 <STATIC>
8457
8458 import from TempA all;
8459 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8460 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
8461
8462
8463
8464 <TTCN_TC:EXEC>
8465
8466 if ((enc_DER_PDU(b) == 'A0050603000203'O)and(enc_CER_PDU(b) == 'A08006030002030000'O)) {setverdict(pass);} else {setverdict(fail);}
8467
8468 <RESULT>
8469
8470 Overall verdict: pass
8471
8472 <END_TC>
8473
8474 :exmp.
8475
8476 .*---------------------------------------------------------------------*
8477 :h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive)
8478 .*---------------------------------------------------------------------*
8479 :xmp tab=0.
8480
8481 <TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive)>
8482
8483 <STATIC:ASN>
8484
8485 TempA
8486
8487 DEFINITIONS ::=
8488 BEGIN
8489 BERPDU ::= OBJECT IDENTIFIER
8490
8491 myValue BERPDU ::= { itu-t(0) recommendation(0) a(2) b(3)}
8492
8493 END
8494
8495 <STATIC>
8496
8497 import from TempA all;
8498
8499 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8500
8501
8502 <TTCN_TC:EXEC>
8503
8504 if (dec_BER_PDU('0603000203'O) == myValue)
8505
8506
8507 {setverdict(pass);} else {setverdict(fail);}
8508
8509
8510 <RESULT>
8511
8512 Overall verdict: pass
8513
8514 <END_TC>
8515
8516 :exmp.
8517
8518 .*---------------------------------------------------------------------*
8519 :h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive)
8520 .*---------------------------------------------------------------------*
8521 :xmp tab=0.
8522
8523 <TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive)>
8524
8525 <STATIC:ASN>
8526
8527 TempA
8528
8529 DEFINITIONS ::=
8530 BEGIN
8531 BERPDU ::= OBJECT IDENTIFIER
8532
8533 myValue BERPDU ::= {itu-t recommendation a(2) b(3)}
8534
8535 END
8536
8537 <STATIC>
8538
8539 import from TempA all;
8540
8541 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8542
8543
8544 <TTCN_TC:EXEC>
8545
8546 if (dec_BER_PDU('0603000203'O) == myValue)
8547
8548
8549 {setverdict(pass);} else {setverdict(fail);}
8550
8551
8552 <RESULT>
8553
8554 Overall verdict: pass
8555
8556 <END_TC>
8557
8558 :exmp.
8559
8560 .*---------------------------------------------------------------------*
8561 :h3. DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive)
8562 .*---------------------------------------------------------------------*
8563 :xmp tab=0.
8564
8565 <TC - DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive)>
8566
8567 <STATIC:ASN>
8568
8569 TempA
8570
8571 DEFINITIONS ::=
8572 BEGIN
8573 BERPDU ::= OBJECT IDENTIFIER
8574
8575 myValue BERPDU ::= {0 0 a(2) b(3)}
8576
8577 END
8578
8579 <STATIC>
8580
8581 import from TempA all;
8582
8583 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8584
8585
8586 <TTCN_TC:EXEC>
8587
8588 if (dec_BER_PDU('0603000203'O) == myValue)
8589
8590
8591 {setverdict(pass);} else {setverdict(fail);}
8592
8593
8594 <RESULT>
8595
8596 Overall verdict: pass
8597
8598 <END_TC>
8599
8600 :exmp.
8601
8602 .*---------------------------------------------------------------------*
8603 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive)
8604 .*---------------------------------------------------------------------*
8605 :xmp tab=0.
8606
8607 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive)>
8608
8609 <STATIC:ASN>
8610
8611 TempA
8612
8613 DEFINITIONS ::=
8614 BEGIN
8615 BERPDU ::= OBJECT IDENTIFIER
8616
8617 myValue BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
8618
8619 END
8620
8621 <STATIC>
8622
8623 import from TempA all;
8624
8625 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8626
8627
8628 <TTCN_TC:EXEC>
8629
8630 if (dec_BER_PDU('0603010203'O) == myValue)
8631
8632
8633 {setverdict(pass);} else {setverdict(fail);}
8634
8635
8636 <RESULT>
8637
8638 Overall verdict: pass
8639
8640 <END_TC>
8641
8642 :exmp.
8643
8644 .*---------------------------------------------------------------------*
8645 :h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive)
8646 .*---------------------------------------------------------------------*
8647 :xmp tab=0.
8648
8649 <TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive)>
8650
8651 <STATIC:ASN>
8652
8653 TempA
8654
8655 DEFINITIONS ::=
8656 BEGIN
8657 BERPDU ::= OBJECT IDENTIFIER
8658
8659 myValue BERPDU ::= {itu-t question a(2) b(3)}
8660
8661 END
8662
8663 <STATIC>
8664
8665 import from TempA all;
8666
8667 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8668
8669
8670 <TTCN_TC:EXEC>
8671
8672 if (dec_BER_PDU('0603010203'O) == myValue)
8673
8674
8675 {setverdict(pass);} else {setverdict(fail);}
8676
8677
8678 <RESULT>
8679
8680 Overall verdict: pass
8681
8682 <END_TC>
8683
8684 :exmp.
8685
8686 .*---------------------------------------------------------------------*
8687 :h3. DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive)
8688 .*---------------------------------------------------------------------*
8689 :xmp tab=0.
8690
8691 <TC - DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive)>
8692
8693 <STATIC:ASN>
8694
8695 TempA
8696
8697 DEFINITIONS ::=
8698 BEGIN
8699 BERPDU ::= OBJECT IDENTIFIER
8700
8701 myValue BERPDU ::= {0 1 a(2) b(3)}
8702
8703 END
8704
8705 <STATIC>
8706
8707 import from TempA all;
8708
8709 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8710
8711
8712 <TTCN_TC:EXEC>
8713
8714 if (dec_BER_PDU('0603010203'O) == myValue)
8715
8716
8717 {setverdict(pass);} else {setverdict(fail);}
8718
8719
8720 <RESULT>
8721
8722 Overall verdict: pass
8723
8724 <END_TC>
8725
8726 :exmp.
8727
8728 .*---------------------------------------------------------------------*
8729 :h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive)
8730 .*---------------------------------------------------------------------*
8731 :xmp tab=0.
8732
8733 <TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive)>
8734
8735 <STATIC:ASN>
8736
8737 TempA
8738
8739 DEFINITIONS ::=
8740 BEGIN
8741 BERPDU ::= OBJECT IDENTIFIER
8742
8743 myValue BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
8744
8745 END
8746
8747 <STATIC>
8748
8749 import from TempA all;
8750
8751 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8752
8753
8754 <TTCN_TC:EXEC>
8755
8756 if (dec_BER_PDU('0603020203'O) == myValue)
8757
8758
8759 {setverdict(pass);} else {setverdict(fail);}
8760
8761
8762 <RESULT>
8763
8764 Overall verdict: pass
8765
8766 <END_TC>
8767
8768 :exmp.
8769
8770 .*---------------------------------------------------------------------*
8771 :h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive)
8772 .*---------------------------------------------------------------------*
8773 :xmp tab=0.
8774
8775 <TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive)>
8776
8777 <STATIC:ASN>
8778
8779 TempA
8780
8781 DEFINITIONS ::=
8782 BEGIN
8783 BERPDU ::= OBJECT IDENTIFIER
8784
8785 myValue BERPDU ::= {itu-t administration a(2) b(3)}
8786
8787 END
8788
8789 <STATIC>
8790
8791 import from TempA all;
8792
8793 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8794
8795
8796 <TTCN_TC:EXEC>
8797
8798 if (dec_BER_PDU('0603020203'O) == myValue)
8799
8800
8801 {setverdict(pass);} else {setverdict(fail);}
8802
8803
8804 <RESULT>
8805
8806 Overall verdict: pass
8807
8808 <END_TC>
8809
8810 :exmp.
8811
8812 .*---------------------------------------------------------------------*
8813 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive)
8814 .*---------------------------------------------------------------------*
8815 :xmp tab=0.
8816
8817 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive)>
8818
8819 <STATIC:ASN>
8820
8821 TempA
8822
8823 DEFINITIONS ::=
8824 BEGIN
8825 BERPDU ::= OBJECT IDENTIFIER
8826
8827 myValue BERPDU ::= {0 2 a(2) b(3)}
8828
8829 END
8830
8831 <STATIC>
8832
8833 import from TempA all;
8834
8835 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8836
8837
8838 <TTCN_TC:EXEC>
8839
8840 if (dec_BER_PDU('0603020203'O) == myValue)
8841
8842
8843 {setverdict(pass);} else {setverdict(fail);}
8844
8845
8846 <RESULT>
8847
8848 Overall verdict: pass
8849
8850 <END_TC>
8851
8852 :exmp.
8853
8854 .*---------------------------------------------------------------------*
8855 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive)
8856 .*---------------------------------------------------------------------*
8857 :xmp tab=0.
8858
8859 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive)>
8860
8861 <STATIC:ASN>
8862
8863 TempA
8864
8865 DEFINITIONS ::=
8866 BEGIN
8867 BERPDU ::= OBJECT IDENTIFIER
8868
8869 myValue BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
8870
8871 END
8872
8873 <STATIC>
8874
8875 import from TempA all;
8876
8877 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8878
8879
8880 <TTCN_TC:EXEC>
8881
8882 if (dec_BER_PDU('0603030203'O) == myValue)
8883
8884
8885 {setverdict(pass);} else {setverdict(fail);}
8886
8887
8888 <RESULT>
8889
8890 Overall verdict: pass
8891
8892 <END_TC>
8893
8894 :exmp.
8895
8896 .*---------------------------------------------------------------------*
8897 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive)
8898 .*---------------------------------------------------------------------*
8899 :xmp tab=0.
8900
8901 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive)>
8902
8903 <STATIC:ASN>
8904
8905 TempA
8906
8907 DEFINITIONS ::=
8908 BEGIN
8909 BERPDU ::= OBJECT IDENTIFIER
8910
8911 myValue BERPDU ::= {itu-t network-operator a(2) b(3)}
8912
8913 END
8914
8915 <STATIC>
8916
8917 import from TempA all;
8918
8919 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8920
8921
8922 <TTCN_TC:EXEC>
8923
8924 if (dec_BER_PDU('0603030203'O) == myValue)
8925
8926
8927 {setverdict(pass);} else {setverdict(fail);}
8928
8929
8930 <RESULT>
8931
8932 Overall verdict: pass
8933
8934 <END_TC>
8935
8936 :exmp.
8937
8938 .*---------------------------------------------------------------------*
8939 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive)
8940 .*---------------------------------------------------------------------*
8941 :xmp tab=0.
8942
8943 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive)>
8944
8945 <STATIC:ASN>
8946
8947 TempA
8948
8949 DEFINITIONS ::=
8950 BEGIN
8951 BERPDU ::= OBJECT IDENTIFIER
8952
8953 myValue BERPDU ::= {0 3 a(2) b(3)}
8954
8955 END
8956
8957 <STATIC>
8958
8959 import from TempA all;
8960
8961 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8962
8963
8964 <TTCN_TC:EXEC>
8965
8966 if (dec_BER_PDU('0603030203'O) == myValue)
8967
8968
8969 {setverdict(pass);} else {setverdict(fail);}
8970
8971
8972 <RESULT>
8973
8974 Overall verdict: pass
8975
8976 <END_TC>
8977
8978 :exmp.
8979
8980 .*---------------------------------------------------------------------*
8981 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive)
8982 .*---------------------------------------------------------------------*
8983 :xmp tab=0.
8984
8985 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive)>
8986
8987 <STATIC:ASN>
8988
8989 TempA
8990
8991 DEFINITIONS ::=
8992 BEGIN
8993 BERPDU ::= OBJECT IDENTIFIER
8994
8995 myValue BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
8996
8997 END
8998
8999 <STATIC>
9000
9001 import from TempA all;
9002
9003 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9004
9005
9006 <TTCN_TC:EXEC>
9007
9008 if (dec_BER_PDU('0603040203'O) == myValue)
9009
9010
9011 {setverdict(pass);} else {setverdict(fail);}
9012
9013
9014 <RESULT>
9015
9016 Overall verdict: pass
9017
9018 <END_TC>
9019
9020 :exmp.
9021
9022 .*---------------------------------------------------------------------*
9023 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive)
9024 .*---------------------------------------------------------------------*
9025 :xmp tab=0.
9026
9027 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive)>
9028
9029 <STATIC:ASN>
9030
9031 TempA
9032
9033 DEFINITIONS ::=
9034 BEGIN
9035 BERPDU ::= OBJECT IDENTIFIER
9036
9037 myValue BERPDU ::= {itu-t identified-organization a(2) b(3)}
9038
9039 END
9040
9041 <STATIC>
9042
9043 import from TempA all;
9044
9045 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9046
9047
9048 <TTCN_TC:EXEC>
9049
9050 if (dec_BER_PDU('0603040203'O) == myValue)
9051
9052
9053 {setverdict(pass);} else {setverdict(fail);}
9054
9055
9056 <RESULT>
9057
9058 Overall verdict: pass
9059
9060 <END_TC>
9061
9062 :exmp.
9063
9064 .*---------------------------------------------------------------------*
9065 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive)
9066 .*---------------------------------------------------------------------*
9067 :xmp tab=0.
9068
9069 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive)>
9070
9071 <STATIC:ASN>
9072
9073 TempA
9074
9075 DEFINITIONS ::=
9076 BEGIN
9077 BERPDU ::= OBJECT IDENTIFIER
9078
9079 myValue BERPDU ::= {0 4 a(2) b(3)}
9080
9081 END
9082
9083 <STATIC>
9084
9085 import from TempA all;
9086
9087 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9088
9089
9090 <TTCN_TC:EXEC>
9091
9092 if (dec_BER_PDU('0603040203'O) == myValue)
9093
9094
9095 {setverdict(pass);} else {setverdict(fail);}
9096
9097
9098 <RESULT>
9099
9100 Overall verdict: pass
9101
9102 <END_TC>
9103
9104 :exmp.
9105
9106 .*---------------------------------------------------------------------*
9107 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive)
9108 .*---------------------------------------------------------------------*
9109 :xmp tab=0.
9110
9111 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive)>
9112
9113 <STATIC:ASN>
9114
9115 TempA
9116
9117 DEFINITIONS ::=
9118 BEGIN
9119 BERPDU ::= OBJECT IDENTIFIER
9120
9121 myValue BERPDU ::= {iso(1) standard(0) a(2) b(3)}
9122
9123 END
9124
9125 <STATIC>
9126
9127 import from TempA all;
9128
9129 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9130
9131
9132 <TTCN_TC:EXEC>
9133
9134 if (dec_BER_PDU('0603280203'O) == myValue)
9135
9136
9137 {setverdict(pass);} else {setverdict(fail);}
9138
9139
9140 <RESULT>
9141
9142 Overall verdict: pass
9143
9144 <END_TC>
9145
9146 :exmp.
9147
9148 .*---------------------------------------------------------------------*
9149 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive)
9150 .*---------------------------------------------------------------------*
9151 :xmp tab=0.
9152
9153 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive)>
9154
9155 <STATIC:ASN>
9156
9157 TempA
9158
9159 DEFINITIONS ::=
9160 BEGIN
9161 BERPDU ::= OBJECT IDENTIFIER
9162
9163 myValue BERPDU ::= {iso standard a(2) b(3)}
9164
9165 END
9166
9167 <STATIC>
9168
9169 import from TempA all;
9170
9171 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9172
9173
9174 <TTCN_TC:EXEC>
9175
9176 if (dec_BER_PDU('0603280203'O) == myValue)
9177
9178
9179 {setverdict(pass);} else {setverdict(fail);}
9180
9181
9182 <RESULT>
9183
9184 Overall verdict: pass
9185
9186 <END_TC>
9187
9188 :exmp.
9189
9190 .*---------------------------------------------------------------------*
9191 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive)
9192 .*---------------------------------------------------------------------*
9193 :xmp tab=0.
9194
9195 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive)>
9196
9197 <STATIC:ASN>
9198
9199 TempA
9200
9201 DEFINITIONS ::=
9202 BEGIN
9203 BERPDU ::= OBJECT IDENTIFIER
9204
9205 myValue BERPDU ::= {1 0 a(2) b(3)}
9206
9207 END
9208
9209 <STATIC>
9210
9211 import from TempA all;
9212
9213 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9214
9215
9216 <TTCN_TC:EXEC>
9217
9218 if (dec_BER_PDU('0603280203'O) == myValue)
9219
9220
9221 {setverdict(pass);} else {setverdict(fail);}
9222
9223
9224 <RESULT>
9225
9226 Overall verdict: pass
9227
9228 <END_TC>
9229
9230 :exmp.
9231
9232 .*---------------------------------------------------------------------*
9233 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive)
9234 .*---------------------------------------------------------------------*
9235 :xmp tab=0.
9236
9237 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive)>
9238
9239 <STATIC:ASN>
9240
9241 TempA
9242
9243 DEFINITIONS ::=
9244 BEGIN
9245 BERPDU ::= OBJECT IDENTIFIER
9246
9247 myValue BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
9248
9249 END
9250
9251 <STATIC>
9252
9253 import from TempA all;
9254
9255 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9256
9257
9258 <TTCN_TC:EXEC>
9259
9260 if (dec_BER_PDU('06032A0203'O) == myValue)
9261
9262
9263 {setverdict(pass);} else {setverdict(fail);}
9264
9265
9266 <RESULT>
9267
9268 Overall verdict: pass
9269
9270 <END_TC>
9271
9272 :exmp.
9273
9274 .*---------------------------------------------------------------------*
9275 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive)
9276 .*---------------------------------------------------------------------*
9277 :xmp tab=0.
9278
9279 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive)>
9280
9281 <STATIC:ASN>
9282
9283 TempA
9284
9285 DEFINITIONS ::=
9286 BEGIN
9287 BERPDU ::= OBJECT IDENTIFIER
9288
9289 myValue BERPDU ::= {iso member-body a(2) b(3)}
9290
9291 END
9292
9293 <STATIC>
9294
9295 import from TempA all;
9296
9297 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9298
9299
9300 <TTCN_TC:EXEC>
9301
9302 if (dec_BER_PDU('06032A0203'O) == myValue)
9303
9304
9305 {setverdict(pass);} else {setverdict(fail);}
9306
9307
9308 <RESULT>
9309
9310 Overall verdict: pass
9311
9312 <END_TC>
9313
9314 :exmp.
9315
9316 .*---------------------------------------------------------------------*
9317 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive)
9318 .*---------------------------------------------------------------------*
9319 :xmp tab=0.
9320
9321 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive)>
9322
9323 <STATIC:ASN>
9324
9325 TempA
9326
9327 DEFINITIONS ::=
9328 BEGIN
9329 BERPDU ::= OBJECT IDENTIFIER
9330
9331 myValue BERPDU ::= {1 2 a(2) b(3)}
9332
9333 END
9334
9335 <STATIC>
9336
9337 import from TempA all;
9338
9339 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9340
9341
9342 <TTCN_TC:EXEC>
9343
9344 if (dec_BER_PDU('06032A0203'O) == myValue)
9345
9346
9347 {setverdict(pass);} else {setverdict(fail);}
9348
9349
9350 <RESULT>
9351
9352 Overall verdict: pass
9353
9354 <END_TC>
9355
9356 :exmp.
9357
9358 .*---------------------------------------------------------------------*
9359 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive)
9360 .*---------------------------------------------------------------------*
9361 :xmp tab=0.
9362
9363 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive)>
9364
9365 <STATIC:ASN>
9366
9367 TempA
9368
9369 DEFINITIONS ::=
9370 BEGIN
9371 BERPDU ::= OBJECT IDENTIFIER
9372
9373 myValue BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
9374
9375 END
9376
9377 <STATIC>
9378
9379 import from TempA all;
9380
9381 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9382
9383
9384 <TTCN_TC:EXEC>
9385
9386 if (dec_BER_PDU('06032B0203'O) == myValue)
9387
9388
9389 {setverdict(pass);} else {setverdict(fail);}
9390
9391
9392 <RESULT>
9393
9394 Overall verdict: pass
9395
9396 <END_TC>
9397
9398 :exmp.
9399
9400 .*---------------------------------------------------------------------*
9401 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive)
9402 .*---------------------------------------------------------------------*
9403 :xmp tab=0.
9404
9405 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive)>
9406
9407 <STATIC:ASN>
9408
9409 TempA
9410
9411 DEFINITIONS ::=
9412 BEGIN
9413 BERPDU ::= OBJECT IDENTIFIER
9414
9415 myValue BERPDU ::= {iso identified-organization a(2) b(3)}
9416
9417 END
9418
9419 <STATIC>
9420
9421 import from TempA all;
9422
9423 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9424
9425
9426 <TTCN_TC:EXEC>
9427
9428 if (dec_BER_PDU('06032B0203'O) == myValue)
9429
9430
9431 {setverdict(pass);} else {setverdict(fail);}
9432
9433
9434 <RESULT>
9435
9436 Overall verdict: pass
9437
9438 <END_TC>
9439
9440 :exmp.
9441
9442 .*---------------------------------------------------------------------*
9443 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive)
9444 .*---------------------------------------------------------------------*
9445 :xmp tab=0.
9446
9447 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive)>
9448
9449 <STATIC:ASN>
9450
9451 TempA
9452
9453 DEFINITIONS ::=
9454 BEGIN
9455 BERPDU ::= OBJECT IDENTIFIER
9456
9457 myValue BERPDU ::= {1 3 a(2) b(3)}
9458
9459 END
9460
9461 <STATIC>
9462
9463 import from TempA all;
9464
9465 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9466
9467
9468 <TTCN_TC:EXEC>
9469
9470 if (dec_BER_PDU('06032B0203'O) == myValue)
9471
9472
9473 {setverdict(pass);} else {setverdict(fail);}
9474
9475
9476 <RESULT>
9477
9478 Overall verdict: pass
9479
9480 <END_TC>
9481
9482 :exmp.
9483
9484 .*---------------------------------------------------------------------*
9485 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive)
9486 .*---------------------------------------------------------------------*
9487 :xmp tab=0.
9488
9489 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive)>
9490
9491 <STATIC:ASN>
9492
9493 TempA
9494
9495 DEFINITIONS ::=
9496 BEGIN
9497 BERPDU ::= OBJECT IDENTIFIER
9498
9499 myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
9500
9501 END
9502
9503 <STATIC>
9504
9505 import from TempA all;
9506
9507 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9508
9509
9510 <TTCN_TC:EXEC>
9511
9512 if (dec_BER_PDU('0603500203'O) == myValue)
9513
9514
9515 {setverdict(pass);} else {setverdict(fail);}
9516
9517
9518 <RESULT>
9519
9520 Overall verdict: pass
9521
9522 <END_TC>
9523
9524 :exmp.
9525
9526 .*---------------------------------------------------------------------*
9527 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive)
9528 .*---------------------------------------------------------------------*
9529 :xmp tab=0.
9530
9531 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive)>
9532
9533 <STATIC:ASN>
9534
9535 TempA
9536
9537 DEFINITIONS ::=
9538 BEGIN
9539 BERPDU ::= OBJECT IDENTIFIER
9540
9541 myValue BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
9542
9543
9544 END
9545
9546 <STATIC>
9547
9548 import from TempA all;
9549
9550 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9551
9552
9553 <TTCN_TC:EXEC>
9554
9555 if (dec_BER_PDU('0603500203'O) == myValue)
9556
9557
9558 {setverdict(pass);} else {setverdict(fail);}
9559
9560
9561 <RESULT>
9562
9563 Overall verdict: pass
9564
9565 <END_TC>
9566
9567 :exmp.
9568
9569 .*---------------------------------------------------------------------*
9570 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive)
9571 .*---------------------------------------------------------------------*
9572 :xmp tab=0.
9573
9574 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive)>
9575
9576 <STATIC:ASN>
9577
9578 TempA
9579
9580 DEFINITIONS ::=
9581 BEGIN
9582 BERPDU ::= OBJECT IDENTIFIER
9583
9584 myValue BERPDU ::= {2 0 a(2) b(3)}
9585
9586 END
9587
9588 <STATIC>
9589
9590 import from TempA all;
9591
9592 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9593
9594
9595 <TTCN_TC:EXEC>
9596
9597 if (dec_BER_PDU('0603500203'O) == myValue)
9598
9599
9600 {setverdict(pass);} else {setverdict(fail);}
9601
9602
9603 <RESULT>
9604
9605 Overall verdict: pass
9606
9607 <END_TC>
9608
9609 :exmp.
9610
9611 .*---------------------------------------------------------------------*
9612 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)
9613 .*---------------------------------------------------------------------*
9614 :xmp tab=0.
9615
9616 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)>
9617
9618 <STATIC:ASN>
9619
9620 TempA
9621
9622 DEFINITIONS ::=
9623 BEGIN
9624 BERPDU ::= OBJECT IDENTIFIER
9625
9626 myValue BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
9627
9628 END
9629
9630 <STATIC>
9631
9632 import from TempA all;
9633
9634 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9635
9636
9637 <TTCN_TC:EXEC>
9638
9639 if (dec_BER_PDU('060481340203'O) == myValue)
9640
9641
9642 {setverdict(pass);} else {setverdict(fail);}
9643
9644
9645 <RESULT>
9646
9647 Overall verdict: pass
9648
9649 <END_TC>
9650
9651 :exmp.
9652
9653 .*---------------------------------------------------------------------*
9654 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)
9655 .*---------------------------------------------------------------------*
9656 :xmp tab=0.
9657
9658 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)>
9659
9660 <STATIC:ASN>
9661
9662 TempA
9663
9664 DEFINITIONS ::=
9665 BEGIN
9666 BERPDU ::= OBJECT IDENTIFIER
9667
9668 myValue BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
9669
9670 END
9671
9672 <STATIC>
9673
9674 import from TempA all;
9675
9676 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9677
9678
9679 <TTCN_TC:EXEC>
9680
9681 if (dec_BER_PDU('060481340203'O) == myValue)
9682
9683
9684 {setverdict(pass);} else {setverdict(fail);}
9685
9686
9687 <RESULT>
9688
9689 Overall verdict: pass
9690
9691 <END_TC>
9692
9693 :exmp.
9694
9695 .*---------------------------------------------------------------------*
9696 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive)
9697 .*---------------------------------------------------------------------*
9698 :xmp tab=0.
9699
9700 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive)>
9701
9702 <STATIC:ASN>
9703
9704 TempA
9705
9706 DEFINITIONS ::=
9707 BEGIN
9708 BERPDU ::= OBJECT IDENTIFIER
9709
9710 myValue BERPDU ::= {2 100 a(2) b(3)}
9711
9712 END
9713
9714 <STATIC>
9715
9716 import from TempA all;
9717
9718 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9719
9720
9721 <TTCN_TC:EXEC>
9722
9723 if (dec_BER_PDU('060481340203'O) == myValue)
9724
9725
9726 {setverdict(pass);} else {setverdict(fail);}
9727
9728
9729 <RESULT>
9730
9731 Overall verdict: pass
9732
9733 <END_TC>
9734
9735 :exmp.
9736
9737 .*---------------------------------------------------------------------*
9738 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive)
9739 .*---------------------------------------------------------------------*
9740 :xmp tab=0.
9741
9742 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive)>
9743
9744 <STATIC:ASN>
9745
9746 TempA
9747
9748 DEFINITIONS ::=
9749 BEGIN
9750 BERPDU ::= OBJECT IDENTIFIER
9751
9752 myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
9753
9754 END
9755
9756 <STATIC>
9757
9758 import from TempA all;
9759
9760 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9761
9762
9763 <TTCN_TC:EXEC>
9764
9765 if (dec_BER_PDU('06075002038F509F20'O) == myValue)
9766
9767
9768 {setverdict(pass);} else {setverdict(fail);}
9769
9770
9771 <RESULT>
9772
9773 Overall verdict: pass
9774
9775 <END_TC>
9776
9777 :exmp.
9778
9779 .*---------------------------------------------------------------------*
9780 :h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive
9781 .*---------------------------------------------------------------------*
9782 :xmp tab=0.
9783
9784 <TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive>
9785
9786 <STATIC:ASN>
9787
9788 TempA
9789
9790 DEFINITIONS ::=
9791 BEGIN
9792 BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
9793
9794 myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9795
9796 END
9797
9798 <STATIC>
9799
9800 import from TempA all;
9801
9802 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9803
9804
9805 <TTCN_TC:EXEC>
9806
9807 if (dec_BER_PDU('8003000203'O) == myValue)
9808
9809
9810 {setverdict(pass);} else {setverdict(fail);}
9811
9812
9813 <RESULT>
9814
9815 Overall verdict: pass
9816
9817 <END_TC>
9818
9819 :exmp.
9820
9821 .*---------------------------------------------------------------------*
9822 :h3. DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed
9823 .*---------------------------------------------------------------------*
9824 :xmp tab=0.
9825
9826 <TC - DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed>
9827
9828 <STATIC:ASN>
9829
9830 TempA
9831
9832 DEFINITIONS ::=
9833 BEGIN
9834 BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9835
9836 myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9837
9838 END
9839
9840 <STATIC>
9841
9842 import from TempA all;
9843
9844 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9845
9846
9847 <TTCN_TC:EXEC>
9848
9849 if (dec_BER_PDU('A0050603000203'O) == myValue)
9850
9851
9852
9853 {setverdict(pass);} else {setverdict(fail);}
9854
9855
9856 <RESULT>
9857
9858 Overall verdict: pass
9859
9860 <END_TC>
9861
9862 :exmp.
9863
9864 .*---------------------------------------------------------------------*
9865 :h3. DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed
9866 .*---------------------------------------------------------------------*
9867 :xmp tab=0.
9868
9869 <TC - DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed>
9870
9871 <STATIC:ASN>
9872
9873 TempA
9874
9875 DEFINITIONS ::=
9876 BEGIN
9877 BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9878
9879 myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9880
9881 END
9882
9883 <STATIC>
9884
9885 import from TempA all;
9886
9887 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9888
9889
9890 <TTCN_TC:EXEC>
9891
9892 if (dec_BER_PDU('A08006030002030000'O) == myValue)
9893
9894 {setverdict(pass);} else {setverdict(fail);}
9895
9896
9897 <RESULT>
9898
9899 Overall verdict: pass
9900
9901 <END_TC>
9902
9903 :exmp.
9904
9905 .*---------------------------------------------------------------------*
9906 :h3. CER + DER encoding of OPEN TYPE from Information Object Class
9907 .*---------------------------------------------------------------------*
9908 :xmp tab=0.
9909
9910 <TC - CER + DER encoding of OPEN TYPE from Information Object Class>
9911
9912 <STATIC:ASN>
9913
9914 TempA
9915
9916 DEFINITIONS ::=
9917 BEGIN
9918
9919
9920 --***************************************************************************************************
9921 --modified class taken from Gyuri ASN1
9922 --***************************************************************************************************
9923 MY-CLASS-1 ::= CLASS
9924 {
9925 &TypeField OPTIONAL,
9926 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
9927
9928 }
9929 WITH SYNTAX
9930 {
9931 [TYPE FIELD &TypeField]
9932 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
9933 }
9934
9935 ASN1-Type1 ::= INTEGER
9936
9937 ASN1-Type2 ::= BOOLEAN
9938
9939 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
9940
9941 ASN1-Type4 ::= OCTET STRING
9942
9943
9944 --****************************************************************************************************
9945 -- OBJECTS using the class defined above
9946 --****************************************************************************************************
9947
9948
9949 myObject-1 MY-CLASS-1 ::=
9950 {
9951 TYPE FIELD ASN1-Type3
9952 FIXED VALUE TYPE FIELD 999
9953 }
9954
9955
9956 myObject-2 MY-CLASS-1 ::=
9957 {
9958 TYPE FIELD ASN1-Type2
9959 FIXED VALUE TYPE FIELD 888
9960 }
9961
9962 myObject-3 MY-CLASS-1 ::=
9963 {
9964 TYPE FIELD ASN1-Type4
9965 FIXED VALUE TYPE FIELD 555
9966 }
9967
9968 --****************************************************************************************************
9969 -- Defining Information Object sets
9970 --****************************************************************************************************
9971
9972 MyInformationObjectSet1 MY-CLASS-1 ::=
9973 {
9974 myObject-1|
9975 myObject-2,
9976 ...
9977 }
9978
9979 MyInformationObjectSet2 MY-CLASS-1 ::=
9980 {
9981 MyInformationObjectSet1|
9982 myObject-3,
9983 ...
9984 }
9985
9986 BERPDU ::= SEQUENCE
9987
9988 {
9989 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
9990 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
9991 }
9992
9993
9994 END
9995
9996 <STATIC>
9997
9998 import from TempA all;
9999 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10000 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10001
10002 const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}},field2 := 999 };
10003
10004
10005 <TTCN_TC:EXEC>
10006
10007 if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10008
10009
10010 <RESULT>
10011
10012 Overall verdict: pass
10013
10014 <END_TC>
10015
10016 :exmp.
10017
10018 .*---------------------------------------------------------------------*
10019 :h3. CER + DER encoding of TYPE from Information Object
10020 .*---------------------------------------------------------------------*
10021 :xmp tab=0.
10022
10023 <TC - CER + DER encoding of TYPE from Information Object >
10024
10025 <STATIC:ASN>
10026
10027 TempA
10028
10029 DEFINITIONS
10030
10031
10032 ::=
10033
10034 BEGIN
10035
10036
10037 --***************************************************************************************************
10038 --modified class taken from Gyuri ASN1
10039 --***************************************************************************************************
10040 MY-CLASS-1 ::= CLASS
10041 {
10042 &TypeField OPTIONAL,
10043 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10044
10045 }
10046 WITH SYNTAX
10047 {
10048 [TYPE FIELD &TypeField]
10049 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10050 }
10051
10052 ASN1-Type1 ::= INTEGER
10053
10054 ASN1-Type2 ::= BOOLEAN
10055
10056 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10057
10058 ASN1-Type4 ::= OCTET STRING
10059
10060
10061 --****************************************************************************************************
10062 -- OBJECTS using the class defined above
10063 --****************************************************************************************************
10064
10065
10066 myObject-1 MY-CLASS-1 ::=
10067 {
10068 TYPE FIELD ASN1-Type3
10069 FIXED VALUE TYPE FIELD 999
10070 }
10071
10072
10073 myObject-2 MY-CLASS-1 ::=
10074 {
10075 TYPE FIELD ASN1-Type2
10076 FIXED VALUE TYPE FIELD 888
10077 }
10078
10079 myObject-3 MY-CLASS-1 ::=
10080 {
10081 TYPE FIELD ASN1-Type4
10082 FIXED VALUE TYPE FIELD 555
10083 }
10084
10085 --****************************************************************************************************
10086 -- Defining Information Object sets
10087 --****************************************************************************************************
10088
10089 MyInformationObjectSet1 MY-CLASS-1 ::=
10090 {
10091 myObject-1|
10092 myObject-2,
10093 ...
10094 }
10095
10096 MyInformationObjectSet2 MY-CLASS-1 ::=
10097 {
10098 MyInformationObjectSet1|
10099 myObject-3,
10100 ...
10101 }
10102
10103
10104
10105 BERPDU ::= SEQUENCE
10106
10107 {
10108 field1 myObject-1.&TypeField , -- type from object
10109 field2 MY-CLASS-1.&fixedTypeValueField
10110 }
10111
10112 END
10113
10114
10115 <STATIC>
10116
10117 import from TempA all;
10118 external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10119 external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10120
10121 const BERPDU myValue := { field1 := {f1 := 8},field2 := 999 };
10122
10123
10124 <TTCN_TC:EXEC>
10125
10126 if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10127
10128
10129 <RESULT>
10130
10131 Overall verdict: pass
10132
10133 <END_TC>
10134
10135 :exmp.
10136
10137 .*---------------------------------------------------------------------*
10138 :h3. DECODING ,OPEN TYPE, DER, from Information Object Class
10139 .*---------------------------------------------------------------------*
10140 :xmp tab=0.
10141
10142 <TC - DECODING ,OPEN TYPE, DER, from Information Object Class>
10143
10144 <STATIC:ASN>
10145
10146
10147 TempA
10148
10149 DEFINITIONS ::=
10150 BEGIN
10151
10152
10153 --***************************************************************************************************
10154 --modified class taken from Gyuri ASN1
10155 --***************************************************************************************************
10156 MY-CLASS-1 ::= CLASS
10157 {
10158 &TypeField OPTIONAL,
10159 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10160
10161 }
10162 WITH SYNTAX
10163 {
10164 [TYPE FIELD &TypeField]
10165 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10166 }
10167
10168 ASN1-Type1 ::= INTEGER
10169
10170 ASN1-Type2 ::= BOOLEAN
10171
10172 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10173
10174 ASN1-Type4 ::= OCTET STRING
10175
10176
10177 --****************************************************************************************************
10178 -- OBJECTS using the class defined above
10179 --****************************************************************************************************
10180
10181
10182 myObject-1 MY-CLASS-1 ::=
10183 {
10184 TYPE FIELD ASN1-Type3
10185 FIXED VALUE TYPE FIELD 999
10186 }
10187
10188
10189 myObject-2 MY-CLASS-1 ::=
10190 {
10191 TYPE FIELD ASN1-Type2
10192 FIXED VALUE TYPE FIELD 888
10193 }
10194
10195 myObject-3 MY-CLASS-1 ::=
10196 {
10197 TYPE FIELD ASN1-Type4
10198 FIXED VALUE TYPE FIELD 555
10199 }
10200
10201 --****************************************************************************************************
10202 -- Defining Information Object sets
10203 --****************************************************************************************************
10204
10205 MyInformationObjectSet1 MY-CLASS-1 ::=
10206 {
10207 myObject-1|
10208 myObject-2,
10209 ...
10210 }
10211
10212 MyInformationObjectSet2 MY-CLASS-1 ::=
10213 {
10214 MyInformationObjectSet1|
10215 myObject-3,
10216 ...
10217 }
10218
10219 BERPDU ::= SEQUENCE
10220
10221 {
10222 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10223 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10224 }
10225
10226
10227 END
10228 <STATIC>
10229
10230 import from TempA all;
10231
10232 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10233
10234 const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10235
10236
10237 <TTCN_TC:EXEC>
10238
10239 if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10240
10241 {setverdict(pass);} else {setverdict(fail);}
10242
10243
10244 <RESULT>
10245
10246 Overall verdict: pass
10247
10248 <END_TC>
10249
10250 :exmp.
10251
10252 .*---------------------------------------------------------------------*
10253 :h3. DECODING ,OPEN TYPE, CER, from Information Object Class
10254 .*---------------------------------------------------------------------*
10255 :xmp tab=0.
10256
10257 <TC - DECODING ,OPEN TYPE, CER, from Information Object Class>
10258
10259 <STATIC:ASN>
10260
10261
10262 TempA
10263
10264 DEFINITIONS ::=
10265 BEGIN
10266
10267
10268 --***************************************************************************************************
10269 --modified class taken from Gyuri ASN1
10270 --***************************************************************************************************
10271 MY-CLASS-1 ::= CLASS
10272 {
10273 &TypeField OPTIONAL,
10274 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10275
10276 }
10277 WITH SYNTAX
10278 {
10279 [TYPE FIELD &TypeField]
10280 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10281 }
10282
10283 ASN1-Type1 ::= INTEGER
10284
10285 ASN1-Type2 ::= BOOLEAN
10286
10287 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10288
10289 ASN1-Type4 ::= OCTET STRING
10290
10291
10292 --****************************************************************************************************
10293 -- OBJECTS using the class defined above
10294 --****************************************************************************************************
10295
10296
10297 myObject-1 MY-CLASS-1 ::=
10298 {
10299 TYPE FIELD ASN1-Type3
10300 FIXED VALUE TYPE FIELD 999
10301 }
10302
10303
10304 myObject-2 MY-CLASS-1 ::=
10305 {
10306 TYPE FIELD ASN1-Type2
10307 FIXED VALUE TYPE FIELD 888
10308 }
10309
10310 myObject-3 MY-CLASS-1 ::=
10311 {
10312 TYPE FIELD ASN1-Type4
10313 FIXED VALUE TYPE FIELD 555
10314 }
10315
10316 --****************************************************************************************************
10317 -- Defining Information Object sets
10318 --****************************************************************************************************
10319
10320 MyInformationObjectSet1 MY-CLASS-1 ::=
10321 {
10322 myObject-1|
10323 myObject-2,
10324 ...
10325 }
10326
10327 MyInformationObjectSet2 MY-CLASS-1 ::=
10328 {
10329 MyInformationObjectSet1|
10330 myObject-3,
10331 ...
10332 }
10333
10334 BERPDU ::= SEQUENCE
10335
10336 {
10337 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10338 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10339 }
10340
10341
10342 END
10343 <STATIC>
10344
10345 import from TempA all;
10346
10347 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10348
10349 const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10350
10351
10352 <TTCN_TC:EXEC>
10353
10354 if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10355
10356 {setverdict(pass);} else {setverdict(fail);}
10357
10358
10359 <RESULT>
10360
10361 Overall verdict: pass
10362
10363 <END_TC>
10364
10365 :exmp.
10366
10367 .*---------------------------------------------------------------------*
10368 :h3. DECODING , TYPE from Information Object Class, DER
10369 .*---------------------------------------------------------------------*
10370 :xmp tab=0.
10371
10372 <TC - DECODING , TYPE from Information Object Class, DER>
10373
10374 <STATIC:ASN>
10375
10376
10377 TempA
10378
10379 DEFINITIONS
10380
10381
10382 ::=
10383
10384 BEGIN
10385
10386
10387 --***************************************************************************************************
10388 --modified class taken from Gyuri ASN1
10389 --***************************************************************************************************
10390 MY-CLASS-1 ::= CLASS
10391 {
10392 &TypeField OPTIONAL,
10393 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10394
10395 }
10396 WITH SYNTAX
10397 {
10398 [TYPE FIELD &TypeField]
10399 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10400 }
10401
10402 ASN1-Type1 ::= INTEGER
10403
10404 ASN1-Type2 ::= BOOLEAN
10405
10406 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10407
10408 ASN1-Type4 ::= OCTET STRING
10409
10410
10411 --****************************************************************************************************
10412 -- OBJECTS using the class defined above
10413 --****************************************************************************************************
10414
10415
10416 myObject-1 MY-CLASS-1 ::=
10417 {
10418 TYPE FIELD ASN1-Type3
10419 FIXED VALUE TYPE FIELD 999
10420 }
10421
10422
10423 myObject-2 MY-CLASS-1 ::=
10424 {
10425 TYPE FIELD ASN1-Type2
10426 FIXED VALUE TYPE FIELD 888
10427 }
10428
10429 myObject-3 MY-CLASS-1 ::=
10430 {
10431 TYPE FIELD ASN1-Type4
10432 FIXED VALUE TYPE FIELD 555
10433 }
10434
10435 --****************************************************************************************************
10436 -- Defining Information Object sets
10437 --****************************************************************************************************
10438
10439 MyInformationObjectSet1 MY-CLASS-1 ::=
10440 {
10441 myObject-1|
10442 myObject-2,
10443 ...
10444 }
10445
10446 MyInformationObjectSet2 MY-CLASS-1 ::=
10447 {
10448 MyInformationObjectSet1|
10449 myObject-3,
10450 ...
10451 }
10452
10453
10454
10455 BERPDU ::= SEQUENCE
10456
10457 {
10458 field1 myObject-1.&TypeField , -- type from object
10459 field2 MY-CLASS-1.&fixedTypeValueField
10460 }
10461
10462 END
10463
10464 <STATIC>
10465
10466 import from TempA all;
10467
10468 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10469
10470 const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10471
10472
10473 <TTCN_TC:EXEC>
10474
10475 if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10476
10477 {setverdict(pass);} else {setverdict(fail);}
10478
10479
10480 <RESULT>
10481
10482 Overall verdict: pass
10483
10484 <END_TC>
10485
10486 :exmp.
10487
10488 .*---------------------------------------------------------------------*
10489 :h3. DECODING , TYPE from Information Object Class, CER
10490 .*---------------------------------------------------------------------*
10491 :xmp tab=0.
10492
10493 <TC - DECODING , TYPE from Information Object Class, CER>
10494
10495 <STATIC:ASN>
10496
10497
10498 TempA
10499
10500 DEFINITIONS
10501
10502
10503 ::=
10504
10505 BEGIN
10506
10507
10508 --***************************************************************************************************
10509 --modified class taken from Gyuri ASN1
10510 --***************************************************************************************************
10511 MY-CLASS-1 ::= CLASS
10512 {
10513 &TypeField OPTIONAL,
10514 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10515
10516 }
10517 WITH SYNTAX
10518 {
10519 [TYPE FIELD &TypeField]
10520 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
10521 }
10522
10523 ASN1-Type1 ::= INTEGER
10524
10525 ASN1-Type2 ::= BOOLEAN
10526
10527 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10528
10529 ASN1-Type4 ::= OCTET STRING
10530
10531
10532 --****************************************************************************************************
10533 -- OBJECTS using the class defined above
10534 --****************************************************************************************************
10535
10536
10537 myObject-1 MY-CLASS-1 ::=
10538 {
10539 TYPE FIELD ASN1-Type3
10540 FIXED VALUE TYPE FIELD 999
10541 }
10542
10543
10544 myObject-2 MY-CLASS-1 ::=
10545 {
10546 TYPE FIELD ASN1-Type2
10547 FIXED VALUE TYPE FIELD 888
10548 }
10549
10550 myObject-3 MY-CLASS-1 ::=
10551 {
10552 TYPE FIELD ASN1-Type4
10553 FIXED VALUE TYPE FIELD 555
10554 }
10555
10556 --****************************************************************************************************
10557 -- Defining Information Object sets
10558 --****************************************************************************************************
10559
10560 MyInformationObjectSet1 MY-CLASS-1 ::=
10561 {
10562 myObject-1|
10563 myObject-2,
10564 ...
10565 }
10566
10567 MyInformationObjectSet2 MY-CLASS-1 ::=
10568 {
10569 MyInformationObjectSet1|
10570 myObject-3,
10571 ...
10572 }
10573
10574
10575
10576 BERPDU ::= SEQUENCE
10577
10578 {
10579 field1 myObject-1.&TypeField , -- type from object
10580 field2 MY-CLASS-1.&fixedTypeValueField
10581 }
10582
10583 END
10584
10585 <STATIC>
10586
10587 import from TempA all;
10588
10589 external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10590
10591 const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10592
10593
10594 <TTCN_TC:EXEC>
10595
10596 if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10597
10598 {setverdict(pass);} else {setverdict(fail);}
10599
10600
10601 <RESULT>
10602
10603 Overall verdict: pass
10604
10605 <END_TC>
10606
10607 :exmp.
10608
10609 .*---------------------------------------------------------------------*
10610 :h2. Encoding/decoding of big integers
10611 .*---------------------------------------------------------------------*
10612 .*---------------------------------------------------------------------*
10613 :h3. Encoding/decoding of big integers
10614 .*---------------------------------------------------------------------*
10615 :xmp tab=0.
10616
10617 <TC - Encoding/decoding of big integers>
10618
10619 <STATIC:ASN>
10620
10621 TempA DEFINITIONS AUTOMATIC TAGS ::=
10622 BEGIN
10623
10624 BERPDU ::= INTEGER
10625 bi1 BERPDU ::= 5
10626 bi2 BERPDU ::= 0
10627 bi3 BERPDU ::= 127
10628 bi4 BERPDU ::= -128
10629 bi5 BERPDU ::= -5
10630 bi-6 BERPDU ::= 128
10631 bi7 BERPDU ::= -129
10632
10633 BERPDU2 ::= REAL
10634 --b BERPDU2 ::= 12345678900
10635
10636 Rec-ber ::= SEQUENCE {
10637 int1 Number,
10638 int2 Number
10639 }
10640 Rec-ber-literal ::= SEQUENCE {
10641 int1 NumberLit,
10642 int2 NumberLit
10643 }
10644 Number ::= INTEGER
10645 NumberLit ::= NumericString (SIZE (100))
10646 myNumber Number ::= 12345678910111213141516
10647
10648 END
10649
10650 <STATIC>
10651
10652 import from TempA language "ASN.1:1997" all
10653
10654 external function enc_ber1(in Rec_ber r) return octetstring
10655 with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10656 external function dec_ber1(in octetstring r) return Rec_ber
10657 with { extension "decode(BER:BER_ACCEPT_ALL) prototype(convert) errorbehavior(ALL:WARNING)" }
10658 external function enc_ber2(in integer r) return octetstring
10659 with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10660 // Attributes are not checked in the compiler.
10661 external function dec_ber2(in octetstring r) return integer
10662 with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10663 external function dec_ber3(inout octetstring r, out Rec_ber s) return integer
10664 with { extension "decode(BER:BER_ACCEPT_ALL) prototype(sliding) errorbehavior(ALL:WARNING)" }
10665
10666 type component comp_ber { }
10667
10668 <TTCN_TC:EXEC>
10669
10670 const integer a := 2147483647
10671 const integer b := 2147483648
10672 const integer c := 2147483649
10673 const integer d := 128
10674 const integer e := myNumber
10675 const integer f := 12147483648
10676 var Rec_ber myrec1 := {int1 := a, int2 := b}
10677 var Rec_ber myrec2 := {int1 := c, int2 := d}
10678 var Rec_ber myrec3 := {int1 := 1048576, int2 := 321768}
10679 var Rec_ber myrec4 := {65536, 131072}
10680 var Rec_ber myrec5 := {4294967296, 8388608}
10681 var Rec_ber myrec6 := {12345678910111213141516, 11111111111111111111}
10682 var Rec_ber myrec7 := {8589934592, 1099511627776}
10683 var Rec_ber myrec8 := {int1 := a, int2 := b}
10684 var Rec_ber myrec9 := {int1 := 12345678910111213141516, int2 := -1234}
10685 var Rec_ber myrec10 := {int1 := -12345678910111213141516, int2 := -1234}
10686 var Rec_ber myrec11 := {2147483648, -2147483648}
10687 var Rec_ber myrec12 := {-2147483647, 2147483647}
10688 var Rec_ber myrec13 := {2147483649, -2147483649}
10689 var Rec_ber myrec14 := {-4294967296, 4294967296}
10690 var Rec_ber myrec15 := {4294967295, -4294967295}
10691 var Rec_ber myrec16 := {-4294967297, 4294967297}
10692 var Rec_ber pdu1 := {12345678910111213141516, -2147483648}
10693 var Rec_ber pdu2 := {123, 456}
10694 var octetstring encoded_pdu
10695 var Rec_ber decoded_pdu
10696 var integer ret_val
10697 encoded_pdu := enc_ber1(pdu2)
10698 ret_val := dec_ber3(encoded_pdu, decoded_pdu)
10699 if (ret_val == 0 and decoded_pdu == pdu2) {setverdict(pass)} else {setverdict(fail)}
10700 encoded_pdu := '800100'O
10701 ret_val := dec_ber3(encoded_pdu, decoded_pdu)
10702 if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)}
10703 encoded_pdu := substr(enc_ber1(pdu1), 0, 4)
10704 ret_val := dec_ber3(encoded_pdu, decoded_pdu)
10705 if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)}
10706 encoded_pdu := enc_ber2(-2147483648)
10707 if (encoded_pdu == '020480000000'O) {setverdict(pass)} else {setverdict(fail)}
10708 encoded_pdu := enc_ber1(myrec1)
10709 if (myrec1 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10710 if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10711 encoded_pdu := enc_ber1(myrec2)
10712 if (myrec2 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10713 if ({int1 := c, int2 := d} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10714 encoded_pdu := enc_ber1(myrec3)
10715 if (myrec3 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10716 if ({int1 := 1048576, int2 := 321768} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10717 encoded_pdu := enc_ber1(myrec4)
10718 if (myrec4 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10719 if ({65536, 131072} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10720 encoded_pdu := enc_ber1(myrec5)
10721 if (myrec5 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10722 if ({4294967296, 8388608} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10723 encoded_pdu := enc_ber1(myrec6)
10724 if (myrec6 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10725 if ({12345678910111213141516, 11111111111111111111} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10726 encoded_pdu := enc_ber1(myrec7)
10727 if (myrec7 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10728 if ({8589934592, 1099511627776} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10729 encoded_pdu := enc_ber1(myrec8)
10730 if (myrec8 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10731 if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10732 encoded_pdu := enc_ber1(myrec9)
10733 if (myrec9 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10734 if ({int1 := 12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10735 encoded_pdu := enc_ber1(myrec10)
10736 if (myrec10 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10737 if ({int1 := -12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10738 encoded_pdu := enc_ber1(myrec11)
10739 if (myrec11 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10740 if ({2147483648, -2147483648} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10741 encoded_pdu := enc_ber1(myrec12)
10742 if (myrec12 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10743 if ({-2147483647, 2147483647} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10744 encoded_pdu := enc_ber1(myrec13)
10745 if (myrec13 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10746 if ({2147483649, -2147483649} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10747 encoded_pdu := enc_ber1(myrec14)
10748 if (myrec14 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10749 if ({-4294967296, 4294967296} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10750 encoded_pdu := enc_ber1(myrec15)
10751 if (myrec15 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10752 if ({4294967295, -4294967295} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10753 encoded_pdu := enc_ber1(myrec16)
10754 if (myrec16 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10755 if ({-4294967297, 4294967297} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)}
10756
10757 <RESULT>
10758
10759 Overall verdict: pass
10760
10761 <END_TC>
10762
10763 :exmp.
10764
10765 .*---------------------------------------------------------------------*
10766 :h2.Purpose
10767 .*---------------------------------------------------------------------*
10768 Negative tests for the BER decoder.
10769 .*---------------------------------------------------------------------*
10770 :h2.Test cases
10771 .*---------------------------------------------------------------------*
10772
10773 .*---------------------------------------------------------------------*
10774 :h3. BER decoding REAL, decimal form NR3 pretending to be NR1
10775 .*---------------------------------------------------------------------*
10776 :xmp tab=0.
10777
10778 <TC- BER decoding REAL, decimal form NR3 pretending to be NR1>
10779
10780 <STATIC:ASN>
10781
10782 TempA
10783 DEFINITIONS
10784 AUTOMATIC TAGS
10785 ::=
10786 BEGIN
10787
10788 IMPORTS; -- nothing
10789
10790 BERPDU ::= REAL
10791
10792 END
10793
10794 <STATIC>
10795
10796 type float BERPDU;
10797
10798 external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10799 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10800
10801 // pi: 31415926.E-7
10802 const octetstring der_encoded := '090D0133313431353932362E452D37'O;
10803 const BERPDU myValue := 3.1415926;
10804
10805 <TTCN_TC:EXEC>
10806
10807 var BERPDU der_decoded, cer_decoded;
10808
10809 dec_BER_PDU(der_encoded, der_decoded);
10810 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10811
10812 <RESULT>
10813
10814 Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR1 form.
10815
10816 <END_TC>
10817
10818 :exmp.
10819
10820
10821 .*---------------------------------------------------------------------*
10822 :h3. BER decoding REAL, decimal form NR3 pretending to be NR2
10823 .*---------------------------------------------------------------------*
10824 :xmp tab=0.
10825
10826 <TC- BER decoding REAL, decimal form NR3 pretending to be NR2>
10827
10828 <STATIC:ASN>
10829
10830 TempA
10831 DEFINITIONS
10832 AUTOMATIC TAGS
10833 ::=
10834 BEGIN
10835
10836 IMPORTS; -- nothing
10837
10838 BERPDU ::= REAL
10839
10840 END
10841
10842 <STATIC>
10843
10844 type float BERPDU;
10845
10846 external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10847 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10848
10849 // pi: 31415926.E-7
10850 const octetstring der_encoded := '090D0233313431353932362E452D37'O;
10851 const BERPDU myValue := 3.1415926;
10852
10853 <TTCN_TC:EXEC>
10854
10855 var BERPDU der_decoded, cer_decoded;
10856
10857 dec_BER_PDU(der_encoded, der_decoded);
10858 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10859
10860 <RESULT>
10861
10862 Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR2 form.
10863
10864 <END_TC>
10865
10866 :exmp.
10867
10868 .*---------------------------------------------------------------------*
10869 :h3. BER decoding REAL, reserved decimal form 0x20
10870 .*---------------------------------------------------------------------*
10871 :xmp tab=0.
10872
10873 <TC- BER decoding REAL, reserved decimal form 0x20>
10874
10875 <STATIC:ASN>
10876
10877 TempA
10878 DEFINITIONS
10879 AUTOMATIC TAGS
10880 ::=
10881 BEGIN
10882
10883 IMPORTS; -- nothing
10884
10885 BERPDU ::= REAL
10886
10887 END
10888
10889 <STATIC>
10890
10891 type float BERPDU;
10892
10893 external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10894 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10895
10896 // pi: 31415926.E-7
10897 const octetstring der_encoded := '090D2033313431353932362E452D37'O;
10898 const BERPDU myValue := 3.1415926;
10899
10900 <TTCN_TC:EXEC>
10901
10902 var BERPDU der_decoded, cer_decoded;
10903
10904 dec_BER_PDU(der_encoded, der_decoded);
10905 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10906
10907 <RESULT>
10908
10909 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).
10910
10911 <END_TC>
10912
10913 :exmp.
10914
10915
10916 .*---------------------------------------------------------------------*
10917 :h3. BER decoding REAL, decimal form 0
10918 .*---------------------------------------------------------------------*
10919 :xmp tab=0.
10920
10921 <TC- BER decoding REAL, decimal form 0>
10922
10923 <STATIC:ASN>
10924
10925 TempA
10926 DEFINITIONS
10927 AUTOMATIC TAGS
10928 ::=
10929 BEGIN
10930
10931 IMPORTS; -- nothing
10932
10933 BERPDU ::= REAL
10934
10935 END
10936
10937 <STATIC>
10938
10939 type float BERPDU;
10940
10941 external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10942 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10943
10944 // pi: 31415926.E-7
10945 const octetstring der_encoded := '090D0033313431353932362E452D37'O;
10946 const BERPDU myValue := 3.1415926;
10947
10948 <TTCN_TC:EXEC>
10949
10950 var BERPDU der_decoded, cer_decoded;
10951
10952 dec_BER_PDU(der_encoded, der_decoded);
10953 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10954
10955 <RESULT>
10956
10957 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).
10958
10959 <END_TC>
10960
10961 :exmp.
10962
10963
10964 .*---------------------------------------------------------------------*
10965 :h3. BER decoding REAL, decimal form 4
10966 .*---------------------------------------------------------------------*
10967 :xmp tab=0.
10968
10969 <TC- BER decoding REAL, decimal form 4>
10970
10971 <STATIC:ASN>
10972
10973 TempA
10974 DEFINITIONS
10975 AUTOMATIC TAGS
10976 ::=
10977 BEGIN
10978
10979 IMPORTS; -- nothing
10980
10981 BERPDU ::= REAL
10982
10983 END
10984
10985 <STATIC>
10986
10987 type float BERPDU;
10988
10989 external function dec_BER_PDU(in octetstring os, out BERPDU pdu)
10990 with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " }
10991
10992 // pi: 31415926.E-7
10993 const octetstring der_encoded := '090D0433313431353932362E452D37'O;
10994 const BERPDU myValue := 3.1415926;
10995
10996 <TTCN_TC:EXEC>
10997
10998 var BERPDU der_decoded, cer_decoded;
10999
11000 dec_BER_PDU(der_encoded, der_decoded);
11001 if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
11002
11003 <RESULT>
11004
11005 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).
11006
11007 <END_TC>
11008
11009 :exmp.
11010
11011 .*---------------------------------------------------------------------*
11012 :h3. Memory leak while BER decoding, test for HO73756
11013 .*---------------------------------------------------------------------*
11014 :xmp tab=0.
11015
11016 <TC - Memory leak while BER decoding, test for HO73756>
11017
11018 <STATIC:ASN>
11019 TempA DEFINITIONS ::=
11020 BEGIN
11021
11022 MY-CLASS-1 ::= CLASS
11023 {
11024 &TypeField OPTIONAL,
11025 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
11026
11027 }
11028 WITH SYNTAX
11029 {
11030 [TYPE FIELD &TypeField]
11031 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
11032 }
11033
11034 ASN1-Type1 ::= INTEGER
11035
11036 ASN1-Type2 ::= BOOLEAN
11037
11038 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
11039
11040 ASN1-Type4 ::= OCTET STRING
11041
11042 myObject-1 MY-CLASS-1 ::=
11043 {
11044 TYPE FIELD ASN1-Type3
11045 FIXED VALUE TYPE FIELD 999
11046 }
11047
11048 myObject-2 MY-CLASS-1 ::=
11049 {
11050 TYPE FIELD ASN1-Type2
11051 FIXED VALUE TYPE FIELD 888
11052 }
11053
11054 myObject-3 MY-CLASS-1 ::=
11055 {
11056 TYPE FIELD ASN1-Type4
11057 FIXED VALUE TYPE FIELD 555
11058 }
11059
11060 MyInformationObjectSet1 MY-CLASS-1 ::=
11061 {
11062 myObject-1|myObject-2,
11063 ...
11064 }
11065
11066 MyInformationObjectSet2 MY-CLASS-1 ::=
11067 {
11068 MyInformationObjectSet1|myObject-3,
11069 ...
11070 }
11071
11072 BERPDU ::= SEQUENCE
11073 {
11074 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
11075 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
11076 }
11077
11078 END
11079 <STATIC>
11080 // Test for memory leak problem in BER decoder: HO73756.
11081 import from TempA all;
11082
11083 external function dec_backtrack(in octetstring stream, out BERPDU outpdu) return integer with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" }
11084
11085 type component empty {
11086 var BERPDU mypdu
11087 }
11088
11089 <TTCN_TC:PURE_EXEC>
11090
11091 testcase mytc() runs on empty {
11092 dec_backtrack('30093003020108020203E7'O, mypdu)
11093 dec_backtrack('30093003020108020203E7'O, mypdu)
11094 setverdict(pass)
11095 }
11096
11097 control {
11098 execute(mytc())
11099 }
11100
11101 <RESULT>
11102
11103 Overall verdict: pass
11104
11105 <END_TC>
11106
11107 :exmp.
11108
11109 .*---------------------------------------------------------------------*
11110 :h1.REFERENCES
11111 .*---------------------------------------------------------------------*
11112 :nl. Requirement specification(s):
11113 :nl.-------------------------------
11114 :list.
11115 :li. 8/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's encoder/decoder functions
11116 :elist.
11117
11118 :etext.
This page took 0.258311 seconds and 6 git commands to generate.