Sync with 5.3.0
[deliverable/titan.core.git] / function_test / BER_EncDec / BER_EncDec_TD.fast_script
CommitLineData
970ed795
EL
1.******************************************************************************
2.* Copyright (c) 2000-2014 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
a38c6d4c 12:docno.8/152 91-CRL 113 200/5 Uen
13:rev.C
14:date.2015-04-27
970ed795
EL
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
30This TD contains unified test cases related to TTCN3 Executor's BER coder function.
31The original test cases can be found in the BER_EncDec_TD.script file.
32The 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
41REV DATE PREPARED CHANGE
42=== ========== ======== ======
43A 2003-10-31 ETHEKR New document
44B 2007-03-06 EDMDELI Implicit message encoding
45C 2007-03-21 EJNOSZA Bugfix in a testcase for implicit msg. enc.
46D 2008-10-01 EFERKOV Big integers
47E 2010-01-18 EKRISZA Updated for TITAN R8C
48F 2011-06-18 EKRISZA Added tests for errors
49A 2011-12-12 EKRISZA Updated for release
50PB1 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
83TempA
84
85DEFINITIONS ::=
86
87BEGIN
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
458b7-31 BERPDU31 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
459b8-31 BERPDU31 ::= ''B
460b9-31 BERPDU31 ::='1'B
461b10-31 BERPDU31 ::='11'B
462b11-31 BERPDU31 ::='1010101'B
463b12-31 BERPDU31 ::='10101011010101'B
464b13-31 BERPDU31 ::='10101010'B
465b14-31 BERPDU31 ::='1010101010101010'B
466b15-31 BERPDU31 ::='111100001'B
467b16-31 BERPDU31 ::='111100001111100001'B
468b17-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
469b18-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
470b19-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
471
472b-32 BERPDU32 ::='1'B
473
474b5-34 BERPDU34 ::=''H
475b6-34 BERPDU34 ::='FFFF'H
476b7-34 BERPDU34 ::='FFFFFFFF'H
477b8-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
478b9-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
479b10-34 BERPDU34 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H
480myIntegerValue-34 BERPDU34 ::='FFFF'H
481myIntegerValue-35 BERPDU35 ::='FFFF'H
482myIntegerValue-36 BERPDU36 ::='FFFF'H
483
484myNullValue-37 BERPDU37 ::= NULL
485myNullValue-38 BERPDU38 ::= NULL
486myNullValue-39 BERPDU39 ::= NULL
487myNullValue-40 BERPDU40 ::= NULL
488myNullValue-41 BERPDU41 ::= NULL
489myNullValue-42 BERPDU42 ::= NULL
490myNullValue-43 BERPDU43 ::= NULL
491
492
493
494END
495
496<STATIC>
497
498
499type component Test_CT {}
500
501<TTCN_TC:PURE_EXEC>
502
503import from TempA all;
504external function enc_DER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
505external function enc_CER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
506
507external function enc_DER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
508external function enc_CER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
509external function enc_DER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
510external function enc_CER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
511external function enc_DER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
512external function enc_CER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
513external function enc_DER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
514external function enc_CER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
515external function enc_DER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
516external function enc_CER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
517external function enc_DER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
518external function enc_CER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
519external function enc_DER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
520external function enc_CER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
521external function enc_DER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
522external function enc_CER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
523external function enc_DER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
524external function enc_CER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
525external function enc_DER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
526external function enc_CER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
527external function enc_DER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
528external function enc_CER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
529external function enc_DER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
530external function enc_CER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
531external function enc_DER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
532external function enc_CER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
533external function enc_DER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
534external function enc_CER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
535external function enc_DER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
536external function enc_CER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
537external function enc_DER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
538external function enc_CER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
539external function enc_DER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
540external function enc_CER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
541external function enc_DER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
542external function enc_CER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
543external function enc_DER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
544external function enc_CER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
545external function enc_DER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
546external function enc_CER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
547external function enc_DER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
548external function enc_CER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
549external function enc_DER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
550external function enc_CER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
551external function enc_DER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
552external function enc_CER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
553external function enc_DER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
554external function enc_CER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
555external function enc_DER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
556external function enc_CER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
557external function enc_DER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
558external function enc_CER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
559external function enc_DER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
560external function enc_CER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
561external function enc_DER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
562external function enc_CER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
563external function enc_DER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
564external function enc_CER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
565external function enc_DER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
566external function enc_CER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
567external function enc_DER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
568external function enc_CER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
569external function enc_DER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
570external function enc_CER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
571external function enc_DER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
572external function enc_CER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
573external function enc_DER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
574external function enc_CER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
575external function enc_DER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
576external function enc_CER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
577external function enc_DER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
578external function enc_CER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
579external function enc_DER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
580external function enc_CER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
581external function enc_DER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
582external function enc_CER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
583external function enc_DER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
584external function enc_CER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
585external function enc_DER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
586external function enc_CER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
587external function enc_DER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
588external function enc_CER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
589external function enc_DER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
590external function enc_CER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
591external function enc_DER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
592external function enc_CER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
593external function enc_DER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
594external function enc_CER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
595external function enc_DER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
596external function enc_CER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
597external function enc_DER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
598external function enc_CER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
599external function enc_DER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
600external function enc_CER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
601external function enc_DER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
602external function enc_CER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
603external function enc_DER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
604external function enc_CER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
605external function enc_DER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
606external function enc_CER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
607external function enc_DER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
608external function enc_CER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
609external function enc_DER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
610external function enc_CER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
611external function enc_DER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
612external function enc_CER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
613external function enc_DER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
614external function enc_CER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
615external function enc_DER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
616external function enc_CER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
617external function enc_DER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
618external function enc_CER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
619external function enc_DER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
620external function enc_CER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
621external function enc_DER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
622external function enc_CER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
623external function enc_DER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
624external function enc_CER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
625external function enc_DER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
626external function enc_CER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
627external function enc_DER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
628external function enc_CER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
629external function enc_DER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
630external function enc_CER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
631
632external function dec_BER_PDU1(in octetstring stream) return BERPDU1 with { extension "prototype(convert) decode(BER)" }
633external function dec_BER_PDU2(in octetstring stream) return BERPDU2 with { extension "prototype(convert) decode(BER)" }
634external function dec_BER_PDU3(in octetstring stream) return BERPDU3 with { extension "prototype(convert) decode(BER)" }
635external function dec_BER_PDU4(in octetstring stream) return BERPDU4 with { extension "prototype(convert) decode(BER)" }
636external function dec_BER_PDU5(in octetstring stream) return BERPDU5 with { extension "prototype(convert) decode(BER)" }
637external function dec_BER_PDU6(in octetstring stream) return BERPDU6 with { extension "prototype(convert) decode(BER)" }
638external function dec_BER_PDU7(in octetstring stream) return BERPDU7 with { extension "prototype(convert) decode(BER)" }
639external function dec_BER_PDU8(in octetstring stream) return BERPDU8 with { extension "prototype(convert) decode(BER)" }
640external function dec_BER_PDU9(in octetstring stream) return BERPDU9 with { extension "prototype(convert) decode(BER)" }
641external function dec_BER_PDU10(in octetstring stream) return BERPDU10 with { extension "prototype(convert) decode(BER)" }
642external function dec_BER_PDU11(in octetstring stream) return BERPDU11 with { extension "prototype(convert) decode(BER)" }
643external function dec_BER_PDU12(in octetstring stream) return BERPDU12 with { extension "prototype(convert) decode(BER)" }
644external function dec_BER_PDU13(in octetstring stream) return BERPDU13 with { extension "prototype(convert) decode(BER)" }
645external function dec_BER_PDU14(in octetstring stream) return BERPDU14 with { extension "prototype(convert) decode(BER)" }
646external function dec_BER_PDU15(in octetstring stream) return BERPDU15 with { extension "prototype(convert) decode(BER)" }
647external function dec_BER_PDU16(in octetstring stream) return BERPDU16 with { extension "prototype(convert) decode(BER)" }
648external function dec_BER_PDU17(in octetstring stream) return BERPDU17 with { extension "prototype(convert) decode(BER)" }
649external function dec_BER_PDU18(in octetstring stream) return BERPDU18 with { extension "prototype(convert) decode(BER)" }
650external function dec_BER_PDU19(in octetstring stream) return BERPDU19 with { extension "prototype(convert) decode(BER)" }
651external function dec_BER_PDU20(in octetstring stream) return BERPDU20 with { extension "prototype(convert) decode(BER)" }
652external function dec_BER_PDU21(in octetstring stream) return BERPDU21 with { extension "prototype(convert) decode(BER)" }
653external function dec_BER_PDU22(in octetstring stream) return BERPDU22 with { extension "prototype(convert) decode(BER)" }
654external function dec_BER_PDU23(in octetstring stream) return BERPDU23 with { extension "prototype(convert) decode(BER)" }
655external 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)" }
657external function dec_BER_PDU26(in octetstring stream) return BERPDU26 with { extension "prototype(convert) decode(BER)" }
658external function dec_BER_PDU27(in octetstring stream) return BERPDU27 with { extension "prototype(convert) decode(BER)" }
659external function dec_BER_PDU28(in octetstring stream) return BERPDU28 with { extension "prototype(convert) decode(BER)" }
660external function dec_BER_PDU29(in octetstring stream) return BERPDU29 with { extension "prototype(convert) decode(BER)" }
661external function dec_BER_PDU30(in octetstring stream) return BERPDU30 with { extension "prototype(convert) decode(BER)" }
662external function dec_BER_PDU31(in octetstring stream) return BERPDU31 with { extension "prototype(convert) decode(BER)" }
663external function dec_BER_PDU32(in octetstring stream) return BERPDU32 with { extension "prototype(convert) decode(BER)" }
664external function dec_BER_PDU33(in octetstring stream) return BERPDU33 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
665external function dec_BER_PDU34(in octetstring stream) return BERPDU34 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
666external function dec_BER_PDU35(in octetstring stream) return BERPDU35 with { extension "prototype(convert) decode(BER)" }
667external function dec_BER_PDU36(in octetstring stream) return BERPDU36 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }
668external function dec_BER_PDU37(in octetstring stream) return BERPDU37 with { extension "prototype(convert) decode(BER)" }
669external function dec_BER_PDU38(in octetstring stream) return BERPDU38 with { extension "prototype(convert) decode(BER)" }
670external function dec_BER_PDU39(in octetstring stream) return BERPDU39 with { extension "prototype(convert) decode(BER)" }
671external function dec_BER_PDU40(in octetstring stream) return BERPDU40 with { extension "prototype(convert) decode(BER)" }
672external function dec_BER_PDU41(in octetstring stream) return BERPDU41 with { extension "prototype(convert) decode(BER)" }
673external function dec_BER_PDU42(in octetstring stream) return BERPDU42 with { extension "prototype(convert) decode(BER)" }
674external function dec_BER_PDU43(in octetstring stream) return BERPDU43 with { extension "prototype(convert) decode(BER)" }
675external function dec_BER_PDU44(in octetstring stream) return BERPDU44 with { extension "prototype(convert) decode(BER)" }
676external function dec_BER_PDU45(in octetstring stream) return BERPDU45 with { extension "prototype(convert) decode(BER)" }
677external function dec_BER_PDU48(in octetstring stream) return BERPDU48 with { extension "prototype(convert) decode(BER)" }
678external function dec_BER_PDU49(in octetstring stream) return BERPDU49 with { extension "prototype(convert) decode(BER)" }
679external function dec_BER_PDU50(in octetstring stream) return BERPDU50 with { extension "prototype(convert) decode(BER)" }
680external function dec_BER_PDU54(in octetstring stream) return BERPDU54 with { extension "prototype(convert) decode(BER)" }
681external function dec_BER_PDU65(in octetstring stream) return BERPDU65 with { extension "prototype(convert) decode(BER)" }
682external function dec_BER_PDU67(in octetstring stream) return BERPDU67 with { extension "prototype(convert) decode(BER)" }
683external function dec_BER_PDU69(in octetstring stream) return BERPDU69 with { extension "prototype(convert) decode(BER)" }
684external function dec_BER_PDU71(in octetstring stream) return BERPDU71 with { extension "prototype(convert) decode(BER)" }
685external function dec_BER_PDU72(in octetstring stream) return BERPDU72 with { extension "prototype(convert) decode(BER)" }
686external function dec_BER_PDU73(in octetstring stream) return BERPDU73 with { extension "prototype(convert) decode(BER)" }
687external function dec_BER_PDU74(in octetstring stream) return BERPDU74 with { extension "prototype(convert) decode(BER)" }
688external function dec_BER_PDU75(in octetstring stream) return BERPDU75 with { extension "prototype(convert) decode(BER)" }
689external function dec_BER_PDU76(in octetstring stream) return BERPDU76 with { extension "prototype(convert) decode(BER)" }
690external function dec_BER_PDU77(in octetstring stream) return BERPDU77 with { extension "prototype(convert) decode(BER)" }
691external function dec_BER_PDU78(in octetstring stream) return BERPDU78 with { extension "prototype(convert) decode(BER)" }
692external function dec_BER_PDU79(in octetstring stream) return BERPDU79 with { extension "prototype(convert) decode(BER)" }
693external function dec_BER_PDU82(in octetstring stream) return BERPDU82 with { extension "prototype(convert) decode(BER)" }
694external function dec_BER_PDU83(in octetstring stream) return BERPDU83 with { extension "prototype(convert) decode(BER)" }
695external 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//===========================================
704testcase 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//===========================================
714testcase 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//===========================================
722testcase 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//===========================================
732testcase 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//===========================================
740testcase 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//===========================================
747testcase 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//===========================================
754testcase 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//===========================================
761testcase 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//===========================================
771testcase 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//===========================================
781testcase 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//===========================================
791testcase 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//===========================================
800testcase 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//===========================================
807testcase 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//===========================================
814testcase 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
825testcase 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//===========================================
866testcase 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//===========================================
921testcase 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//===========================================
976testcase 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//===========================================
1030testcase 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//===========================================
1064testcase 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//===========================================
1098testcase 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//===========================================
1131testcase 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//===========================================
1141testcase 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//===========================================
1151testcase 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//===========================================
1161testcase 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//===========================================
1171testcase 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//===========================================
1181testcase 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//===========================================
1190testcase 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//===========================================
1202testcase 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//===========================================
1213testcase 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//===========================================
1226testcase 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//===========================================
1257testcase 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//===========================================
1265testcase 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//===========================================
1286testcase 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//===========================================
1318testcase 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//===========================================
1419testcase 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//===========================================
1426testcase 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//===========================================
1432testcase 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//===========================================
1498testcase 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//===========================================
1507testcase 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//===========================================
1516testcase 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);}
1525if ((enc_DER_PDU34(b4_34) == '048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)
1526 and(enc_CER_PDU34(b4_34) == '2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
1527
1528if (dec_BER_PDU34('0400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1529if (dec_BER_PDU34('24020400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1530if (dec_BER_PDU34('240404000400'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1531if (dec_BER_PDU34('248004000000'O) == b5_34){setverdict(pass);} else {setverdict(fail);}
1532if (dec_BER_PDU34('0402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1533if (dec_BER_PDU34('048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1534if (dec_BER_PDU34('24040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1535if (dec_BER_PDU34('2405048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1536if (dec_BER_PDU34('248105048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1537if (dec_BER_PDU34('24800402FFFF0000'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1538if (dec_BER_PDU34('24080402FFFF0402FFFF'O) == b7_34){setverdict(pass);} else {setverdict(fail);}
1539if (dec_BER_PDU34('240624040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);}
1540if (dec_BER_PDU34('048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1541if (dec_BER_PDU34('04830003E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1542if (dec_BER_PDU34('248203EC048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1543if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b8_34){setverdict(pass);} else {setverdict(fail);}
1544if (dec_BER_PDU34('248207D8048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b9_34){setverdict(pass);} else {setverdict(fail);}
1545if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1546if (dec_BER_PDU34('048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1547if (dec_BER_PDU34('248203ED048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);}
1548
1549if (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//===========================================
1556testcase 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//===========================================
1565testcase 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//===========================================
1574testcase 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//===========================================
1584testcase 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//===========================================
1597testcase 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//===========================================
1609testcase 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//===========================================
1622testcase 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//===========================================
1632testcase 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//===========================================
1642testcase 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//===========================================
1651testcase 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//===========================================
1672testcase 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//===========================================
1687testcase 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//===========================================
1697testcase 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//===========================================
1709testcase 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//===========================================
1722testcase 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//===========================================
1733testcase 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//===========================================
1746testcase 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//===========================================
1777testcase 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);}
1800if (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//===========================================
1807testcase 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//===========================================
1818testcase 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//===========================================
1828testcase 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//===========================================
1838testcase 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//===========================================
1860testcase 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//===========================================
1881testcase 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//===========================================
1906testcase 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//===========================================
1925testcase 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//===========================================
1949testcase 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//===========================================
1960testcase 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//===========================================
1985testcase 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//===========================================
2006testcase 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
2015control {
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
2092Overall 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
2107TempA
2108
2109DEFINITIONS
2110AUTOMATIC TAGS
2111::=
2112BEGIN
2113
2114IMPORTS;
2115
2116BERPDU46 ::= SEQUENCE
2117 {
2118 b BOOLEAN OPTIONAL,
2119 c INTEGER OPTIONAL
2120 }
2121
2122BERPDU47 ::= SEQUENCE
2123 {
2124 b BOOLEAN DEFAULT TRUE,
2125 c INTEGER OPTIONAL
2126 }
2127
2128BERPDU51 ::= [0] SEQUENCE
2129 {
2130 b BOOLEAN OPTIONAL,
2131 c INTEGER OPTIONAL
2132 }
2133
2134BERPDU58 ::= [0] SEQUENCE
2135 {
2136 b [0] BOOLEAN OPTIONAL,
2137 c [1] INTEGER OPTIONAL
2138 }
2139
2140BERPDU59 ::= SEQUENCE
2141 {
2142 b [5] BOOLEAN OPTIONAL,
2143 c INTEGER OPTIONAL
2144 }
2145
2146MySeq60 ::= SEQUENCE
2147 {x INTEGER OPTIONAL,
2148 y OCTET STRING}
2149
2150BERPDU60 ::= SEQUENCE
2151 {
2152 b BOOLEAN OPTIONAL,
2153 c INTEGER OPTIONAL,
2154 COMPONENTS OF MySeq60
2155 }
2156
2157MySeq61 ::= SEQUENCE
2158 {x [0] INTEGER OPTIONAL,
2159 y OCTET STRING}
2160
2161BERPDU61 ::= SEQUENCE
2162 {
2163 b BOOLEAN OPTIONAL,
2164 c INTEGER OPTIONAL,
2165 COMPONENTS OF MySeq61
2166 }
2167
2168MySeq62 ::= SEQUENCE
2169 {x INTEGER OPTIONAL,
2170 y OCTET STRING}
2171BERPDU62 ::= SEQUENCE
2172 {
2173 b [0] BOOLEAN OPTIONAL,
2174 c BIT STRING OPTIONAL,
2175 COMPONENTS OF MySeq62
2176 }
2177
2178MySeq63 ::= SEQUENCE
2179 {x [1] INTEGER OPTIONAL,
2180 y OCTET STRING}
2181
2182BERPDU63 ::= SEQUENCE
2183 {
2184 b [0] BOOLEAN OPTIONAL,
2185 c BIT STRING OPTIONAL,
2186 COMPONENTS OF MySeq63
2187 }
2188
2189BERPDU64 ::= SEQUENCE
2190 {
2191 b CHOICE {
2192 x BOOLEAN,
2193 y OCTET STRING
2194 }
2195 OPTIONAL,
2196 c INTEGER OPTIONAL
2197
2198 }
2199
2200BERPDU66 ::= SEQUENCE
2201 {
2202 a OCTET STRING,
2203 b BOOLEAN,
2204 ...,
2205 d BIT STRING,
2206 ...,
2207 c INTEGER OPTIONAL
2208 }
2209
2210BERPDU68 ::= 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
2236myOBJID-68 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2237
2238BERPDU70 ::= 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
2259BERPDU85 ::= SET
2260 {
2261 b BOOLEAN OPTIONAL,
2262 c INTEGER OPTIONAL
2263 }
2264
2265BERPDU86 ::= SET
2266 {
2267
2268 c INTEGER OPTIONAL,
2269 b BOOLEAN OPTIONAL
2270 }
2271
2272BERPDU87 ::= SET
2273 {
2274 b BOOLEAN DEFAULT TRUE,
2275 c INTEGER OPTIONAL
2276 }
2277
2278BERPDU88 ::= SET
2279 {
2280 c INTEGER OPTIONAL,
2281 b BOOLEAN DEFAULT TRUE
2282 }
2283
2284myOBJID-70 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
2285
2286
2287
2288END
2289
2290<STATIC>
2291
2292type component Test_CT {}
2293
2294import from TempA all;
2295external function enc_DER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2296external function enc_CER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2297external function dec_BER_PDU46(in octetstring stream) return BERPDU46 with { extension "prototype(convert) decode(BER)" }
2298
2299external function enc_DER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2300external function enc_CER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2301external function dec_BER_PDU47(in octetstring stream) return BERPDU47 with { extension "prototype(convert) decode(BER)" }
2302
2303external function enc_DER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2304external function enc_CER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2305external function dec_BER_PDU51(in octetstring stream) return BERPDU51 with { extension "prototype(convert) decode(BER)" }
2306
2307external function enc_DER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2308external function enc_CER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2309external function dec_BER_PDU58(in octetstring stream) return BERPDU58 with { extension "prototype(convert) decode(BER)" }
2310
2311external function enc_DER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2312external function enc_CER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2313external function dec_BER_PDU59(in octetstring stream) return BERPDU59 with { extension "prototype(convert) decode(BER)" }
2314
2315external function enc_DER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2316external function enc_CER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2317external function dec_BER_PDU60(in octetstring stream) return BERPDU60 with { extension "prototype(convert) decode(BER)" }
2318
2319
2320external function enc_DER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2321external function enc_CER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2322external function dec_BER_PDU61(in octetstring stream) return BERPDU61 with { extension "prototype(convert) decode(BER)" }
2323
2324external function enc_DER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2325external function enc_CER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2326external function dec_BER_PDU62(in octetstring stream) return BERPDU62 with { extension "prototype(convert) decode(BER)" }
2327
2328external function enc_DER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2329external function enc_CER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2330external function dec_BER_PDU63(in octetstring stream) return BERPDU63 with { extension "prototype(convert) decode(BER)" }
2331
2332external function enc_DER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2333external function enc_CER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2334external function dec_BER_PDU64(in octetstring stream) return BERPDU64 with { extension "prototype(convert) decode(BER)" }
2335
2336external function enc_DER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2337external function enc_CER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2338external function dec_BER_PDU66(in octetstring stream) return BERPDU66 with { extension "prototype(convert) decode(BER)" }
2339
2340external function enc_DER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2341external function enc_CER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2342external function dec_BER_PDU68(in octetstring stream) return BERPDU68 with { extension "prototype(convert) decode(BER)" }
2343
2344external function enc_DER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2345external function enc_CER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2346external function dec_BER_PDU70(in octetstring stream) return BERPDU70 with { extension "prototype(convert) decode(BER)" }
2347
2348external function enc_DER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2349external function enc_CER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2350external function dec_BER_PDU85(in octetstring stream) return BERPDU85 with { extension "prototype(convert) decode(BER)" }
2351
2352external function enc_DER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2353external function enc_CER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2354external function dec_BER_PDU86(in octetstring stream) return BERPDU86 with { extension "prototype(convert) decode(BER)" }
2355
2356external function enc_DER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2357external function enc_CER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2358external function dec_BER_PDU87(in octetstring stream) return BERPDU87 with { extension "prototype(convert) decode(BER)" }
2359
2360external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2361external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2362external 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//===========================================
2373testcase 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//===========================================
2395testcase 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//===========================================
2413testcase 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//===========================================
2422testcase 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//===========================================
2433testcase 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//===========================================
2444testcase 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//===========================================
2457testcase 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//===========================================
2471testcase 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//===========================================
2487testcase 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//===========================================
2502testcase 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//===========================================
2515testcase 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//===========================================
2532testcase tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging() runs on Test_CT {
2533const 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)
2555and(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//===========================================
2564testcase 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//===========================================
2597testcase 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//===========================================
2629testcase 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//===========================================
2637testcase 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//===========================================
2660testcase 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
2669control {
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
2691Overall 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
2706TempA
2707
2708DEFINITIONS
2709EXPLICIT TAGS
2710::=
2711BEGIN
2712
2713IMPORTS;
2714
2715BERPDU55 ::= SEQUENCE
2716 {
2717 b [30] IMPLICIT BOOLEAN OPTIONAL,
2718 c [31] IMPLICIT INTEGER OPTIONAL
2719 }
2720
2721BERPDU56 ::= [0] SEQUENCE
2722 {
2723 b [0] BOOLEAN OPTIONAL,
2724 c [1] INTEGER OPTIONAL
2725 }
2726
2727BERPDU80 ::= [0] SEQUENCE OF BOOLEAN
2728
2729END
2730
2731<STATIC>
2732
2733import from TempA all;
2734external function enc_DER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2735external function enc_CER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2736external function dec_BER_PDU55(in octetstring stream) return BERPDU55 with { extension "prototype(convert) decode(BER)" }
2737
2738external function enc_DER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2739external function enc_CER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2740external function dec_BER_PDU56(in octetstring stream) return BERPDU56 with { extension "prototype(convert) decode(BER)" }
2741
2742external function enc_DER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2743external function enc_CER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2744external function dec_BER_PDU80(in octetstring stream) return BERPDU80 with { extension "prototype(convert) decode(BER)" }
2745
2746
2747const BERPDU55 myValue_55 := {b := true,
2748 c := 5 }
2749const BERPDU56 myValue_56 := {b := true,
2750 c := 5 }
2751
2752const 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//===================================================
2758if ((enc_DER_PDU55(myValue_55) == '30079E01FF9F1F0105'O)and(enc_CER_PDU55(myValue_55) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2759if (dec_BER_PDU55('30079E01FF9F1F0105'O) == myValue_55){setverdict(pass);} else {setverdict(fail);}
2760if (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//===================================================
2765if ((enc_DER_PDU56(myValue_56) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU56(myValue_56) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2766if (dec_BER_PDU56('A00C300AA0030101FFA103020105'O) == myValue_56){setverdict(pass);} else {setverdict(fail);}
2767if (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//===================================================
2773if ((enc_DER_PDU80(myValue_80) == 'A00830060101FF010100'O)and(enc_CER_PDU80(myValue_80) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);}
2774if (dec_BER_PDU80('A00830060101FF010100'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2775if (dec_BER_PDU80('A08030800101FF01010000000000'O) == myValue_80){setverdict(pass);} else {setverdict(fail);}
2776
2777
2778<RESULT>
2779
2780Overall 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
2795TempA
2796
2797DEFINITIONS
2798IMPLICIT TAGS
2799::=
2800BEGIN
2801
2802IMPORTS;
2803
2804BERPDU52 ::= SEQUENCE
2805 {
2806 b [30] EXPLICIT BOOLEAN OPTIONAL,
2807 c [31] EXPLICIT INTEGER OPTIONAL
2808 }
2809
2810BERPDU53 ::= [0] SEQUENCE
2811 {
2812 b BOOLEAN OPTIONAL,
2813 c INTEGER OPTIONAL
2814 }
2815
2816BERPDU57 ::= [0] SEQUENCE
2817 {
2818 b [0] BOOLEAN OPTIONAL,
2819 c [1] INTEGER OPTIONAL
2820 }
2821
2822BERPDU81 ::= [0] SEQUENCE OF BOOLEAN
2823
2824BERPDU88 ::= SET
2825 {
2826 b [30] IMPLICIT BOOLEAN OPTIONAL,
2827 c [31] IMPLICIT INTEGER OPTIONAL
2828 }
2829
2830BERPDU89 ::= SET
2831 {
2832 c [31] IMPLICIT INTEGER OPTIONAL,
2833 b [30] IMPLICIT BOOLEAN OPTIONAL
2834 }
2835
2836BERPDU90 ::= SET
2837 {
2838 c [31] EXPLICIT INTEGER OPTIONAL,
2839 b [30] EXPLICIT BOOLEAN OPTIONAL
2840
2841 }
2842
2843END
2844
2845<STATIC>
2846
2847import from TempA all;
2848external function enc_DER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2849external function enc_CER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2850external function dec_BER_PDU52(in octetstring stream) return BERPDU52 with { extension "prototype(convert) decode(BER)" }
2851
2852external function enc_DER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2853external function enc_CER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2854external function dec_BER_PDU53(in octetstring stream) return BERPDU53 with { extension "prototype(convert) decode(BER)" }
2855
2856external function enc_DER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2857external function enc_CER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2858external function dec_BER_PDU57(in octetstring stream) return BERPDU57 with { extension "prototype(convert) decode(BER)" }
2859
2860external function enc_DER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2861external function enc_CER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2862external function dec_BER_PDU81(in octetstring stream) return BERPDU81 with { extension "prototype(convert) decode(BER)" }
2863
2864external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2865external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2866external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" }
2867
2868external function enc_DER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2869external 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
2872external function enc_DER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2873external 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
2876const BERPDU52 myValue_52 := {b := true,c := 5 }
2877const BERPDU53 myValue_53 := {b := true,c := 5 }
2878const BERPDU57 myValue_57 := {b := true,c := 5 }
2879const BERPDU81 myValue_81 := {true, false }
2880const BERPDU88 myValue1_88 := {b := true, c := 5 }
2881const BERPDU88 myValue2_88 := { c := 5, b := true }
2882const BERPDU89 myValue_89 := {b := true,c := 5 }
2883const 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//===========================================
2889if ((enc_DER_PDU52(myValue_52) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU52(myValue_52) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2890if (dec_BER_PDU52('300BBE030101FFBF1F03020105'O) == myValue_52){setverdict(pass);} else {setverdict(fail);}
2891if (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//===========================================
2895if ((enc_DER_PDU53(myValue_53) == 'A0060101FF020105'O)and(enc_CER_PDU53(myValue_53) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
2896if (dec_BER_PDU53('A0060101FF020105'O) == myValue_53){setverdict(pass);} else {setverdict(fail);}
2897if (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//===========================================
2902if ((enc_DER_PDU57(myValue_57) == 'A0068001FF810105'O)and(enc_CER_PDU57(myValue_57) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
2903if (dec_BER_PDU57('A0068001FF810105'O) == myValue_57){setverdict(pass);} else {setverdict(fail);}
2904if (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//===========================================
2908if ((enc_DER_PDU81(myValue_81) == 'A0060101FF010100'O)and(enc_CER_PDU81(myValue_81) == 'A0800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);}
2909if (dec_BER_PDU81('A0060101FF010100'O) == myValue_81){setverdict(pass);} else {setverdict(fail);}
2910if (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//===========================================
2914if ((enc_DER_PDU88(myValue1_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue1_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2915if ((enc_DER_PDU88(myValue2_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue2_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2916if (dec_BER_PDU88('31079E01FF9F1F0105'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2917if (dec_BER_PDU88('31809E01FF9F1F01050000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2918if (dec_BER_PDU88('31079F1F01059E01FF'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);}
2919if (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//===========================================
2923if ((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//===========================================
2927if ((enc_DER_PDU90(myValue_90) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU90(myValue_90) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
2928
2929<RESULT>
2930
2931Overall 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
2946TempA
2947
2948DEFINITIONS
2949EXPLICIT TAGS
2950::=
2951BEGIN
2952BERPDU ::= SET
2953 {
2954 b [30] IMPLICIT BOOLEAN OPTIONAL,
2955 c [31] IMPLICIT INTEGER OPTIONAL
2956 }
2957END
2958
2959<STATIC>
2960
2961import from TempA all;
2962external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
2963external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
2964external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
2965
2966const BERPDU myValue1 := {b := true,
2967 c := 5 }
2968const BERPDU myValue2 := {
2969 c := 5 ,
2970 b := true }
2971<TTCN_TC:EXEC>
2972
2973if ((enc_DER_PDU(myValue1) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue1) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2974if ((enc_DER_PDU(myValue2) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue2) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
2975if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2976if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2977if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2978if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
2979
2980<RESULT>
2981
2982Overall 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
2997TempA
2998
2999DEFINITIONS
3000
3001EXPLICIT TAGS
3002
3003::=
3004
3005BEGIN
3006
3007BERPDU ::= SET
3008 {
3009 c [31] IMPLICIT INTEGER OPTIONAL,
3010 b [30] IMPLICIT BOOLEAN OPTIONAL
3011
3012 }
3013
3014
3015END
3016
3017<STATIC>
3018
3019import from TempA all;
3020external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3021external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3022
3023const BERPDU myValue := {b := true,
3024 c := 5 }
3025
3026<TTCN_TC:EXEC>
3027
3028
3029
3030
3031if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);}
3032
3033<RESULT>
3034
3035Overall 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
3050TempA
3051
3052DEFINITIONS ::=
3053BEGIN
3054BERPDU ::= SET
3055 {
3056 b [30] EXPLICIT BOOLEAN OPTIONAL,
3057 c [31] EXPLICIT INTEGER OPTIONAL
3058 }
3059END
3060
3061<STATIC>
3062
3063import from TempA all;
3064external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3065external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3066external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3067
3068const BERPDU myValue1 := {b := true,
3069 c := 5 }
3070const BERPDU myValue2 := {
3071 c := 5,
3072 b := true }
3073<TTCN_TC:EXEC>
3074
3075if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3076if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3077if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3078if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3079if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3080if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3081
3082<RESULT>
3083
3084Overall 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
3099TempA
3100
3101DEFINITIONS ::=
3102BEGIN
3103
3104BERPDU ::= SET
3105 {
3106
3107 c [31] EXPLICIT INTEGER OPTIONAL,
3108 b [30] EXPLICIT BOOLEAN OPTIONAL
3109 }
3110
3111
3112END
3113
3114<STATIC>
3115
3116import from TempA all;
3117external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3118external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3119
3120const BERPDU myValue := {b := true,
3121 c := 5 }
3122
3123<TTCN_TC:EXEC>
3124
3125
3126
3127
3128if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3129
3130<RESULT>
3131
3132Overall 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
3147TempA
3148
3149DEFINITIONS
3150IMPLICIT TAGS
3151::=
3152BEGIN
3153BERPDU ::= SET
3154 {
3155 b [30] EXPLICIT BOOLEAN OPTIONAL,
3156 c [31] EXPLICIT INTEGER OPTIONAL
3157 }
3158END
3159
3160<STATIC>
3161
3162import from TempA all;
3163external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3164external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3165external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3166
3167const BERPDU myValue1 := {b := true,
3168 c := 5 }
3169const BERPDU myValue2 := {
3170 c := 5 ,
3171 b := true }
3172<TTCN_TC:EXEC>
3173
3174if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3175if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3176if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3177if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3178if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3179if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3180
3181<RESULT>
3182
3183Overall 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
3198TempA
3199
3200DEFINITIONS ::=
3201BEGIN
3202BERPDU ::= [0] SET
3203 {
3204 b BOOLEAN OPTIONAL,
3205 c INTEGER OPTIONAL
3206 }
3207END
3208
3209<STATIC>
3210
3211import from TempA all;
3212external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3213external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3214external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3215
3216const BERPDU myValue1 := {b := true,
3217 c := 5 }
3218const BERPDU myValue2 := {
3219 c := 5,
3220 b := true }
3221<TTCN_TC:EXEC>
3222
3223if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3224if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3225if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3226if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3227if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3228if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3229if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3230if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3231if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3232
3233<RESULT>
3234
3235Overall 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
3250TempA
3251
3252DEFINITIONS ::=
3253BEGIN
3254
3255BERPDU ::= [0] SET
3256 {
3257
3258 c INTEGER OPTIONAL,
3259 b BOOLEAN OPTIONAL
3260 }
3261
3262
3263END
3264
3265<STATIC>
3266
3267import from TempA all;
3268external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3269external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3270
3271const BERPDU myValue := {b := true,
3272 c := 5 }
3273
3274<TTCN_TC:EXEC>
3275
3276
3277
3278
3279if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3280
3281<RESULT>
3282
3283Overall 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
3298TempA
3299
3300DEFINITIONS
3301AUTOMATIC TAGS
3302::=
3303BEGIN
3304BERPDU ::= [0] SET
3305 {
3306 b BOOLEAN OPTIONAL,
3307 c INTEGER OPTIONAL
3308 }
3309END
3310
3311<STATIC>
3312
3313import from TempA all;
3314external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3315external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3316
3317const BERPDU myValue1 := {b := true,
3318 c := 5 }
3319const BERPDU myValue2 := {
3320 c := 5,
3321 b := true }
3322<TTCN_TC:EXEC>
3323
3324if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3325if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3326
3327<RESULT>
3328
3329Overall 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
3344TempA
3345
3346DEFINITIONS
3347
3348AUTOMATIC TAGS
3349
3350::=
3351
3352BEGIN
3353
3354BERPDU ::= [0] SET
3355 {
3356 c INTEGER OPTIONAL,
3357 b BOOLEAN OPTIONAL
3358 }
3359
3360
3361END
3362
3363<STATIC>
3364
3365import from TempA all;
3366external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3367external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3368
3369const BERPDU myValue := {b := true,
3370 c := 5 }
3371
3372<TTCN_TC:EXEC>
3373
3374
3375
3376
3377if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
3378
3379<RESULT>
3380
3381Overall 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
3396TempA
3397
3398DEFINITIONS
3399IMPLICIT TAGS
3400::=
3401BEGIN
3402BERPDU ::= [0] SET
3403 {
3404 b BOOLEAN OPTIONAL,
3405 c INTEGER OPTIONAL
3406 }
3407END
3408
3409<STATIC>
3410
3411import from TempA all;
3412external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3413external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3414external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3415
3416const BERPDU myValue1 := {b := true,
3417 c := 5 }
3418const BERPDU myValue2 := {
3419 c := 5,
3420 b := true }
3421<TTCN_TC:EXEC>
3422
3423if ((enc_DER_PDU(myValue1) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3424if ((enc_DER_PDU(myValue2) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3425if (dec_BER_PDU('A0060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3426if (dec_BER_PDU('A0800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3427if (dec_BER_PDU('A0060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3428if (dec_BER_PDU('A0800201050101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3429
3430<RESULT>
3431
3432Overall 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
3447TempA
3448
3449DEFINITIONS
3450
3451IMPLICIT TAGS
3452
3453::=
3454
3455BEGIN
3456
3457BERPDU ::= [0] SET
3458 {
3459
3460 c INTEGER OPTIONAL,
3461 b BOOLEAN OPTIONAL
3462 }
3463
3464
3465END
3466
3467<STATIC>
3468
3469import from TempA all;
3470external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3471external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3472
3473const BERPDU myValue := {b := true,
3474 c := 5 }
3475
3476<TTCN_TC:EXEC>
3477
3478
3479
3480
3481if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);}
3482
3483<RESULT>
3484
3485Overall 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
3500TempA
3501
3502DEFINITIONS
3503EXPLICIT TAGS
3504::=
3505BEGIN
3506BERPDU ::= [0] SET
3507 {
3508 b BOOLEAN OPTIONAL,
3509 c INTEGER OPTIONAL
3510 }
3511END
3512
3513<STATIC>
3514
3515import from TempA all;
3516external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3517external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3518external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3519
3520const BERPDU myValue1 := {b := true,
3521 c := 5 }
3522const BERPDU myValue2 := {
3523 c := 5,
3524 b := true }
3525<TTCN_TC:EXEC>
3526
3527if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3528if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3529if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3530if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3531if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3532if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3533
3534<RESULT>
3535
3536Overall 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
3551TempA
3552
3553DEFINITIONS
3554
3555EXPLICIT TAGS
3556
3557::=
3558
3559BEGIN
3560
3561BERPDU ::= [0] SET
3562 {
3563 c INTEGER OPTIONAL,
3564 b BOOLEAN OPTIONAL
3565 }
3566
3567
3568END
3569
3570<STATIC>
3571
3572import from TempA all;
3573external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3574external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3575
3576const BERPDU myValue := {b := true,
3577 c := 5 }
3578
3579<TTCN_TC:EXEC>
3580
3581
3582
3583
3584if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
3585
3586<RESULT>
3587
3588Overall 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
3603TempA
3604
3605DEFINITIONS ::=
3606BEGIN
3607BERPDU ::= [0] SET
3608 {
3609 b [0] BOOLEAN OPTIONAL,
3610 c [1] INTEGER OPTIONAL
3611 }
3612END
3613
3614<STATIC>
3615
3616import from TempA all;
3617external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3618external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3619external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3620
3621const BERPDU myValue1 := {b := true,
3622 c := 5 }
3623const BERPDU myValue2 := {
3624 c := 5,
3625 b := true }
3626<TTCN_TC:EXEC>
3627
3628if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3629if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3630if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3631if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3632if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3633if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3634
3635<RESULT>
3636
3637Overall 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
3652TempA
3653
3654DEFINITIONS ::=
3655BEGIN
3656
3657BERPDU ::= [0] SET
3658 {
3659 b [1] BOOLEAN OPTIONAL,
3660 c [0] INTEGER OPTIONAL
3661 }
3662
3663
3664END
3665
3666<STATIC>
3667
3668import from TempA all;
3669external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3670external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3671
3672const BERPDU myValue := {b := true,
3673 c := 5 }
3674
3675<TTCN_TC:EXEC>
3676
3677
3678
3679
3680if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3681
3682<RESULT>
3683
3684Overall 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
3699TempA
3700
3701DEFINITIONS
3702EXPLICIT TAGS
3703::=
3704BEGIN
3705BERPDU ::= [0] SET
3706 {
3707 b [0] BOOLEAN OPTIONAL,
3708 c [1] INTEGER OPTIONAL
3709 }
3710END
3711
3712<STATIC>
3713
3714import from TempA all;
3715external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3716external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3717external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3718
3719const BERPDU myValue1 := {b := true,
3720 c := 5 }
3721const BERPDU myValue2 := {
3722 c := 5,
3723 b := true }
3724<TTCN_TC:EXEC>
3725
3726if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3727if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3728if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3729if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3730if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3731if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3732
3733<RESULT>
3734
3735Overall 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
3750TempA
3751
3752DEFINITIONS
3753
3754EXPLICIT TAGS
3755
3756::=
3757
3758BEGIN
3759
3760BERPDU ::= [0] SET
3761 {
3762 b [1] BOOLEAN OPTIONAL,
3763 c [0] INTEGER OPTIONAL
3764 }
3765
3766
3767END
3768
3769<STATIC>
3770
3771import from TempA all;
3772external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3773external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3774
3775const BERPDU myValue := {b := true,
3776 c := 5 }
3777
3778<TTCN_TC:EXEC>
3779
3780
3781
3782
3783if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
3784
3785<RESULT>
3786
3787Overall 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
3802TempA
3803
3804DEFINITIONS
3805IMPLICIT TAGS
3806::=
3807BEGIN
3808BERPDU ::= [0] SET
3809 {
3810 b [0] BOOLEAN OPTIONAL,
3811 c [1] INTEGER OPTIONAL
3812 }
3813END
3814
3815<STATIC>
3816
3817import from TempA all;
3818external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3819external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3820external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3821
3822const BERPDU myValue1 := {b := true,
3823 c := 5 }
3824const BERPDU myValue2 := {
3825 c := 5,
3826 b := true }
3827<TTCN_TC:EXEC>
3828
3829if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3830if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3831if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3832if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3833if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3834if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3835
3836<RESULT>
3837
3838Overall 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
3853TempA
3854
3855DEFINITIONS
3856
3857IMPLICIT TAGS
3858
3859::=
3860
3861BEGIN
3862
3863BERPDU ::= [0] SET
3864 {
3865
3866 c [1] INTEGER OPTIONAL,
3867 b [0] BOOLEAN OPTIONAL
3868 }
3869
3870
3871END
3872
3873<STATIC>
3874
3875import from TempA all;
3876external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3877external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3878
3879const BERPDU myValue := {b := true,
3880 c := 5 }
3881
3882<TTCN_TC:EXEC>
3883
3884
3885
3886
3887if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3888
3889<RESULT>
3890
3891Overall 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
3906TempA
3907
3908DEFINITIONS
3909AUTOMATIC TAGS
3910::=
3911BEGIN
3912BERPDU ::= [0] SET
3913 {
3914 b [0] BOOLEAN OPTIONAL,
3915 c [1] INTEGER OPTIONAL
3916 }
3917END
3918
3919<STATIC>
3920
3921import from TempA all;
3922external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3923external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3924external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
3925
3926const BERPDU myValue1 := {b := true,
3927 c := 5 }
3928const BERPDU myValue2 := {
3929 c := 5,
3930 b := true}
3931<TTCN_TC:EXEC>
3932
3933if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3934if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);}
3935if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3936if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3937if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3938if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
3939
3940<RESULT>
3941
3942Overall 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
3957TempA
3958
3959DEFINITIONS
3960
3961AUTOMATIC TAGS
3962
3963::=
3964
3965BEGIN
3966
3967BERPDU ::= [0] SET
3968 {
3969
3970 c [0] INTEGER OPTIONAL,
3971 b [1] BOOLEAN OPTIONAL
3972 }
3973
3974
3975END
3976
3977<STATIC>
3978
3979import from TempA all;
3980external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
3981external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
3982
3983const BERPDU myValue := {b := true,
3984 c := 5 }
3985
3986<TTCN_TC:EXEC>
3987
3988
3989
3990
3991if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
3992
3993
3994<RESULT>
3995
3996Overall 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
4011TempA
4012
4013DEFINITIONS
4014AUTOMATIC TAGS
4015::=
4016BEGIN
4017BERPDU ::= SET
4018 {
4019 b [5] BOOLEAN OPTIONAL,
4020 c INTEGER OPTIONAL
4021 }
4022END
4023
4024<STATIC>
4025
4026import from TempA all;
4027external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4028external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4029external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4030
4031const BERPDU myValue1 := {b := true,
4032 c := 5 }
4033const BERPDU myValue2 := { c := 5 ,
4034 b := true }
4035<TTCN_TC:EXEC>
4036
4037if ((enc_DER_PDU(myValue1) == '31060201058501FF'O)and(enc_CER_PDU(myValue1) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4038if ((enc_DER_PDU(myValue2) == '31060201058501FF'O)and(enc_CER_PDU(myValue2) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4039if (dec_BER_PDU('31060201058501FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4040if (dec_BER_PDU('31800201058501FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4041if (dec_BER_PDU('31068501FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4042if (dec_BER_PDU('31808501FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4043
4044<RESULT>
4045
4046Overall 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
4061TempA
4062
4063DEFINITIONS
4064AUTOMATIC TAGS
4065::=
4066BEGIN
4067MySeq ::= SET
4068 {x INTEGER OPTIONAL,
4069 y OCTET STRING}
4070BERPDU ::= SET
4071 {
4072 b BOOLEAN OPTIONAL,
4073 c INTEGER OPTIONAL,
4074 COMPONENTS OF MySeq
4075 }
4076END
4077
4078<STATIC>
4079
4080import from TempA all;
4081external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4082external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4083external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4084
4085const BERPDU myValue := {b := true,
4086 c := 5 ,
4087 x := 6,
4088 y := 'FF'O }
4089
4090<TTCN_TC:EXEC>
4091
4092if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4093if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4094if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4095if (dec_BER_PDU('310C8001FF8201068101058301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4096if (dec_BER_PDU('31808001FF8201068101058301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4097
4098<RESULT>
4099
4100Overall 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
4115TempA
4116
4117DEFINITIONS
4118
4119AUTOMATIC TAGS
4120
4121
4122::=
4123
4124BEGIN
4125
4126MySeq ::= SET
4127 {y OCTET STRING,
4128
4129 x INTEGER OPTIONAL
4130 }
4131
4132
4133
4134BERPDU ::= SET
4135 {
4136 b BOOLEAN OPTIONAL,
4137 c INTEGER OPTIONAL,
4138 COMPONENTS OF MySeq
4139 }
4140
4141
4142END
4143
4144<STATIC>
4145
4146import from TempA all;
4147external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4148external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4149
4150const BERPDU myValue := {b := true,
4151 c := 5 ,
4152 x := 6,
4153 y := 'FF'O }
4154
4155<TTCN_TC:EXEC>
4156
4157
4158
4159
4160if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4161
4162<RESULT>
4163
4164Overall 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
4179TempA
4180
4181DEFINITIONS
4182AUTOMATIC TAGS
4183::=
4184BEGIN
4185MySeq ::= SET
4186 {x [0] INTEGER OPTIONAL,
4187 y OCTET STRING}
4188BERPDU ::= SET
4189 {
4190 b BOOLEAN OPTIONAL,
4191 c INTEGER OPTIONAL,
4192 COMPONENTS OF MySeq
4193 }
4194END
4195
4196<STATIC>
4197
4198import from TempA all;
4199external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4200external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4201external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4202
4203const BERPDU myValue := {b := true,
4204 c := 5 ,
4205 x := 6,
4206 y := 'FF'O }
4207
4208<TTCN_TC:EXEC>
4209
4210if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4211if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4212if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4213if (dec_BER_PDU('310C8301FF8001FF820106810105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4214if (dec_BER_PDU('31808301FF8101058201068001FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
4215
4216<RESULT>
4217
4218Overall 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
4233TempA
4234
4235DEFINITIONS
4236
4237AUTOMATIC TAGS
4238
4239::=
4240
4241BEGIN
4242
4243MySeq ::= SET
4244 {y OCTET STRING,
4245 x [0] INTEGER OPTIONAL
4246 }
4247
4248
4249
4250BERPDU ::= SET
4251 {
4252 b BOOLEAN OPTIONAL,
4253 c INTEGER OPTIONAL,
4254 COMPONENTS OF MySeq
4255 }
4256
4257
4258END
4259
4260<STATIC>
4261
4262import from TempA all;
4263external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4264external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4265
4266const BERPDU myValue := {b := true,
4267 c := 5 ,
4268 x := 6,
4269 y := 'FF'O }
4270
4271<TTCN_TC:EXEC>
4272
4273
4274
4275
4276if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);}
4277
4278<RESULT>
4279
4280Overall 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
4295TempA
4296
4297DEFINITIONS
4298AUTOMATIC TAGS
4299::=
4300BEGIN
4301MySeq ::= SET
4302 {x INTEGER OPTIONAL,
4303 y OCTET STRING}
4304BERPDU ::= SET
4305 {
4306 b [0] BOOLEAN OPTIONAL,
4307 c BIT STRING OPTIONAL,
4308 COMPONENTS OF MySeq
4309 }
4310END
4311
4312<STATIC>
4313
4314import from TempA all;
4315external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4316external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4317external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4318
4319const BERPDU myValue1 := {b := true,
4320 c := '1'B ,
4321 x := 6,
4322 y := 'FF'O }
4323
4324<TTCN_TC:EXEC>
4325
4326if ((enc_DER_PDU(myValue1) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue1) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4327if (dec_BER_PDU('310D020106030207800401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4328if (dec_BER_PDU('3180020106030207800401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4329if (dec_BER_PDU('310D030207800201060401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4330if (dec_BER_PDU('3180030207800201060401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4331
4332<RESULT>
4333
4334Overall 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
4349TempA
4350
4351DEFINITIONS
4352
4353AUTOMATIC TAGS
4354
4355::=
4356
4357BEGIN
4358
4359
4360MySeq ::= SET
4361 {y OCTET STRING,
4362 x INTEGER OPTIONAL
4363 }
4364
4365
4366
4367BERPDU ::= SET
4368 {
4369 b [0] BOOLEAN OPTIONAL,
4370 c BIT STRING OPTIONAL,
4371 COMPONENTS OF MySeq
4372 }
4373
4374
4375END
4376
4377<STATIC>
4378
4379import from TempA all;
4380external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4381external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4382external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4383
4384const BERPDU myValue := {b := true,
4385 c := '1'B ,
4386 x := 6,
4387 y := 'FF'O }
4388
4389<TTCN_TC:EXEC>
4390
4391
4392
4393
4394if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
4395
4396<RESULT>
4397
4398Overall 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
4413TempA
4414DEFINITIONS
4415AUTOMATIC TAGS
4416::=
4417BEGIN
4418MySeq ::= SET
4419 {x [1] INTEGER OPTIONAL,
4420 y OCTET STRING}
4421BERPDU ::= SET
4422 {
4423 b [0] BOOLEAN OPTIONAL,
4424 c BIT STRING OPTIONAL,
4425 COMPONENTS OF MySeq
4426 }
4427END
4428
4429<STATIC>
4430
4431import from TempA all;
4432external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4433external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4434external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4435
4436const BERPDU myValue1 := {b := true,
4437 c := '1'B ,
4438 x := 6,
4439 y := 'FF'O }
4440
4441<TTCN_TC:EXEC>
4442
4443if ((enc_DER_PDU(myValue1) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue1) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4444if (dec_BER_PDU('310D030207800401FF8001FF810106'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4445if (dec_BER_PDU('3180030207800401FF8001FF8101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4446if (dec_BER_PDU('310D8101060401FF8001FF03020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4447if (dec_BER_PDU('31808001FF0401FF030207808101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4448
4449<RESULT>
4450
4451Overall 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
4466TempA
4467
4468DEFINITIONS
4469
4470AUTOMATIC TAGS
4471
4472::=
4473
4474BEGIN
4475
4476MySeq ::= SET
4477 { y OCTET STRING,
4478 x [1] INTEGER OPTIONAL
4479 }
4480
4481
4482
4483BERPDU ::= SET
4484 {
4485 b [0] BOOLEAN OPTIONAL,
4486 c BIT STRING OPTIONAL,
4487 COMPONENTS OF MySeq
4488 }
4489
4490
4491
4492END
4493
4494<STATIC>
4495
4496import from TempA all;
4497external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4498external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4499
4500const BERPDU myValue := {b := true,
4501 c := '1'B ,
4502 x := 6,
4503 y := 'FF'O }
4504
4505<TTCN_TC:EXEC>
4506
4507
4508
4509
4510if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);}
4511
4512<RESULT>
4513
4514Overall 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
4529TempA
4530
4531DEFINITIONS
4532AUTOMATIC TAGS
4533::=
4534BEGIN
4535BERPDU ::= SET
4536 {
4537 b CHOICE {
4538 x BOOLEAN,
4539 y OCTET STRING
4540 }
4541 OPTIONAL,
4542 c INTEGER OPTIONAL
4543 }
4544END
4545
4546<STATIC>
4547
4548import from TempA all;
4549external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4550external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4551external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4552
4553const BERPDU myValue1 := {b := {x := true},
4554 c := 4}
4555const BERPDU myValue2 := { c := 4,
4556 b := {x := true} }
4557<TTCN_TC:EXEC>
4558
4559if ((enc_DER_PDU(myValue1) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue1) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4560if ((enc_DER_PDU(myValue2) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue2) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);}
4561if (dec_BER_PDU('3108A0038001FF810104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4562if (dec_BER_PDU('3180A0808001FF00008101040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4563if (dec_BER_PDU('3108810104A0038001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4564if (dec_BER_PDU('3180810104A0808001FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4565
4566<RESULT>
4567
4568Overall 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
4583TempA
4584
4585DEFINITIONS
4586
4587AUTOMATIC TAGS
4588
4589::=
4590
4591BEGIN
4592
4593
4594
4595
4596BERPDU ::= 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
4611END
4612
4613<STATIC>
4614
4615import from TempA all;
4616external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4617external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4618
4619const BERPDU myValue := {
4620 c := 4,
4621 b := {x := true} }
4622<TTCN_TC:EXEC>
4623
4624
4625
4626
4627if ((enc_DER_PDU(myValue) == '3108800104A1038001FF'O)and(enc_CER_PDU(myValue) == '3180800104A1808001FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4628
4629<RESULT>
4630
4631Overall 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
4646TempA
4647
4648DEFINITIONS
4649::=
4650BEGIN
4651BERPDU ::= SET
4652 {
4653 b CHOICE {
4654 x BOOLEAN,
4655 y OCTET STRING
4656 }
4657 OPTIONAL,
4658 c INTEGER OPTIONAL
4659 }
4660END
4661
4662<STATIC>
4663
4664import from TempA all;
4665external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4666external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4667external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4668
4669const BERPDU myValue1 := {b := {x := true},
4670 c := 4}
4671const BERPDU myValue2 := {c := 4 ,
4672 b := {x := true}}
4673const BERPDU myValue3 := {b := {y := 'FF'O},
4674 c := 4}
4675<TTCN_TC:EXEC>
4676
4677if ((enc_DER_PDU(myValue1) == '31060101FF020104'O)and(enc_CER_PDU(myValue1) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4678if ((enc_DER_PDU(myValue2) == '31060101FF020104'O)and(enc_CER_PDU(myValue2) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4679if ((enc_DER_PDU(myValue3) == '31060201040401FF'O)and(enc_CER_PDU(myValue3) == '31800401FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);}
4680if (dec_BER_PDU('31060101FF020104'O) == myValue1) {setverdict(pass);} else {setverdict(fail);}
4681if (dec_BER_PDU('31800101FF0201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4682if (dec_BER_PDU('31060201040101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4683if (dec_BER_PDU('31800201040101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4684if (dec_BER_PDU('31060201040401FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4685if (dec_BER_PDU('31800401FF0201040000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4686if (dec_BER_PDU('31060401FF020104'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4687if (dec_BER_PDU('31800201040401FF0000'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
4688
4689<RESULT>
4690
4691Overall 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
4706TempA
4707
4708DEFINITIONS
4709AUTOMATIC TAGS
4710::=
4711BEGIN
4712BERPDU ::= SET
4713 {
4714 a OCTET STRING,
4715 b BOOLEAN,
4716 c INTEGER OPTIONAL,
4717 ...,
4718 d BIT STRING
4719 }
4720END
4721
4722<STATIC>
4723
4724import from TempA all;
4725external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4726external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4727external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4728
4729const BERPDU myValue1 := {
4730 a := 'FF'O,
4731 b := true,
4732 d := '1'B,
4733 c := 4
4734 }
4735const BERPDU myValue2 := {
4736 a := 'FF'O,
4737 d := '1'B,
4738 b := true,
4739 c := 4
4740 }
4741<TTCN_TC:EXEC>
4742
4743if ((enc_DER_PDU(myValue1) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue1) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4744if ((enc_DER_PDU(myValue2) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue2) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);}
4745if (dec_BER_PDU('310D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4746if (dec_BER_PDU('31808001FF8101FF820104830207800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4747if (dec_BER_PDU('310D8001FF830207808101FF820104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4748if (dec_BER_PDU('31808001FF830207808101FF8201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4749if (dec_BER_PDU('318300000D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4750if (dec_BER_PDU('318300000D8101FF820104830207808001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4751
4752<RESULT>
4753
4754Overall 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
4769TempA
4770
4771DEFINITIONS ::=
4772BEGIN
4773
4774BERPDU ::= 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
4799myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4800
4801
4802END
4803
4804<STATIC>
4805
4806import from TempA all;
4807external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4808external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4809
4810const 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
4839if ((enc_DER_PDU(myValue) == '31530101FF020102030207800402FFFF05000603000203090603312E452B300A0100300505000101FF310C03020780090603312E452B301603414243A1030101FFA3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '31800101FF020102030207800402FFFF05000603000203090603312E452B300A0100308005000101FF0000318003020780090603312E452B3000001603414243A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);}
4840
4841<RESULT>
4842
4843Overall 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
4858TempA
4859
4860DEFINITIONS
4861AUTOMATIC TAGS
4862::=
4863BEGIN
4864BERPDU ::= 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 }
4884myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
4885END
4886
4887<STATIC>
4888
4889import from TempA all;
4890external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4891external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4892
4893const 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 }
4912const 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
4934if ((enc_DER_PDU(myValue1) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4935 and(enc_CER_PDU(myValue1) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4936if ((enc_DER_PDU(myValue2) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)
4937 and(enc_CER_PDU(myValue2) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
4938
4939<RESULT>
4940
4941Overall 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
4956TempA
4957DEFINITIONS
4958IMPLICIT TAGS
4959::=
4960BEGIN
4961BERPDU ::= SET
4962 {
4963 d [PRIVATE 0] INTEGER OPTIONAL,
4964 a INTEGER OPTIONAL,
4965 b [APPLICATION 0] INTEGER OPTIONAL,
4966 c [0] INTEGER OPTIONAL
4967 }
4968END
4969
4970<STATIC>
4971
4972import from TempA all;
4973external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
4974external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
4975external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
4976
4977const BERPDU myValue1 := {
4978 a := 1,
4979 c := 3,
4980 d := 4,
4981 b := 2 }
4982
4983<TTCN_TC:EXEC>
4984
4985if ((enc_DER_PDU(myValue1) == '310C020101400102800103C00104'O)and(enc_CER_PDU(myValue1) == '3180020101400102800103C001040000'O)) {setverdict(pass);} else {setverdict(fail);}
4986if (dec_BER_PDU('310C020101400102800103C00104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4987if (dec_BER_PDU('3180020101400102800103C001040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
4988
4989<RESULT>
4990
4991Overall 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
5006TempA
5007DEFINITIONS
5008::=
5009BEGIN
5010BERPDU ::= SET
5011 {
5012 d [PRIVATE 0] INTEGER OPTIONAL,
5013 a INTEGER OPTIONAL,
5014 b [APPLICATION 0] INTEGER OPTIONAL,
5015 c [0] INTEGER OPTIONAL
5016 }
5017END
5018
5019<STATIC>
5020
5021import from TempA all;
5022external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5023external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5024external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5025
5026const BERPDU myValue1 := {
5027 a := 1,
5028 c := 3,
5029 d := 4,
5030 b := 2 }
5031
5032<TTCN_TC:EXEC>
5033if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5034if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5035if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5036
5037<RESULT>
5038
5039Overall 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
5054TempA
5055DEFINITIONS
5056EXPLICIT TAGS
5057::=
5058BEGIN
5059BERPDU ::= SET
5060 {
5061 d [PRIVATE 0] INTEGER OPTIONAL,
5062 a INTEGER OPTIONAL,
5063 b [APPLICATION 0] INTEGER OPTIONAL,
5064 c [0] INTEGER OPTIONAL
5065 }
5066END
5067
5068<STATIC>
5069
5070import from TempA all;
5071external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5072external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5073external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5074
5075const BERPDU myValue1 := {
5076 a := 1,
5077 c := 3,
5078 d := 4,
5079 b := 2 }
5080
5081<TTCN_TC:EXEC>
5082if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);}
5083if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5084if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5085
5086<RESULT>
5087
5088Overall 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
5103TempA
5104DEFINITIONS
5105IMPLICIT TAGS
5106::=
5107BEGIN
5108BERPDU ::= 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 }
5129END
5130
5131<STATIC>
5132
5133import from TempA all;
5134external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5135external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5136external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5137
5138const BERPDU myValue1 := {
5139 a := 1,
5140 b := {c:= 2},
5141 e := { f := {g := 3 } }
5142 }
5143
5144<TTCN_TC:EXEC>
5145if ((enc_DER_PDU(myValue1) == '310BA103820102830101850103'O)and(enc_CER_PDU(myValue1) == '3180850103A18082010200008301010000'O)) {setverdict(pass);} else {setverdict(fail);}
5146if (dec_BER_PDU('310BA103820102830101850103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5147if (dec_BER_PDU('3180850103A18082010200008301010000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5148
5149<RESULT>
5150
5151Overall 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
5166TempA
5167DEFINITIONS
5168EXPLICIT TAGS
5169::=
5170BEGIN
5171BERPDU ::= 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 }
5192END
5193
5194<STATIC>
5195
5196import from TempA all;
5197external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5198external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5199external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5200
5201const BERPDU myValue1 := {
5202 a := 1,
5203 b := {c:= 2},
5204 e := { f := { g := 3 } }
5205 }
5206
5207<TTCN_TC:EXEC>
5208
5209if ((enc_DER_PDU(myValue1) == '3111A105A203020102A303020101A503020103'O)and(enc_CER_PDU(myValue1) == '3180A5800201030000A180A28002010200000000A38002010100000000'O)) {setverdict(pass);} else {setverdict(fail);}
5210if (dec_BER_PDU('3111A105A203020102A303020101A503020103'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5211if (dec_BER_PDU('3180A5800201030000A180A28002010200000000A38002010100000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5212
5213<RESULT>
5214
5215Overall 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
5230TempA
5231
5232DEFINITIONS ::=
5233BEGIN
5234BERPDU ::= SET
5235 {
5236
5237 c INTEGER OPTIONAL,
5238 b BOOLEAN OPTIONAL
5239 }
5240
5241
5242END
5243
5244<STATIC>
5245
5246import from TempA all;
5247
5248external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5249
5250
5251const BERPDU myValue := {
5252 c := 5,
5253 b := true }
5254
5255
5256<TTCN_TC:EXEC>
5257
5258if (dec_BER_PDU('31800201050101FF0000'O) == myValue)
5259
5260
5261
5262{setverdict(pass);} else {setverdict(fail);}
5263
5264
5265<RESULT>
5266
5267Overall 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
5282TempA
5283DEFINITIONS
5284::=
5285BEGIN
5286BERPDU ::= 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 }
5306myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5307END
5308
5309<STATIC>
5310
5311import from TempA all;
5312
5313external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5314
5315const 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
5337if (dec_BER_PDU('31450101FF020102030207800402FFFF050006030002030A01001603414243300505000101FF3106030207800500A1030101FFA3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5338if (dec_BER_PDU('31800101FF020102030207800402FFFF050006030002030A01001603414243308005000101FF000031800302078005000000A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5339if (dec_BER_PDU('31450101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF0500'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5340if (dec_BER_PDU('31800101FF0201020A0100030207800402FFFF050006030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5341
5342<RESULT>
5343
5344Overall 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
5359TempA
5360DEFINITIONS
5361AUTOMATIC TAGS
5362::=
5363BEGIN
5364BERPDU ::= 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 }
5384myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)}
5385END
5386
5387<STATIC>
5388
5389import from TempA all;
5390
5391external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5392
5393const 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
5415if (dec_BER_PDU('314380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5416if (dec_BER_PDU('318080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5417if (dec_BER_PDU('31438101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF8000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5418if (dec_BER_PDU('318080008201028101FF8301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5419
5420<RESULT>
5421
5422Overall 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
5437TempA
5438
5439DEFINITIONS ::=
5440BEGIN
5441BERPDU ::= SET OF INTEGER
5442END
5443
5444<STATIC>
5445
5446import from TempA all;
5447external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5448external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5449external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5450
5451const BERPDU myValue1 := { }
5452
5453<TTCN_TC:EXEC>
5454
5455if ((enc_DER_PDU(myValue1) == '3100'O)and(enc_CER_PDU(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);}
5456if (dec_BER_PDU('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5457if (dec_BER_PDU('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
5458
5459<RESULT>
5460
5461Overall 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
5476TempA
5477
5478DEFINITIONS ::=
5479BEGIN
5480BERPDU ::= SET OF BOOLEAN
5481END
5482
5483<STATIC>
5484
5485import from TempA all;
5486external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5487external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5488external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5489
5490const BERPDU myValue := {true, false }
5491
5492<TTCN_TC:EXEC>
5493
5494if ((enc_DER_PDU(myValue) == '31060101000101FF'O)and(enc_CER_PDU(myValue) == '31800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5495if (dec_BER_PDU('31060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5496if (dec_BER_PDU('31800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5497if (dec_BER_PDU('31060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5498if (dec_BER_PDU('31800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5499
5500<RESULT>
5501
5502Overall 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
5517TempA
5518
5519DEFINITIONS ::=
5520BEGIN
5521BERPDU ::= SET OF OCTET STRING
5522END
5523
5524<STATIC>
5525
5526import from TempA all;
5527external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5528external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5529external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5530
5531const BERPDU myValue := {'FFFF'O, 'AB'O };
5532
5533<TTCN_TC:EXEC>
5534
5535if ((enc_DER_PDU(myValue) == '31070401AB0402FFFF'O)and(enc_CER_PDU(myValue) == '31800401AB0402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5536if (dec_BER_PDU('31070401AB0402FFFF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5537if (dec_BER_PDU('31800401AB0402FFFF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5538if (dec_BER_PDU('31070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5539if (dec_BER_PDU('31800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5540
5541<RESULT>
5542
5543Overall 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
5558TempA
5559
5560DEFINITIONS ::=
5561BEGIN
5562BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN}
5563END
5564
5565<STATIC>
5566
5567import from TempA all;
5568external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5569external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5570external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5571
5572const 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
5587if ((enc_DER_PDU(myValue) == '3110300602010301010030060201050101FF'O)and(enc_CER_PDU(myValue) == '31803080020103010100000030800201050101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5588if (dec_BER_PDU('3110300602010301010030060201050101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5589if (dec_BER_PDU('31803080020103010100000030800201050101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5590if (dec_BER_PDU('311030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5591if (dec_BER_PDU('318030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5592
5593<RESULT>
5594
5595Overall 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
5610TempA
5611
5612DEFINITIONS ::=
5613BEGIN
5614BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN}
5615END
5616
5617<STATIC>
5618
5619import from TempA all;
5620external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5621external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5622external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5623
5624const 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
5638if ((enc_DER_PDU(myValue) == '3110310601010002010331060101FF020105'O)and(enc_CER_PDU(myValue) == '31803180010100020103000031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);}
5639if (dec_BER_PDU('3110310601010002010331060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5640if (dec_BER_PDU('31803180010100020103000031800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5641if (dec_BER_PDU('311031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5642if (dec_BER_PDU('318031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5643
5644<RESULT>
5645
5646Overall 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
5661TempA
5662
5663DEFINITIONS ::=
5664BEGIN
5665BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN}
5666END
5667
5668<STATIC>
5669
5670import from TempA all;
5671external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5672external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5673external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5674
5675const BERPDU myValue := {
5676 {
5677 a := 5
5678 },
5679 {
5680 b := false
5681 }
5682 };
5683
5684<TTCN_TC:EXEC>
5685
5686if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);}
5687if (dec_BER_PDU('3106010100020105'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5688if (dec_BER_PDU('31800101000201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5689if (dec_BER_PDU('3106020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5690if (dec_BER_PDU('31800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5691
5692<RESULT>
5693
5694Overall 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
5709TempA
5710
5711DEFINITIONS ::=
5712BEGIN
5713BERPDU ::= SET OF SEQUENCE OF INTEGER
5714END
5715
5716<STATIC>
5717
5718import from TempA all;
5719external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5720external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5721external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5722
5723const 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
5738if ((enc_DER_PDU(myValue) == '311630090201010201020201033009020105020106020107'O)and(enc_CER_PDU(myValue) == '318030800201010201020201030000308002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5739if (dec_BER_PDU('311630090201010201020201033009020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5740if (dec_BER_PDU('318030800201010201020201030000308002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5741if (dec_BER_PDU('311630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5742if (dec_BER_PDU('318030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5743
5744<RESULT>
5745
5746Overall 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
5761TempA
5762
5763DEFINITIONS ::=
5764BEGIN
5765BERPDU ::= SET OF SET OF INTEGER
5766END
5767
5768<STATIC>
5769
5770import from TempA all;
5771external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5772external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5773external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5774
5775const BERPDU myValue := {
5776 {5,6,7},
5777 {1,2,3}
5778 };
5779
5780<TTCN_TC:EXEC>
5781
5782if ((enc_DER_PDU(myValue) == '311631090201010201020201033109020105020106020107'O)and(enc_CER_PDU(myValue) == '318031800201010201020201030000318002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);}
5783if (dec_BER_PDU('311631090201010201020201033109020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5784if (dec_BER_PDU('318031800201010201020201030000318002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5785if (dec_BER_PDU('311631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5786if (dec_BER_PDU('318031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5787
5788<RESULT>
5789
5790Overall 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
5805TempA
5806
5807DEFINITIONS ::=
5808BEGIN
5809BERPDU ::= [0] SET OF BOOLEAN
5810END
5811
5812<STATIC>
5813
5814import from TempA all;
5815external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5816external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5817external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5818
5819const BERPDU myValue := {true, false }
5820
5821<TTCN_TC:EXEC>
5822
5823if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5824if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5825if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5826if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5827if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5828
5829<RESULT>
5830
5831Overall 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
5846TempA
5847
5848DEFINITIONS
5849EXPLICIT TAGS
5850::=
5851BEGIN
5852BERPDU ::= [0] SET OF BOOLEAN
5853END
5854
5855<STATIC>
5856
5857import from TempA all;
5858external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5859external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5860external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5861
5862const BERPDU myValue := {true, false }
5863
5864<TTCN_TC:EXEC>
5865
5866if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
5867if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5868if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5869if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5870if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5871
5872<RESULT>
5873
5874Overall 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
5889TempA
5890
5891DEFINITIONS
5892IMPLICIT TAGS
5893::=
5894BEGIN
5895BERPDU ::= [0] SET OF BOOLEAN
5896END
5897
5898<STATIC>
5899
5900import from TempA all;
5901external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5902external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5903external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
5904
5905const BERPDU myValue := {true, false }
5906
5907<TTCN_TC:EXEC>
5908
5909if ((enc_DER_PDU(myValue) == 'A0060101000101FF'O)and(enc_CER_PDU(myValue) == 'A0800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5910if (dec_BER_PDU('A0060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5911if (dec_BER_PDU('A0800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5912if (dec_BER_PDU('A0060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5913if (dec_BER_PDU('A0800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
5914
5915<RESULT>
5916
5917Overall 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
5932TempA
5933
5934DEFINITIONS ::=
5935BEGIN
5936
5937BERPDU ::= SET OF OCTET STRING
5938
5939END
5940
5941<STATIC>
5942
5943import from TempA all;
5944external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
5945external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
5946
5947const BERPDU myValue := {'FFFF'O, ''O };
5948
5949<TTCN_TC:EXEC>
5950
5951if ((enc_DER_PDU(myValue) == '310604000402FFFF'O)and(enc_CER_PDU(myValue) == '318004000402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);}
5952
5953<RESULT>
5954
5955Overall 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
5970TempA
5971
5972DEFINITIONS ::=
5973BEGIN
5974
5975BERPDU ::= 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
6000myValue8 BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)}
6001END
6002
6003<STATIC>
6004
6005import from TempA all;
6006external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6007external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6008external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6009
6010const BERPDU myValue1 := {a := NULL}
6011const BERPDU myValue2 := {b := true}
6012const BERPDU myValue3 := {c := 2}
6013const BERPDU myValue4 := {d := first}
6014const BERPDU myValue5 := {e := 1.0}
6015const BERPDU myValue6 := {f := '1'B}
6016const BERPDU myValue7 := {g := 'FFFF'O}
6017
6018const BERPDU myValue9 := {i := "ABC"}
6019const BERPDU myValue10 := {j := {x1 := true } }
6020const BERPDU myValue11 := {k := {x2 := NULL,
6021 y2 := true } }
6022const BERPDU myValue12 := {l := {y3 := 1.0 ,
6023 x3 := '1'B } }
6024const BERPDU myValue13 := {m :=
6025 { 1 ,2 } }
6026const BERPDU myValue14 := {n :=
6027 { true, true } }
6028<TTCN_TC:EXEC>
6029
6030if ((enc_DER_PDU(myValue1) == '0500'O)and(enc_CER_PDU(myValue1) == '0500'O)) {setverdict(pass);} else {setverdict(fail);}
6031if ((enc_DER_PDU(myValue2) == '0101FF'O)and(enc_CER_PDU(myValue2) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6032if ((enc_DER_PDU(myValue3) == '020102'O)and(enc_CER_PDU(myValue3) == '020102'O)) {setverdict(pass);} else {setverdict(fail);}
6033if ((enc_DER_PDU(myValue4) == '0A0100'O)and(enc_CER_PDU(myValue4) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);}
6034if ((enc_DER_PDU(myValue5) == '090603312E452B30'O)and(enc_CER_PDU(myValue5) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);}
6035if ((enc_DER_PDU(myValue6) == '03020780'O)and(enc_CER_PDU(myValue6) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);}
6036if ((enc_DER_PDU(myValue7) == '0402FFFF'O)and(enc_CER_PDU(myValue7) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);}
6037if ((enc_DER_PDU(myValue8) == '0603000203'O)and(enc_CER_PDU(myValue8) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
6038if ((enc_DER_PDU(myValue9) == '1603414243'O)and(enc_CER_PDU(myValue9) == '1603414243'O)) {setverdict(pass);} else {setverdict(fail);}
6039if ((enc_DER_PDU(myValue10) == 'A1030101FF'O)and(enc_CER_PDU(myValue10) == 'A1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6040if ((enc_DER_PDU(myValue11) == '300505000101FF'O)and(enc_CER_PDU(myValue11) == '308005000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6041if ((enc_DER_PDU(myValue12) == '310C03020780090603312E452B30'O)and(enc_CER_PDU(myValue12) == '318003020780090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);}
6042if ((enc_DER_PDU(myValue13) == 'A3083006020101020102'O)and(enc_CER_PDU(myValue13) == 'A380308002010102010200000000'O)) {setverdict(pass);} else {setverdict(fail);}
6043if ((enc_DER_PDU(myValue14) == 'A40831060101FF0101FF'O)and(enc_CER_PDU(myValue14) == 'A48031800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6044if (dec_BER_PDU('0500'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6045if (dec_BER_PDU('0101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);}
6046if (dec_BER_PDU('020102'O) == myValue3){setverdict(pass);} else {setverdict(fail);}
6047if (dec_BER_PDU('0A0100'O) == myValue4){setverdict(pass);} else {setverdict(fail);}
6048if (dec_BER_PDU('03020780'O) == myValue6){setverdict(pass);} else {setverdict(fail);}
6049if (dec_BER_PDU('0402FFFF'O) == myValue7){setverdict(pass);} else {setverdict(fail);}
6050if (dec_BER_PDU('0603000203'O) == myValue8){setverdict(pass);} else {setverdict(fail);}
6051if (dec_BER_PDU('1603414243'O) == myValue9){setverdict(pass);} else {setverdict(fail);}
6052if (dec_BER_PDU('A1030101FF'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6053if (dec_BER_PDU('A1800101FF0000'O) == myValue10){setverdict(pass);} else {setverdict(fail);}
6054if (dec_BER_PDU('300505000101FF'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6055if (dec_BER_PDU('308005000101FF0000'O) == myValue11){setverdict(pass);} else {setverdict(fail);}
6056if (dec_BER_PDU('A3083006020101020102'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6057if (dec_BER_PDU('A380308002010102010200000000'O) == myValue13){setverdict(pass);} else {setverdict(fail);}
6058if (dec_BER_PDU('A40831060101FF0101FF'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6059if (dec_BER_PDU('A48031800101FF0101FF00000000'O) == myValue14){setverdict(pass);} else {setverdict(fail);}
6060
6061<RESULT>
6062
6063Overall 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
6078TempA
6079
6080DEFINITIONS
6081IMPLICIT TAGS
6082::=
6083BEGIN
6084BERPDU ::= CHOICE
6085 {
6086 b BOOLEAN,
6087 c INTEGER
6088 }
6089END
6090
6091<STATIC>
6092
6093import from TempA all;
6094external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6095external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6096external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6097
6098const BERPDU myValue1 := {b := true }
6099
6100<TTCN_TC:EXEC>
6101
6102if ((enc_DER_PDU(myValue1) == '0101FF'O)and(enc_CER_PDU(myValue1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6103if (dec_BER_PDU('0101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);}
6104
6105<RESULT>
6106
6107Overall 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
6122TempA
6123
6124DEFINITIONS
6125EXPLICIT TAGS
6126::=
6127BEGIN
6128BERPDU ::= CHOICE
6129 {
6130 b BOOLEAN,
6131 c INTEGER
6132 }
6133END
6134
6135<STATIC>
6136
6137import from TempA all;
6138external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6139external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6140external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6141
6142const BERPDU myValue := {b := true }
6143
6144<TTCN_TC:EXEC>
6145
6146if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6147if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6148
6149
6150<RESULT>
6151
6152Overall 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
6167TempA
6168DEFINITIONS
6169::=
6170BEGIN
6171BERPDU ::= CHOICE
6172 {
6173 b BOOLEAN,
6174 c INTEGER
6175 }
6176END
6177
6178<STATIC>
6179
6180import from TempA all;
6181external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6182external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6183external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6184
6185const BERPDU myValue := {b := true }
6186
6187<TTCN_TC:EXEC>
6188
6189if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);}
6190if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6191
6192<RESULT>
6193
6194Overall 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
6209TempA
6210
6211DEFINITIONS
6212AUTOMATIC TAGS
6213::=
6214BEGIN
6215BERPDU ::= CHOICE
6216 {
6217 b BOOLEAN,
6218 c INTEGER
6219 }
6220END
6221
6222<STATIC>
6223
6224import from TempA all;
6225external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6226external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6227external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6228
6229const BERPDU myValue := {b := true }
6230
6231<TTCN_TC:EXEC>
6232
6233if ((enc_DER_PDU(myValue) == '8001FF'O)and(enc_CER_PDU(myValue) == '8001FF'O)) {setverdict(pass);} else {setverdict(fail);}
6234if (dec_BER_PDU('8001FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6235
6236<RESULT>
6237
6238Overall 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
6253TempA
6254
6255DEFINITIONS
6256IMPLICIT TAGS
6257::=
6258BEGIN
6259BERPDU ::= CHOICE
6260 {
6261 b [3] BOOLEAN,
6262 c [6] INTEGER
6263 }
6264END
6265
6266<STATIC>
6267
6268import from TempA all;
6269external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6270external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6271external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6272
6273const BERPDU myValue := {b := true }
6274
6275<TTCN_TC:EXEC>
6276
6277if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6278if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6279
6280<RESULT>
6281
6282Overall 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
6297TempA
6298
6299DEFINITIONS
6300EXPLICIT TAGS
6301::=
6302BEGIN
6303BERPDU ::= CHOICE
6304 {
6305 b [3] BOOLEAN,
6306 c [6] INTEGER
6307 }
6308END
6309
6310<STATIC>
6311
6312import from TempA all;
6313external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6314external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6315external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6316
6317const BERPDU myValue := {b := true }
6318
6319<TTCN_TC:EXEC>
6320
6321if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6322if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6323if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6324
6325<RESULT>
6326
6327Overall 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
6342TempA
6343
6344DEFINITIONS ::=
6345BEGIN
6346
6347BERPDU ::= CHOICE
6348 {
6349 b [3] BOOLEAN,
6350 c [6] INTEGER
6351 }
6352END
6353
6354<STATIC>
6355
6356import from TempA all;
6357external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6358external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6359external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6360
6361const BERPDU myValue := {b := true }
6362
6363<TTCN_TC:EXEC>
6364
6365if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6366if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6367if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6368
6369<RESULT>
6370
6371Overall 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
6386TempA
6387
6388DEFINITIONS
6389AUTOMATIC TAGS
6390::=
6391BEGIN
6392BERPDU ::= CHOICE
6393 {
6394 b [3] BOOLEAN,
6395 c [6] INTEGER
6396 }
6397END
6398
6399<STATIC>
6400
6401import from TempA all;
6402external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6403external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6404external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6405
6406const BERPDU myValue := {b := true }
6407
6408<TTCN_TC:EXEC>
6409
6410if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6411if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6412
6413<RESULT>
6414
6415Overall 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
6430TempA
6431
6432DEFINITIONS
6433IMPLICIT TAGS
6434::=
6435BEGIN
6436BERPDU ::= CHOICE
6437 {
6438 b [3] IMPLICIT BOOLEAN,
6439 c [6] INTEGER
6440 }
6441END
6442
6443<STATIC>
6444
6445import from TempA all;
6446external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6447external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6448external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6449
6450const BERPDU myValue := {b := true }
6451
6452<TTCN_TC:EXEC>
6453
6454if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6455if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6456
6457<RESULT>
6458
6459Overall 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
6474TempA
6475
6476DEFINITIONS
6477EXPLICIT TAGS
6478::=
6479BEGIN
6480BERPDU ::= CHOICE
6481 {
6482 b [3] IMPLICIT BOOLEAN,
6483 c [6] INTEGER
6484 }
6485END
6486
6487<STATIC>
6488
6489import from TempA all;
6490external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6491external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6492external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6493
6494const BERPDU myValue := {b := true }
6495
6496<TTCN_TC:EXEC>
6497
6498if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6499if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6500
6501<RESULT>
6502
6503Overall 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
6518TempA
6519
6520DEFINITIONS
6521::=
6522BEGIN
6523BERPDU ::= CHOICE
6524 {
6525 b [3] IMPLICIT BOOLEAN,
6526 c [6] INTEGER
6527 }
6528END
6529
6530<STATIC>
6531
6532import from TempA all;
6533external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6534external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6535external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6536
6537const BERPDU myValue := {b := true }
6538
6539<TTCN_TC:EXEC>
6540
6541if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6542if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6543
6544<RESULT>
6545
6546Overall 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
6561TempA
6562
6563DEFINITIONS
6564AUTOMATIC TAGS
6565::=
6566BEGIN
6567BERPDU ::= CHOICE
6568 {
6569 b [3] IMPLICIT BOOLEAN,
6570 c [6] INTEGER
6571 }
6572END
6573
6574<STATIC>
6575
6576import from TempA all;
6577external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6578external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6579external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6580
6581const BERPDU myValue := {b := true }
6582
6583<TTCN_TC:EXEC>
6584
6585if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);}
6586if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6587
6588<RESULT>
6589
6590Overall 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
6605TempA
6606DEFINITIONS
6607IMPLICIT TAGS
6608::=
6609BEGIN
6610BERPDU ::= CHOICE
6611 {
6612 b [3] EXPLICIT BOOLEAN,
6613 c [6] INTEGER
6614 }
6615END
6616
6617<STATIC>
6618
6619import from TempA all;
6620external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6621external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6622external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6623
6624const BERPDU myValue := {b := true }
6625
6626<TTCN_TC:EXEC>
6627
6628if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6629if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6630if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6631
6632<RESULT>
6633
6634Overall 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
6649TempA
6650
6651DEFINITIONS
6652EXPLICIT TAGS
6653::=
6654BEGIN
6655BERPDU ::= CHOICE
6656 {
6657 b [3] EXPLICIT BOOLEAN,
6658 c [6] INTEGER
6659 }
6660END
6661
6662<STATIC>
6663
6664import from TempA all;
6665external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6666external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6667external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6668
6669const BERPDU myValue := {b := true }
6670
6671<TTCN_TC:EXEC>
6672
6673if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6674if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6675if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6676
6677<RESULT>
6678
6679Overall 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
6694TempA
6695DEFINITIONS
6696::=
6697BEGIN
6698BERPDU ::= CHOICE
6699 {
6700 b [3] EXPLICIT BOOLEAN,
6701 c [6] INTEGER
6702 }
6703END
6704
6705<STATIC>
6706
6707import from TempA all;
6708external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6709external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6710external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6711
6712const BERPDU myValue := {b := true }
6713
6714<TTCN_TC:EXEC>
6715
6716if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6717if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6718if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6719
6720<RESULT>
6721
6722Overall 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
6737TempA
6738
6739DEFINITIONS
6740EXPLICIT TAGS
6741::=
6742BEGIN
6743BERPDU ::= CHOICE
6744 {
6745 b [3] EXPLICIT BOOLEAN,
6746 c [6] INTEGER
6747 }
6748END
6749
6750<STATIC>
6751
6752import from TempA all;
6753external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6754external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6755external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6756
6757const BERPDU myValue := {b := true }
6758
6759<TTCN_TC:EXEC>
6760
6761if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6762if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6763if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6764
6765<RESULT>
6766
6767Overall 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
6782TempA
6783
6784DEFINITIONS
6785IMPLICIT TAGS
6786::=
6787BEGIN
6788BERPDU ::= [0] CHOICE
6789 {
6790 b [3] BOOLEAN,
6791 c [6] INTEGER
6792 }
6793END
6794
6795<STATIC>
6796
6797import from TempA all;
6798external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6799external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6800external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6801
6802const BERPDU myValue := {b := true }
6803
6804<TTCN_TC:EXEC>
6805
6806if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6807if (dec_BER_PDU('A0038301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6808if (dec_BER_PDU('A0808301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6809
6810<RESULT>
6811
6812Overall 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
6827TempA
6828
6829DEFINITIONS
6830EXPLICIT TAGS
6831::=
6832BEGIN
6833BERPDU ::= [0] CHOICE
6834 {
6835 b [3] BOOLEAN,
6836 c [6] INTEGER
6837 }
6838END
6839
6840<STATIC>
6841
6842import from TempA all;
6843external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6844external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6845external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6846
6847const BERPDU myValue := {b := true }
6848
6849<TTCN_TC:EXEC>
6850
6851if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6852if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6853if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6854
6855<RESULT>
6856
6857Overall 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
6872TempA
6873
6874DEFINITIONS
6875::=
6876BEGIN
6877BERPDU ::= [0] CHOICE
6878 {
6879 b [3] BOOLEAN,
6880 c [6] INTEGER
6881 }
6882END
6883
6884<STATIC>
6885
6886import from TempA all;
6887external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6888external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6889external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
6890
6891const BERPDU myValue := {b := true }
6892
6893<TTCN_TC:EXEC>
6894
6895if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);}
6896if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6897if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);}
6898
6899<RESULT>
6900
6901Overall 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
6916TempA
6917
6918DEFINITIONS
6919
6920AUTOMATIC TAGS
6921
6922::=
6923
6924BEGIN
6925
6926BERPDU ::= [0] CHOICE
6927 {
6928 b [3] BOOLEAN,
6929 c [6] INTEGER
6930 }
6931
6932
6933END
6934
6935<STATIC>
6936
6937import from TempA all;
6938external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
6939external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
6940
6941const BERPDU myValue := {b := true }
6942
6943<TTCN_TC:EXEC>
6944
6945
6946
6947
6948if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);}
6949
6950
6951<RESULT>
6952
6953Overall 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
6969TempA
6970
6971DEFINITIONS ::=
6972BEGIN
6973BERPDU ::= 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
7000END
7001
7002<STATIC>
7003
7004import from TempA all;
7005
7006external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7007
7008const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7009
7010 x3 := '1'B } }
7011
7012
7013
7014
7015<TTCN_TC:EXEC>
7016
7017if (dec_BER_PDU('3108030207800402FFFF'O) == myValue)
7018
7019
7020{setverdict(pass);} else {setverdict(fail);}
7021
7022
7023<RESULT>
7024
7025Overall 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
7040TempA
7041
7042DEFINITIONS ::=
7043BEGIN
7044BERPDU ::= 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
7071END
7072
7073<STATIC>
7074
7075import from TempA all;
7076
7077external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7078
7079const BERPDU myValue := {l := {y3 := 'FFFF'O ,
7080
7081 x3 := '1'B } }
7082
7083
7084
7085
7086<TTCN_TC:EXEC>
7087
7088if (dec_BER_PDU('3180030207800402FFFF0000'O) == myValue)
7089
7090
7091{setverdict(pass);} else {setverdict(fail);}
7092
7093
7094<RESULT>
7095
7096Overall 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
7111TempA
7112
7113DEFINITIONS
7114
7115AUTOMATIC TAGS
7116
7117
7118
7119::=
7120
7121BEGIN
7122
7123
7124
7125BERPDU ::= [0] CHOICE
7126 {
7127 b [3] BOOLEAN,
7128 c [6] INTEGER
7129 }
7130
7131
7132
7133
7134END
7135
7136<STATIC>
7137
7138import from TempA all;
7139
7140external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7141
7142const BERPDU myValue := {b := true }
7143
7144
7145
7146<TTCN_TC:EXEC>
7147
7148if (dec_BER_PDU('A0038301FF'O) == myValue)
7149
7150
7151{setverdict(pass);} else {setverdict(fail);}
7152
7153
7154<RESULT>
7155
7156Overall 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
7171TempA
7172
7173DEFINITIONS
7174
7175AUTOMATIC TAGS
7176
7177
7178
7179::=
7180
7181BEGIN
7182
7183
7184
7185BERPDU ::= [0] CHOICE
7186 {
7187 b [3] BOOLEAN,
7188 c [6] INTEGER
7189 }
7190
7191
7192
7193
7194END
7195
7196<STATIC>
7197
7198import from TempA all;
7199
7200external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
7201
7202const BERPDU myValue := {b := true }
7203
7204
7205
7206<TTCN_TC:EXEC>
7207
7208if (dec_BER_PDU('A0808301FF0000'O) == myValue)
7209
7210
7211{setverdict(pass);} else {setverdict(fail);}
7212
7213
7214<RESULT>
7215
7216Overall 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
7231TempA
7232
7233DEFINITIONS ::=
7234BEGIN
7235BERPDU ::= OBJECT IDENTIFIER
7236b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
7237
7238END
7239
7240<STATIC>
7241
7242import from TempA all;
7243external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7244external 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
7250if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7251
7252<RESULT>
7253
7254Overall 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
7269TempA
7270
7271DEFINITIONS ::=
7272BEGIN
7273BERPDU ::= OBJECT IDENTIFIER
7274b BERPDU ::= {itu-t recommendation a(2) b(3)}
7275
7276END
7277
7278<STATIC>
7279
7280import from TempA all;
7281external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7282external 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
7288if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7289
7290<RESULT>
7291
7292Overall 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
7307TempA
7308
7309DEFINITIONS ::=
7310BEGIN
7311BERPDU ::= OBJECT IDENTIFIER
7312b BERPDU ::= {0 0 a(2) b(3)}
7313
7314END
7315
7316<STATIC>
7317
7318import from TempA all;
7319external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7320external 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
7326if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);}
7327
7328<RESULT>
7329
7330Overall 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
7345TempA
7346
7347DEFINITIONS ::=
7348BEGIN
7349BERPDU ::= OBJECT IDENTIFIER
7350b BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
7351
7352END
7353
7354<STATIC>
7355
7356import from TempA all;
7357external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7358external 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
7364if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7365
7366<RESULT>
7367
7368Overall 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
7383TempA
7384
7385DEFINITIONS ::=
7386BEGIN
7387BERPDU ::= OBJECT IDENTIFIER
7388b BERPDU ::= {itu-t question a(2) b(3)}
7389
7390END
7391
7392<STATIC>
7393
7394import from TempA all;
7395external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7396external 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
7402if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7403
7404<RESULT>
7405
7406Overall 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
7421TempA
7422
7423DEFINITIONS ::=
7424BEGIN
7425BERPDU ::= OBJECT IDENTIFIER
7426b BERPDU ::= {0 1 a(2) b(3)}
7427
7428END
7429
7430<STATIC>
7431
7432import from TempA all;
7433external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7434external 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
7440if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);}
7441
7442<RESULT>
7443
7444Overall 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
7459TempA
7460
7461DEFINITIONS ::=
7462BEGIN
7463BERPDU ::= OBJECT IDENTIFIER
7464b BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
7465
7466END
7467
7468<STATIC>
7469
7470import from TempA all;
7471external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7472external 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
7478if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7479
7480<RESULT>
7481
7482Overall 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
7497TempA
7498
7499DEFINITIONS ::=
7500BEGIN
7501BERPDU ::= OBJECT IDENTIFIER
7502b BERPDU ::= {itu-t administration a(2) b(3)}
7503
7504END
7505
7506<STATIC>
7507
7508import from TempA all;
7509external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7510external 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
7516if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7517
7518<RESULT>
7519
7520Overall 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
7535TempA
7536
7537DEFINITIONS ::=
7538BEGIN
7539BERPDU ::= OBJECT IDENTIFIER
7540b BERPDU ::= {0 2 a(2) b(3)}
7541
7542END
7543
7544<STATIC>
7545
7546import from TempA all;
7547external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7548external 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
7554if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);}
7555
7556<RESULT>
7557
7558Overall 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
7573TempA
7574
7575DEFINITIONS ::=
7576BEGIN
7577BERPDU ::= OBJECT IDENTIFIER
7578b BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
7579
7580END
7581
7582<STATIC>
7583
7584import from TempA all;
7585external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7586external 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
7592if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7593
7594<RESULT>
7595
7596Overall 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
7611TempA
7612
7613DEFINITIONS ::=
7614BEGIN
7615BERPDU ::= OBJECT IDENTIFIER
7616b BERPDU ::= {itu-t network-operator a(2) b(3)}
7617
7618END
7619
7620<STATIC>
7621
7622import from TempA all;
7623external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7624external 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
7630if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7631
7632<RESULT>
7633
7634Overall 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
7649TempA
7650
7651DEFINITIONS ::=
7652BEGIN
7653BERPDU ::= OBJECT IDENTIFIER
7654b BERPDU ::= {0 3 a(2) b(3)}
7655
7656END
7657
7658<STATIC>
7659
7660import from TempA all;
7661external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7662external 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
7668if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);}
7669
7670<RESULT>
7671
7672Overall 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
7687TempA
7688
7689DEFINITIONS ::=
7690BEGIN
7691BERPDU ::= OBJECT IDENTIFIER
7692b BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
7693
7694END
7695
7696<STATIC>
7697
7698import from TempA all;
7699external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7700external 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
7706if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7707
7708<RESULT>
7709
7710Overall 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
7725TempA
7726
7727DEFINITIONS ::=
7728BEGIN
7729BERPDU ::= OBJECT IDENTIFIER
7730b BERPDU ::= {itu-t identified-organization a(2) b(3)}
7731
7732END
7733
7734<STATIC>
7735
7736import from TempA all;
7737external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7738external 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
7744if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7745
7746<RESULT>
7747
7748Overall 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
7763TempA
7764
7765DEFINITIONS ::=
7766BEGIN
7767BERPDU ::= OBJECT IDENTIFIER
7768b BERPDU ::= {0 4 a(2) b(3)}
7769
7770END
7771
7772<STATIC>
7773
7774import from TempA all;
7775external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7776external 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
7782if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);}
7783
7784<RESULT>
7785
7786Overall 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
7801TempA
7802
7803DEFINITIONS ::=
7804BEGIN
7805BERPDU ::= OBJECT IDENTIFIER
7806b BERPDU ::= {iso(1) standard(0) a(2) b(3)}
7807
7808END
7809
7810<STATIC>
7811
7812import from TempA all;
7813external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7814external 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
7820if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7821
7822<RESULT>
7823
7824Overall 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
7839TempA
7840
7841DEFINITIONS ::=
7842BEGIN
7843BERPDU ::= OBJECT IDENTIFIER
7844b BERPDU ::= {iso standard a(2) b(3)}
7845
7846END
7847
7848<STATIC>
7849
7850import from TempA all;
7851external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7852external 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
7858if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7859
7860<RESULT>
7861
7862Overall 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
7877TempA
7878
7879DEFINITIONS ::=
7880BEGIN
7881BERPDU ::= OBJECT IDENTIFIER
7882b BERPDU ::= {1 0 a(2) b(3)}
7883
7884END
7885
7886<STATIC>
7887
7888import from TempA all;
7889external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7890external 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
7896if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);}
7897
7898<RESULT>
7899
7900Overall 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
7915TempA
7916
7917DEFINITIONS ::=
7918BEGIN
7919BERPDU ::= OBJECT IDENTIFIER
7920b BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
7921
7922END
7923
7924<STATIC>
7925
7926import from TempA all;
7927external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7928external 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
7934if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7935
7936<RESULT>
7937
7938Overall 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
7953TempA
7954
7955DEFINITIONS ::=
7956BEGIN
7957BERPDU ::= OBJECT IDENTIFIER
7958b BERPDU ::= {iso member-body a(2) b(3)}
7959
7960END
7961
7962<STATIC>
7963
7964import from TempA all;
7965external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
7966external 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
7972if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
7973
7974<RESULT>
7975
7976Overall 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
7991TempA
7992
7993DEFINITIONS ::=
7994BEGIN
7995BERPDU ::= OBJECT IDENTIFIER
7996b BERPDU ::= {1 2 a(2) b(3)}
7997
7998END
7999
8000<STATIC>
8001
8002import from TempA all;
8003external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8004external 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
8010if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);}
8011
8012<RESULT>
8013
8014Overall 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
8029TempA
8030
8031DEFINITIONS ::=
8032BEGIN
8033BERPDU ::= OBJECT IDENTIFIER
8034b BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
8035
8036END
8037
8038<STATIC>
8039
8040import from TempA all;
8041external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8042external 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
8048if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8049
8050<RESULT>
8051
8052Overall 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
8067TempA
8068
8069DEFINITIONS ::=
8070BEGIN
8071BERPDU ::= OBJECT IDENTIFIER
8072b BERPDU ::= {iso identified-organization a(2) b(3)}
8073
8074END
8075
8076<STATIC>
8077
8078import from TempA all;
8079external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8080external 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
8086if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8087
8088<RESULT>
8089
8090Overall 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
8105TempA
8106
8107DEFINITIONS ::=
8108BEGIN
8109BERPDU ::= OBJECT IDENTIFIER
8110b BERPDU ::= {1 3 a(2) b(3)}
8111
8112END
8113
8114<STATIC>
8115
8116import from TempA all;
8117external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8118external 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
8124if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);}
8125
8126<RESULT>
8127
8128Overall 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
8143TempA
8144
8145DEFINITIONS ::=
8146BEGIN
8147BERPDU ::= OBJECT IDENTIFIER
8148b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
8149
8150END
8151
8152<STATIC>
8153
8154import from TempA all;
8155external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8156external 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
8162if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8163
8164<RESULT>
8165
8166Overall 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
8181TempA
8182
8183DEFINITIONS ::=
8184BEGIN
8185BERPDU ::= OBJECT IDENTIFIER
8186b BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
8187
8188END
8189
8190<STATIC>
8191
8192import from TempA all;
8193external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8194external 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
8200if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8201
8202<RESULT>
8203
8204Overall 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
8219TempA
8220
8221DEFINITIONS ::=
8222BEGIN
8223BERPDU ::= OBJECT IDENTIFIER
8224b BERPDU ::= {2 0 a(2) b(3)}
8225
8226END
8227
8228<STATIC>
8229
8230import from TempA all;
8231external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8232external 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
8238if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);}
8239
8240<RESULT>
8241
8242Overall 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
8257TempA
8258
8259DEFINITIONS ::=
8260BEGIN
8261BERPDU ::= OBJECT IDENTIFIER
8262b BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
8263
8264END
8265
8266<STATIC>
8267
8268import from TempA all;
8269external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8270external 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
8276if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8277
8278<RESULT>
8279
8280Overall 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
8295TempA
8296
8297DEFINITIONS ::=
8298BEGIN
8299BERPDU ::= OBJECT IDENTIFIER
8300b BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
8301
8302END
8303
8304<STATIC>
8305
8306import from TempA all;
8307external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8308external 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
8314if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8315
8316<RESULT>
8317
8318Overall 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
8333TempA
8334
8335DEFINITIONS ::=
8336BEGIN
8337BERPDU ::= OBJECT IDENTIFIER
8338b BERPDU ::= {2 100 a(2) b(3)}
8339
8340END
8341
8342<STATIC>
8343
8344import from TempA all;
8345external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8346external 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
8352if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);}
8353
8354<RESULT>
8355
8356Overall 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
8371TempA
8372
8373DEFINITIONS ::=
8374BEGIN
8375BERPDU ::= OBJECT IDENTIFIER
8376b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
8377
8378END
8379
8380<STATIC>
8381
8382import from TempA all;
8383external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8384external 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
8390if ((enc_DER_PDU(b) == '06075002038F509F20'O)and(enc_CER_PDU(b) == '06075002038F509F20'O)) {setverdict(pass);} else {setverdict(fail);}
8391
8392<RESULT>
8393
8394Overall 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
8409TempA
8410
8411DEFINITIONS ::=
8412BEGIN
8413BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
8414b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8415
8416END
8417
8418<STATIC>
8419
8420import from TempA all;
8421external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8422external 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
8428if ((enc_DER_PDU(b) == '8003000203'O)and(enc_CER_PDU(b) == '8003000203'O)) {setverdict(pass);} else {setverdict(fail);}
8429
8430<RESULT>
8431
8432Overall 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
8447TempA
8448
8449DEFINITIONS ::=
8450BEGIN
8451BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
8452b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
8453
8454END
8455
8456<STATIC>
8457
8458import from TempA all;
8459external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
8460external 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
8466if ((enc_DER_PDU(b) == 'A0050603000203'O)and(enc_CER_PDU(b) == 'A08006030002030000'O)) {setverdict(pass);} else {setverdict(fail);}
8467
8468<RESULT>
8469
8470Overall 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
8485TempA
8486
8487DEFINITIONS ::=
8488BEGIN
8489BERPDU ::= OBJECT IDENTIFIER
8490
8491myValue BERPDU ::= { itu-t(0) recommendation(0) a(2) b(3)}
8492
8493END
8494
8495<STATIC>
8496
8497import from TempA all;
8498
8499external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8500
8501
8502<TTCN_TC:EXEC>
8503
8504if (dec_BER_PDU('0603000203'O) == myValue)
8505
8506
8507{setverdict(pass);} else {setverdict(fail);}
8508
8509
8510<RESULT>
8511
8512Overall 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
8527TempA
8528
8529DEFINITIONS ::=
8530BEGIN
8531BERPDU ::= OBJECT IDENTIFIER
8532
8533myValue BERPDU ::= {itu-t recommendation a(2) b(3)}
8534
8535END
8536
8537<STATIC>
8538
8539import from TempA all;
8540
8541external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8542
8543
8544<TTCN_TC:EXEC>
8545
8546if (dec_BER_PDU('0603000203'O) == myValue)
8547
8548
8549{setverdict(pass);} else {setverdict(fail);}
8550
8551
8552<RESULT>
8553
8554Overall 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
8569TempA
8570
8571DEFINITIONS ::=
8572BEGIN
8573BERPDU ::= OBJECT IDENTIFIER
8574
8575myValue BERPDU ::= {0 0 a(2) b(3)}
8576
8577END
8578
8579<STATIC>
8580
8581import from TempA all;
8582
8583external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8584
8585
8586<TTCN_TC:EXEC>
8587
8588if (dec_BER_PDU('0603000203'O) == myValue)
8589
8590
8591{setverdict(pass);} else {setverdict(fail);}
8592
8593
8594<RESULT>
8595
8596Overall 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
8611TempA
8612
8613DEFINITIONS ::=
8614BEGIN
8615BERPDU ::= OBJECT IDENTIFIER
8616
8617myValue BERPDU ::= {itu-t(0) question(1) a(2) b(3)}
8618
8619END
8620
8621<STATIC>
8622
8623import from TempA all;
8624
8625external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8626
8627
8628<TTCN_TC:EXEC>
8629
8630if (dec_BER_PDU('0603010203'O) == myValue)
8631
8632
8633{setverdict(pass);} else {setverdict(fail);}
8634
8635
8636<RESULT>
8637
8638Overall 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
8653TempA
8654
8655DEFINITIONS ::=
8656BEGIN
8657BERPDU ::= OBJECT IDENTIFIER
8658
8659myValue BERPDU ::= {itu-t question a(2) b(3)}
8660
8661END
8662
8663<STATIC>
8664
8665import from TempA all;
8666
8667external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8668
8669
8670<TTCN_TC:EXEC>
8671
8672if (dec_BER_PDU('0603010203'O) == myValue)
8673
8674
8675{setverdict(pass);} else {setverdict(fail);}
8676
8677
8678<RESULT>
8679
8680Overall 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
8695TempA
8696
8697DEFINITIONS ::=
8698BEGIN
8699BERPDU ::= OBJECT IDENTIFIER
8700
8701myValue BERPDU ::= {0 1 a(2) b(3)}
8702
8703END
8704
8705<STATIC>
8706
8707import from TempA all;
8708
8709external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8710
8711
8712<TTCN_TC:EXEC>
8713
8714if (dec_BER_PDU('0603010203'O) == myValue)
8715
8716
8717{setverdict(pass);} else {setverdict(fail);}
8718
8719
8720<RESULT>
8721
8722Overall 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
8737TempA
8738
8739DEFINITIONS ::=
8740BEGIN
8741BERPDU ::= OBJECT IDENTIFIER
8742
8743myValue BERPDU ::= {itu-t(0) administration(2) a(2) b(3)}
8744
8745END
8746
8747<STATIC>
8748
8749import from TempA all;
8750
8751external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8752
8753
8754<TTCN_TC:EXEC>
8755
8756if (dec_BER_PDU('0603020203'O) == myValue)
8757
8758
8759{setverdict(pass);} else {setverdict(fail);}
8760
8761
8762<RESULT>
8763
8764Overall 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
8779TempA
8780
8781DEFINITIONS ::=
8782BEGIN
8783BERPDU ::= OBJECT IDENTIFIER
8784
8785myValue BERPDU ::= {itu-t administration a(2) b(3)}
8786
8787END
8788
8789<STATIC>
8790
8791import from TempA all;
8792
8793external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8794
8795
8796<TTCN_TC:EXEC>
8797
8798if (dec_BER_PDU('0603020203'O) == myValue)
8799
8800
8801{setverdict(pass);} else {setverdict(fail);}
8802
8803
8804<RESULT>
8805
8806Overall 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
8821TempA
8822
8823DEFINITIONS ::=
8824BEGIN
8825BERPDU ::= OBJECT IDENTIFIER
8826
8827myValue BERPDU ::= {0 2 a(2) b(3)}
8828
8829END
8830
8831<STATIC>
8832
8833import from TempA all;
8834
8835external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8836
8837
8838<TTCN_TC:EXEC>
8839
8840if (dec_BER_PDU('0603020203'O) == myValue)
8841
8842
8843{setverdict(pass);} else {setverdict(fail);}
8844
8845
8846<RESULT>
8847
8848Overall 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
8863TempA
8864
8865DEFINITIONS ::=
8866BEGIN
8867BERPDU ::= OBJECT IDENTIFIER
8868
8869myValue BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)}
8870
8871END
8872
8873<STATIC>
8874
8875import from TempA all;
8876
8877external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8878
8879
8880<TTCN_TC:EXEC>
8881
8882if (dec_BER_PDU('0603030203'O) == myValue)
8883
8884
8885{setverdict(pass);} else {setverdict(fail);}
8886
8887
8888<RESULT>
8889
8890Overall 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
8905TempA
8906
8907DEFINITIONS ::=
8908BEGIN
8909BERPDU ::= OBJECT IDENTIFIER
8910
8911myValue BERPDU ::= {itu-t network-operator a(2) b(3)}
8912
8913END
8914
8915<STATIC>
8916
8917import from TempA all;
8918
8919external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8920
8921
8922<TTCN_TC:EXEC>
8923
8924if (dec_BER_PDU('0603030203'O) == myValue)
8925
8926
8927{setverdict(pass);} else {setverdict(fail);}
8928
8929
8930<RESULT>
8931
8932Overall 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
8947TempA
8948
8949DEFINITIONS ::=
8950BEGIN
8951BERPDU ::= OBJECT IDENTIFIER
8952
8953myValue BERPDU ::= {0 3 a(2) b(3)}
8954
8955END
8956
8957<STATIC>
8958
8959import from TempA all;
8960
8961external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
8962
8963
8964<TTCN_TC:EXEC>
8965
8966if (dec_BER_PDU('0603030203'O) == myValue)
8967
8968
8969{setverdict(pass);} else {setverdict(fail);}
8970
8971
8972<RESULT>
8973
8974Overall 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
8989TempA
8990
8991DEFINITIONS ::=
8992BEGIN
8993BERPDU ::= OBJECT IDENTIFIER
8994
8995myValue BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)}
8996
8997END
8998
8999<STATIC>
9000
9001import from TempA all;
9002
9003external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9004
9005
9006<TTCN_TC:EXEC>
9007
9008if (dec_BER_PDU('0603040203'O) == myValue)
9009
9010
9011{setverdict(pass);} else {setverdict(fail);}
9012
9013
9014<RESULT>
9015
9016Overall 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
9031TempA
9032
9033DEFINITIONS ::=
9034BEGIN
9035BERPDU ::= OBJECT IDENTIFIER
9036
9037myValue BERPDU ::= {itu-t identified-organization a(2) b(3)}
9038
9039END
9040
9041<STATIC>
9042
9043import from TempA all;
9044
9045external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9046
9047
9048<TTCN_TC:EXEC>
9049
9050if (dec_BER_PDU('0603040203'O) == myValue)
9051
9052
9053{setverdict(pass);} else {setverdict(fail);}
9054
9055
9056<RESULT>
9057
9058Overall 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
9073TempA
9074
9075DEFINITIONS ::=
9076BEGIN
9077BERPDU ::= OBJECT IDENTIFIER
9078
9079myValue BERPDU ::= {0 4 a(2) b(3)}
9080
9081END
9082
9083<STATIC>
9084
9085import from TempA all;
9086
9087external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9088
9089
9090<TTCN_TC:EXEC>
9091
9092if (dec_BER_PDU('0603040203'O) == myValue)
9093
9094
9095{setverdict(pass);} else {setverdict(fail);}
9096
9097
9098<RESULT>
9099
9100Overall 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
9115TempA
9116
9117DEFINITIONS ::=
9118BEGIN
9119BERPDU ::= OBJECT IDENTIFIER
9120
9121myValue BERPDU ::= {iso(1) standard(0) a(2) b(3)}
9122
9123END
9124
9125<STATIC>
9126
9127import from TempA all;
9128
9129external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9130
9131
9132<TTCN_TC:EXEC>
9133
9134if (dec_BER_PDU('0603280203'O) == myValue)
9135
9136
9137{setverdict(pass);} else {setverdict(fail);}
9138
9139
9140<RESULT>
9141
9142Overall 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
9157TempA
9158
9159DEFINITIONS ::=
9160BEGIN
9161BERPDU ::= OBJECT IDENTIFIER
9162
9163myValue BERPDU ::= {iso standard a(2) b(3)}
9164
9165END
9166
9167<STATIC>
9168
9169import from TempA all;
9170
9171external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9172
9173
9174<TTCN_TC:EXEC>
9175
9176if (dec_BER_PDU('0603280203'O) == myValue)
9177
9178
9179{setverdict(pass);} else {setverdict(fail);}
9180
9181
9182<RESULT>
9183
9184Overall 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
9199TempA
9200
9201DEFINITIONS ::=
9202BEGIN
9203BERPDU ::= OBJECT IDENTIFIER
9204
9205myValue BERPDU ::= {1 0 a(2) b(3)}
9206
9207END
9208
9209<STATIC>
9210
9211import from TempA all;
9212
9213external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9214
9215
9216<TTCN_TC:EXEC>
9217
9218if (dec_BER_PDU('0603280203'O) == myValue)
9219
9220
9221{setverdict(pass);} else {setverdict(fail);}
9222
9223
9224<RESULT>
9225
9226Overall 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
9241TempA
9242
9243DEFINITIONS ::=
9244BEGIN
9245BERPDU ::= OBJECT IDENTIFIER
9246
9247myValue BERPDU ::= {iso(1) member-body(2) a(2) b(3)}
9248
9249END
9250
9251<STATIC>
9252
9253import from TempA all;
9254
9255external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9256
9257
9258<TTCN_TC:EXEC>
9259
9260if (dec_BER_PDU('06032A0203'O) == myValue)
9261
9262
9263{setverdict(pass);} else {setverdict(fail);}
9264
9265
9266<RESULT>
9267
9268Overall 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
9283TempA
9284
9285DEFINITIONS ::=
9286BEGIN
9287BERPDU ::= OBJECT IDENTIFIER
9288
9289myValue BERPDU ::= {iso member-body a(2) b(3)}
9290
9291END
9292
9293<STATIC>
9294
9295import from TempA all;
9296
9297external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9298
9299
9300<TTCN_TC:EXEC>
9301
9302if (dec_BER_PDU('06032A0203'O) == myValue)
9303
9304
9305{setverdict(pass);} else {setverdict(fail);}
9306
9307
9308<RESULT>
9309
9310Overall 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
9325TempA
9326
9327DEFINITIONS ::=
9328BEGIN
9329BERPDU ::= OBJECT IDENTIFIER
9330
9331myValue BERPDU ::= {1 2 a(2) b(3)}
9332
9333END
9334
9335<STATIC>
9336
9337import from TempA all;
9338
9339external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9340
9341
9342<TTCN_TC:EXEC>
9343
9344if (dec_BER_PDU('06032A0203'O) == myValue)
9345
9346
9347{setverdict(pass);} else {setverdict(fail);}
9348
9349
9350<RESULT>
9351
9352Overall 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
9367TempA
9368
9369DEFINITIONS ::=
9370BEGIN
9371BERPDU ::= OBJECT IDENTIFIER
9372
9373myValue BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)}
9374
9375END
9376
9377<STATIC>
9378
9379import from TempA all;
9380
9381external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9382
9383
9384<TTCN_TC:EXEC>
9385
9386if (dec_BER_PDU('06032B0203'O) == myValue)
9387
9388
9389{setverdict(pass);} else {setverdict(fail);}
9390
9391
9392<RESULT>
9393
9394Overall 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
9409TempA
9410
9411DEFINITIONS ::=
9412BEGIN
9413BERPDU ::= OBJECT IDENTIFIER
9414
9415myValue BERPDU ::= {iso identified-organization a(2) b(3)}
9416
9417END
9418
9419<STATIC>
9420
9421import from TempA all;
9422
9423external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9424
9425
9426<TTCN_TC:EXEC>
9427
9428if (dec_BER_PDU('06032B0203'O) == myValue)
9429
9430
9431{setverdict(pass);} else {setverdict(fail);}
9432
9433
9434<RESULT>
9435
9436Overall 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
9451TempA
9452
9453DEFINITIONS ::=
9454BEGIN
9455BERPDU ::= OBJECT IDENTIFIER
9456
9457myValue BERPDU ::= {1 3 a(2) b(3)}
9458
9459END
9460
9461<STATIC>
9462
9463import from TempA all;
9464
9465external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9466
9467
9468<TTCN_TC:EXEC>
9469
9470if (dec_BER_PDU('06032B0203'O) == myValue)
9471
9472
9473{setverdict(pass);} else {setverdict(fail);}
9474
9475
9476<RESULT>
9477
9478Overall 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
9493TempA
9494
9495DEFINITIONS ::=
9496BEGIN
9497BERPDU ::= OBJECT IDENTIFIER
9498
9499myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)}
9500
9501END
9502
9503<STATIC>
9504
9505import from TempA all;
9506
9507external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9508
9509
9510<TTCN_TC:EXEC>
9511
9512if (dec_BER_PDU('0603500203'O) == myValue)
9513
9514
9515{setverdict(pass);} else {setverdict(fail);}
9516
9517
9518<RESULT>
9519
9520Overall 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
9535TempA
9536
9537DEFINITIONS ::=
9538BEGIN
9539BERPDU ::= OBJECT IDENTIFIER
9540
9541myValue BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)}
9542
9543
9544END
9545
9546<STATIC>
9547
9548import from TempA all;
9549
9550external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9551
9552
9553<TTCN_TC:EXEC>
9554
9555if (dec_BER_PDU('0603500203'O) == myValue)
9556
9557
9558{setverdict(pass);} else {setverdict(fail);}
9559
9560
9561<RESULT>
9562
9563Overall 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
9578TempA
9579
9580DEFINITIONS ::=
9581BEGIN
9582BERPDU ::= OBJECT IDENTIFIER
9583
9584myValue BERPDU ::= {2 0 a(2) b(3)}
9585
9586END
9587
9588<STATIC>
9589
9590import from TempA all;
9591
9592external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9593
9594
9595<TTCN_TC:EXEC>
9596
9597if (dec_BER_PDU('0603500203'O) == myValue)
9598
9599
9600{setverdict(pass);} else {setverdict(fail);}
9601
9602
9603<RESULT>
9604
9605Overall 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
9620TempA
9621
9622DEFINITIONS ::=
9623BEGIN
9624BERPDU ::= OBJECT IDENTIFIER
9625
9626myValue BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)}
9627
9628END
9629
9630<STATIC>
9631
9632import from TempA all;
9633
9634external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9635
9636
9637<TTCN_TC:EXEC>
9638
9639if (dec_BER_PDU('060481340203'O) == myValue)
9640
9641
9642{setverdict(pass);} else {setverdict(fail);}
9643
9644
9645<RESULT>
9646
9647Overall 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
9662TempA
9663
9664DEFINITIONS ::=
9665BEGIN
9666BERPDU ::= OBJECT IDENTIFIER
9667
9668myValue BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)}
9669
9670END
9671
9672<STATIC>
9673
9674import from TempA all;
9675
9676external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9677
9678
9679<TTCN_TC:EXEC>
9680
9681if (dec_BER_PDU('060481340203'O) == myValue)
9682
9683
9684{setverdict(pass);} else {setverdict(fail);}
9685
9686
9687<RESULT>
9688
9689Overall 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
9704TempA
9705
9706DEFINITIONS ::=
9707BEGIN
9708BERPDU ::= OBJECT IDENTIFIER
9709
9710myValue BERPDU ::= {2 100 a(2) b(3)}
9711
9712END
9713
9714<STATIC>
9715
9716import from TempA all;
9717
9718external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9719
9720
9721<TTCN_TC:EXEC>
9722
9723if (dec_BER_PDU('060481340203'O) == myValue)
9724
9725
9726{setverdict(pass);} else {setverdict(fail);}
9727
9728
9729<RESULT>
9730
9731Overall 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
9746TempA
9747
9748DEFINITIONS ::=
9749BEGIN
9750BERPDU ::= OBJECT IDENTIFIER
9751
9752myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 }
9753
9754END
9755
9756<STATIC>
9757
9758import from TempA all;
9759
9760external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9761
9762
9763<TTCN_TC:EXEC>
9764
9765if (dec_BER_PDU('06075002038F509F20'O) == myValue)
9766
9767
9768{setverdict(pass);} else {setverdict(fail);}
9769
9770
9771<RESULT>
9772
9773Overall 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
9788TempA
9789
9790DEFINITIONS ::=
9791BEGIN
9792BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER
9793
9794myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9795
9796END
9797
9798<STATIC>
9799
9800import from TempA all;
9801
9802external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9803
9804
9805<TTCN_TC:EXEC>
9806
9807if (dec_BER_PDU('8003000203'O) == myValue)
9808
9809
9810{setverdict(pass);} else {setverdict(fail);}
9811
9812
9813<RESULT>
9814
9815Overall 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
9830TempA
9831
9832DEFINITIONS ::=
9833BEGIN
9834BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9835
9836myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9837
9838END
9839
9840<STATIC>
9841
9842import from TempA all;
9843
9844external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9845
9846
9847<TTCN_TC:EXEC>
9848
9849if (dec_BER_PDU('A0050603000203'O) == myValue)
9850
9851
9852
9853{setverdict(pass);} else {setverdict(fail);}
9854
9855
9856<RESULT>
9857
9858Overall 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
9873TempA
9874
9875DEFINITIONS ::=
9876BEGIN
9877BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER
9878
9879myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)}
9880
9881END
9882
9883<STATIC>
9884
9885import from TempA all;
9886
9887external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
9888
9889
9890<TTCN_TC:EXEC>
9891
9892if (dec_BER_PDU('A08006030002030000'O) == myValue)
9893
9894{setverdict(pass);} else {setverdict(fail);}
9895
9896
9897<RESULT>
9898
9899Overall 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
9914TempA
9915
9916DEFINITIONS ::=
9917BEGIN
9918
9919
9920--***************************************************************************************************
9921--modified class taken from Gyuri ASN1
9922--***************************************************************************************************
9923MY-CLASS-1 ::= CLASS
9924{
9925&TypeField OPTIONAL,
9926&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
9927
9928}
9929WITH SYNTAX
9930{
9931[TYPE FIELD &TypeField]
9932[FIXED VALUE TYPE FIELD &fixedTypeValueField]
9933}
9934
9935ASN1-Type1 ::= INTEGER
9936
9937ASN1-Type2 ::= BOOLEAN
9938
9939ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
9940
9941ASN1-Type4 ::= OCTET STRING
9942
9943
9944--****************************************************************************************************
9945-- OBJECTS using the class defined above
9946--****************************************************************************************************
9947
9948
9949myObject-1 MY-CLASS-1 ::=
9950{
9951TYPE FIELD ASN1-Type3
9952FIXED VALUE TYPE FIELD 999
9953}
9954
9955
9956myObject-2 MY-CLASS-1 ::=
9957{
9958TYPE FIELD ASN1-Type2
9959FIXED VALUE TYPE FIELD 888
9960}
9961
9962myObject-3 MY-CLASS-1 ::=
9963{
9964TYPE FIELD ASN1-Type4
9965FIXED VALUE TYPE FIELD 555
9966}
9967
9968--****************************************************************************************************
9969-- Defining Information Object sets
9970--****************************************************************************************************
9971
9972MyInformationObjectSet1 MY-CLASS-1 ::=
9973{
9974myObject-1|
9975myObject-2,
9976...
9977}
9978
9979MyInformationObjectSet2 MY-CLASS-1 ::=
9980{
9981MyInformationObjectSet1|
9982myObject-3,
9983...
9984}
9985
9986BERPDU ::= SEQUENCE
9987
9988{
9989field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
9990field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
9991}
9992
9993
9994END
9995
9996<STATIC>
9997
9998import from TempA all;
9999external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10000external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10001
10002const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}},field2 := 999 };
10003
10004
10005<TTCN_TC:EXEC>
10006
10007if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10008
10009
10010<RESULT>
10011
10012Overall 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
10027TempA
10028
10029DEFINITIONS
10030
10031
10032::=
10033
10034BEGIN
10035
10036
10037--***************************************************************************************************
10038--modified class taken from Gyuri ASN1
10039--***************************************************************************************************
10040MY-CLASS-1 ::= CLASS
10041{
10042&TypeField OPTIONAL,
10043&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10044
10045}
10046WITH SYNTAX
10047{
10048[TYPE FIELD &TypeField]
10049[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10050}
10051
10052ASN1-Type1 ::= INTEGER
10053
10054ASN1-Type2 ::= BOOLEAN
10055
10056ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10057
10058ASN1-Type4 ::= OCTET STRING
10059
10060
10061--****************************************************************************************************
10062-- OBJECTS using the class defined above
10063--****************************************************************************************************
10064
10065
10066myObject-1 MY-CLASS-1 ::=
10067{
10068TYPE FIELD ASN1-Type3
10069FIXED VALUE TYPE FIELD 999
10070}
10071
10072
10073myObject-2 MY-CLASS-1 ::=
10074{
10075TYPE FIELD ASN1-Type2
10076FIXED VALUE TYPE FIELD 888
10077}
10078
10079myObject-3 MY-CLASS-1 ::=
10080{
10081TYPE FIELD ASN1-Type4
10082FIXED VALUE TYPE FIELD 555
10083}
10084
10085--****************************************************************************************************
10086-- Defining Information Object sets
10087--****************************************************************************************************
10088
10089MyInformationObjectSet1 MY-CLASS-1 ::=
10090{
10091myObject-1|
10092myObject-2,
10093...
10094}
10095
10096MyInformationObjectSet2 MY-CLASS-1 ::=
10097{
10098MyInformationObjectSet1|
10099myObject-3,
10100...
10101}
10102
10103
10104
10105BERPDU ::= SEQUENCE
10106
10107{
10108field1 myObject-1.&TypeField , -- type from object
10109field2 MY-CLASS-1.&fixedTypeValueField
10110}
10111
10112END
10113
10114
10115<STATIC>
10116
10117import from TempA all;
10118external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }
10119external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" }
10120
10121const BERPDU myValue := { field1 := {f1 := 8},field2 := 999 };
10122
10123
10124<TTCN_TC:EXEC>
10125
10126if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);}
10127
10128
10129<RESULT>
10130
10131Overall 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
10147TempA
10148
10149DEFINITIONS ::=
10150BEGIN
10151
10152
10153--***************************************************************************************************
10154--modified class taken from Gyuri ASN1
10155--***************************************************************************************************
10156MY-CLASS-1 ::= CLASS
10157{
10158&TypeField OPTIONAL,
10159&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10160
10161}
10162WITH SYNTAX
10163{
10164[TYPE FIELD &TypeField]
10165[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10166}
10167
10168ASN1-Type1 ::= INTEGER
10169
10170ASN1-Type2 ::= BOOLEAN
10171
10172ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10173
10174ASN1-Type4 ::= OCTET STRING
10175
10176
10177--****************************************************************************************************
10178-- OBJECTS using the class defined above
10179--****************************************************************************************************
10180
10181
10182myObject-1 MY-CLASS-1 ::=
10183{
10184TYPE FIELD ASN1-Type3
10185FIXED VALUE TYPE FIELD 999
10186}
10187
10188
10189myObject-2 MY-CLASS-1 ::=
10190{
10191TYPE FIELD ASN1-Type2
10192FIXED VALUE TYPE FIELD 888
10193}
10194
10195myObject-3 MY-CLASS-1 ::=
10196{
10197TYPE FIELD ASN1-Type4
10198FIXED VALUE TYPE FIELD 555
10199}
10200
10201--****************************************************************************************************
10202-- Defining Information Object sets
10203--****************************************************************************************************
10204
10205MyInformationObjectSet1 MY-CLASS-1 ::=
10206{
10207myObject-1|
10208myObject-2,
10209...
10210}
10211
10212MyInformationObjectSet2 MY-CLASS-1 ::=
10213{
10214MyInformationObjectSet1|
10215myObject-3,
10216...
10217}
10218
10219BERPDU ::= SEQUENCE
10220
10221{
10222field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10223field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10224}
10225
10226
10227END
10228<STATIC>
10229
10230import from TempA all;
10231
10232external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10233
10234const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10235
10236
10237<TTCN_TC:EXEC>
10238
10239if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10240
10241{setverdict(pass);} else {setverdict(fail);}
10242
10243
10244<RESULT>
10245
10246Overall 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
10262TempA
10263
10264DEFINITIONS ::=
10265BEGIN
10266
10267
10268--***************************************************************************************************
10269--modified class taken from Gyuri ASN1
10270--***************************************************************************************************
10271MY-CLASS-1 ::= CLASS
10272{
10273&TypeField OPTIONAL,
10274&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10275
10276}
10277WITH SYNTAX
10278{
10279[TYPE FIELD &TypeField]
10280[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10281}
10282
10283ASN1-Type1 ::= INTEGER
10284
10285ASN1-Type2 ::= BOOLEAN
10286
10287ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10288
10289ASN1-Type4 ::= OCTET STRING
10290
10291
10292--****************************************************************************************************
10293-- OBJECTS using the class defined above
10294--****************************************************************************************************
10295
10296
10297myObject-1 MY-CLASS-1 ::=
10298{
10299TYPE FIELD ASN1-Type3
10300FIXED VALUE TYPE FIELD 999
10301}
10302
10303
10304myObject-2 MY-CLASS-1 ::=
10305{
10306TYPE FIELD ASN1-Type2
10307FIXED VALUE TYPE FIELD 888
10308}
10309
10310myObject-3 MY-CLASS-1 ::=
10311{
10312TYPE FIELD ASN1-Type4
10313FIXED VALUE TYPE FIELD 555
10314}
10315
10316--****************************************************************************************************
10317-- Defining Information Object sets
10318--****************************************************************************************************
10319
10320MyInformationObjectSet1 MY-CLASS-1 ::=
10321{
10322myObject-1|
10323myObject-2,
10324...
10325}
10326
10327MyInformationObjectSet2 MY-CLASS-1 ::=
10328{
10329MyInformationObjectSet1|
10330myObject-3,
10331...
10332}
10333
10334BERPDU ::= SEQUENCE
10335
10336{
10337field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
10338field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
10339}
10340
10341
10342END
10343<STATIC>
10344
10345import from TempA all;
10346
10347external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10348
10349const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999};
10350
10351
10352<TTCN_TC:EXEC>
10353
10354if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10355
10356{setverdict(pass);} else {setverdict(fail);}
10357
10358
10359<RESULT>
10360
10361Overall 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
10377TempA
10378
10379DEFINITIONS
10380
10381
10382::=
10383
10384BEGIN
10385
10386
10387--***************************************************************************************************
10388--modified class taken from Gyuri ASN1
10389--***************************************************************************************************
10390MY-CLASS-1 ::= CLASS
10391{
10392&TypeField OPTIONAL,
10393&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10394
10395}
10396WITH SYNTAX
10397{
10398[TYPE FIELD &TypeField]
10399[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10400}
10401
10402ASN1-Type1 ::= INTEGER
10403
10404ASN1-Type2 ::= BOOLEAN
10405
10406ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10407
10408ASN1-Type4 ::= OCTET STRING
10409
10410
10411--****************************************************************************************************
10412-- OBJECTS using the class defined above
10413--****************************************************************************************************
10414
10415
10416myObject-1 MY-CLASS-1 ::=
10417{
10418TYPE FIELD ASN1-Type3
10419FIXED VALUE TYPE FIELD 999
10420}
10421
10422
10423myObject-2 MY-CLASS-1 ::=
10424{
10425TYPE FIELD ASN1-Type2
10426FIXED VALUE TYPE FIELD 888
10427}
10428
10429myObject-3 MY-CLASS-1 ::=
10430{
10431TYPE FIELD ASN1-Type4
10432FIXED VALUE TYPE FIELD 555
10433}
10434
10435--****************************************************************************************************
10436-- Defining Information Object sets
10437--****************************************************************************************************
10438
10439MyInformationObjectSet1 MY-CLASS-1 ::=
10440{
10441myObject-1|
10442myObject-2,
10443...
10444}
10445
10446MyInformationObjectSet2 MY-CLASS-1 ::=
10447{
10448MyInformationObjectSet1|
10449myObject-3,
10450...
10451}
10452
10453
10454
10455BERPDU ::= SEQUENCE
10456
10457{
10458field1 myObject-1.&TypeField , -- type from object
10459field2 MY-CLASS-1.&fixedTypeValueField
10460}
10461
10462END
10463
10464<STATIC>
10465
10466import from TempA all;
10467
10468external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10469
10470const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10471
10472
10473<TTCN_TC:EXEC>
10474
10475if (dec_BER_PDU('30093003020108020203E7'O) == myValue)
10476
10477{setverdict(pass);} else {setverdict(fail);}
10478
10479
10480<RESULT>
10481
10482Overall 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
10498TempA
10499
10500DEFINITIONS
10501
10502
10503::=
10504
10505BEGIN
10506
10507
10508--***************************************************************************************************
10509--modified class taken from Gyuri ASN1
10510--***************************************************************************************************
10511MY-CLASS-1 ::= CLASS
10512{
10513&TypeField OPTIONAL,
10514&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
10515
10516}
10517WITH SYNTAX
10518{
10519[TYPE FIELD &TypeField]
10520[FIXED VALUE TYPE FIELD &fixedTypeValueField]
10521}
10522
10523ASN1-Type1 ::= INTEGER
10524
10525ASN1-Type2 ::= BOOLEAN
10526
10527ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
10528
10529ASN1-Type4 ::= OCTET STRING
10530
10531
10532--****************************************************************************************************
10533-- OBJECTS using the class defined above
10534--****************************************************************************************************
10535
10536
10537myObject-1 MY-CLASS-1 ::=
10538{
10539TYPE FIELD ASN1-Type3
10540FIXED VALUE TYPE FIELD 999
10541}
10542
10543
10544myObject-2 MY-CLASS-1 ::=
10545{
10546TYPE FIELD ASN1-Type2
10547FIXED VALUE TYPE FIELD 888
10548}
10549
10550myObject-3 MY-CLASS-1 ::=
10551{
10552TYPE FIELD ASN1-Type4
10553FIXED VALUE TYPE FIELD 555
10554}
10555
10556--****************************************************************************************************
10557-- Defining Information Object sets
10558--****************************************************************************************************
10559
10560MyInformationObjectSet1 MY-CLASS-1 ::=
10561{
10562myObject-1|
10563myObject-2,
10564...
10565}
10566
10567MyInformationObjectSet2 MY-CLASS-1 ::=
10568{
10569MyInformationObjectSet1|
10570myObject-3,
10571...
10572}
10573
10574
10575
10576BERPDU ::= SEQUENCE
10577
10578{
10579field1 myObject-1.&TypeField , -- type from object
10580field2 MY-CLASS-1.&fixedTypeValueField
10581}
10582
10583END
10584
10585<STATIC>
10586
10587import from TempA all;
10588
10589external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" }
10590
10591const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999};
10592
10593
10594<TTCN_TC:EXEC>
10595
10596if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue)
10597
10598{setverdict(pass);} else {setverdict(fail);}
10599
10600
10601<RESULT>
10602
10603Overall 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
10621TempA DEFINITIONS AUTOMATIC TAGS ::=
10622BEGIN
10623
10624BERPDU ::= INTEGER
10625bi1 BERPDU ::= 5
10626bi2 BERPDU ::= 0
10627bi3 BERPDU ::= 127
10628bi4 BERPDU ::= -128
10629bi5 BERPDU ::= -5
10630bi-6 BERPDU ::= 128
10631bi7 BERPDU ::= -129
10632
10633BERPDU2 ::= REAL
10634--b BERPDU2 ::= 12345678900
10635
10636Rec-ber ::= SEQUENCE {
10637 int1 Number,
10638 int2 Number
10639}
10640Rec-ber-literal ::= SEQUENCE {
10641 int1 NumberLit,
10642 int2 NumberLit
10643}
10644Number ::= INTEGER
10645NumberLit ::= NumericString (SIZE (100))
10646myNumber Number ::= 12345678910111213141516
10647
10648END
10649
10650<STATIC>
10651
10652import from TempA language "ASN.1:1997" all
10653
10654external function enc_ber1(in Rec_ber r) return octetstring
10655 with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10656external function dec_ber1(in octetstring r) return Rec_ber
10657 with { extension "decode(BER:BER_ACCEPT_ALL) prototype(convert) errorbehavior(ALL:WARNING)" }
10658external 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.
10661external function dec_ber2(in octetstring r) return integer
10662 with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
10663external 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
10666type 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
10759Overall verdict: pass
10760
10761<END_TC>
10762
10763:exmp.
10764
10765.*---------------------------------------------------------------------*
10766:h2.Purpose
10767.*---------------------------------------------------------------------*
10768Negative 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
10782TempA
10783DEFINITIONS
10784AUTOMATIC TAGS
10785::=
10786BEGIN
10787
10788IMPORTS; -- nothing
10789
10790BERPDU ::= REAL
10791
10792END
10793
10794<STATIC>
10795
10796type float BERPDU;
10797
10798external 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
10802const octetstring der_encoded := '090D0133313431353932362E452D37'O;
10803const BERPDU myValue := 3.1415926;
10804
10805<TTCN_TC:EXEC>
10806
10807var BERPDU der_decoded, cer_decoded;
10808
10809dec_BER_PDU(der_encoded, der_decoded);
10810if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10811
10812<RESULT>
10813
10814Dynamic 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
10830TempA
10831DEFINITIONS
10832AUTOMATIC TAGS
10833::=
10834BEGIN
10835
10836IMPORTS; -- nothing
10837
10838BERPDU ::= REAL
10839
10840END
10841
10842<STATIC>
10843
10844type float BERPDU;
10845
10846external 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
10850const octetstring der_encoded := '090D0233313431353932362E452D37'O;
10851const BERPDU myValue := 3.1415926;
10852
10853<TTCN_TC:EXEC>
10854
10855var BERPDU der_decoded, cer_decoded;
10856
10857dec_BER_PDU(der_encoded, der_decoded);
10858if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10859
10860<RESULT>
10861
10862Dynamic 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
10877TempA
10878DEFINITIONS
10879AUTOMATIC TAGS
10880::=
10881BEGIN
10882
10883IMPORTS; -- nothing
10884
10885BERPDU ::= REAL
10886
10887END
10888
10889<STATIC>
10890
10891type float BERPDU;
10892
10893external 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
10897const octetstring der_encoded := '090D2033313431353932362E452D37'O;
10898const BERPDU myValue := 3.1415926;
10899
10900<TTCN_TC:EXEC>
10901
10902var BERPDU der_decoded, cer_decoded;
10903
10904dec_BER_PDU(der_encoded, der_decoded);
10905if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10906
10907<RESULT>
10908
10909Dynamic 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
10925TempA
10926DEFINITIONS
10927AUTOMATIC TAGS
10928::=
10929BEGIN
10930
10931IMPORTS; -- nothing
10932
10933BERPDU ::= REAL
10934
10935END
10936
10937<STATIC>
10938
10939type float BERPDU;
10940
10941external 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
10945const octetstring der_encoded := '090D0033313431353932362E452D37'O;
10946const BERPDU myValue := 3.1415926;
10947
10948<TTCN_TC:EXEC>
10949
10950var BERPDU der_decoded, cer_decoded;
10951
10952dec_BER_PDU(der_encoded, der_decoded);
10953if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
10954
10955<RESULT>
10956
10957Dynamic 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
10973TempA
10974DEFINITIONS
10975AUTOMATIC TAGS
10976::=
10977BEGIN
10978
10979IMPORTS; -- nothing
10980
10981BERPDU ::= REAL
10982
10983END
10984
10985<STATIC>
10986
10987type float BERPDU;
10988
10989external 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
10993const octetstring der_encoded := '090D0433313431353932362E452D37'O;
10994const BERPDU myValue := 3.1415926;
10995
10996<TTCN_TC:EXEC>
10997
10998var BERPDU der_decoded, cer_decoded;
10999
11000dec_BER_PDU(der_encoded, der_decoded);
11001if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);}
11002
11003<RESULT>
11004
11005Dynamic 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>
11019TempA DEFINITIONS ::=
11020BEGIN
11021
11022MY-CLASS-1 ::= CLASS
11023{
11024&TypeField OPTIONAL,
11025&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
11026
11027}
11028WITH SYNTAX
11029{
11030[TYPE FIELD &TypeField]
11031[FIXED VALUE TYPE FIELD &fixedTypeValueField]
11032}
11033
11034ASN1-Type1 ::= INTEGER
11035
11036ASN1-Type2 ::= BOOLEAN
11037
11038ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
11039
11040ASN1-Type4 ::= OCTET STRING
11041
11042myObject-1 MY-CLASS-1 ::=
11043{
11044TYPE FIELD ASN1-Type3
11045FIXED VALUE TYPE FIELD 999
11046}
11047
11048myObject-2 MY-CLASS-1 ::=
11049{
11050TYPE FIELD ASN1-Type2
11051FIXED VALUE TYPE FIELD 888
11052}
11053
11054myObject-3 MY-CLASS-1 ::=
11055{
11056TYPE FIELD ASN1-Type4
11057FIXED VALUE TYPE FIELD 555
11058}
11059
11060MyInformationObjectSet1 MY-CLASS-1 ::=
11061{
11062myObject-1|myObject-2,
11063...
11064}
11065
11066MyInformationObjectSet2 MY-CLASS-1 ::=
11067{
11068MyInformationObjectSet1|myObject-3,
11069...
11070}
11071
11072BERPDU ::= SEQUENCE
11073{
11074field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
11075field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
11076}
11077
11078END
11079<STATIC>
11080// Test for memory leak problem in BER decoder: HO73756.
11081import from TempA all;
11082
11083external function dec_backtrack(in octetstring stream, out BERPDU outpdu) return integer with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" }
11084
11085type component empty {
11086 var BERPDU mypdu
11087}
11088
11089<TTCN_TC:PURE_EXEC>
11090
11091testcase mytc() runs on empty {
11092 dec_backtrack('30093003020108020203E7'O, mypdu)
11093 dec_backtrack('30093003020108020203E7'O, mypdu)
11094 setverdict(pass)
11095}
11096
11097control {
11098 execute(mytc())
11099}
11100
11101<RESULT>
11102
11103Overall 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.422081 seconds and 5 git commands to generate.