Newer
Older
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
32413
32414
32415
32416
32417
32418
32419
32420
32421
32422
32423
32424
32425
32426
32427
32428
32429
32430
32431
32432
32433
32434
32435
32436
32437
32438
32439
32440
32441
32442
32443
32444
32445
32446
32447
32448
32449
32450
32451
32452
32453
32454
32455
32456
32457
32458
32459
32460
32461
32462
32463
32464
32465
32466
32467
32468
32469
32470
32471
32472
32473
32474
32475
32476
32477
32478
32479
32480
32481
32482
32483
32484
32485
32486
32487
32488
32489
32490
32491
32492
32493
32494
32495
32496
32497
32498
32499
32500
32501
32502
32503
32504
32505
32506
32507
32508
32509
32510
32511
32512
32513
32514
32515
32516
32517
32518
32519
32520
32521
32522
32523
32524
32525
32526
32527
32528
32529
32530
32531
32532
32533
32534
32535
32536
32537
32538
32539
32540
32541
32542
32543
32544
32545
32546
32547
32548
32549
32550
32551
32552
32553
32554
32555
32556
32557
32558
32559
32560
32561
32562
32563
32564
32565
32566
32567
32568
32569
32570
32571
32572
32573
32574
32575
32576
32577
32578
32579
32580
32581
32582
32583
32584
32585
32586
32587
32588
32589
32590
32591
32592
32593
32594
32595
32596
32597
32598
32599
32600
32601
32602
32603
32604
32605
32606
32607
32608
32609
32610
32611
32612
32613
32614
32615
32616
32617
32618
32619
32620
32621
32622
32623
32624
32625
32626
32627
32628
32629
32630
32631
32632
32633
32634
32635
32636
32637
32638
32639
32640
32641
32642
32643
32644
32645
32646
32647
32648
32649
32650
32651
32652
32653
32654
32655
32656
32657
32658
32659
32660
32661
32662
32663
32664
32665
32666
32667
32668
32669
32670
32671
32672
32673
32674
32675
32676
32677
32678
32679
32680
32681
32682
32683
32684
32685
32686
32687
32688
32689
32690
32691
32692
32693
32694
32695
32696
32697
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
32713
32714
32715
32716
32717
32718
32719
32720
32721
32722
32723
32724
32725
32726
32727
32728
32729
32730
32731
32732
32733
32734
32735
32736
32737
32738
32739
32740
32741
32742
32743
32744
32745
32746
32747
32748
32749
32750
32751
32752
32753
32754
32755
32756
32757
32758
32759
32760
32761
32762
32763
32764
32765
32766
32767
32768
32769
32770
32771
32772
32773
32774
32775
32776
32777
32778
32779
32780
32781
32782
32783
32784
32785
32786
32787
32788
32789
32790
32791
32792
32793
32794
32795
32796
32797
32798
32799
32800
32801
32802
32803
32804
32805
32806
32807
32808
32809
32810
32811
32812
32813
32814
32815
32816
32817
32818
32819
32820
32821
32822
32823
32824
32825
32826
32827
32828
32829
32830
32831
32832
32833
32834
32835
32836
32837
32838
32839
32840
32841
32842
32843
32844
32845
32846
32847
32848
32849
32850
32851
32852
32853
32854
32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
32865
32866
32867
32868
32869
32870
32871
32872
32873
32874
32875
32876
32877
32878
32879
32880
32881
32882
32883
32884
32885
32886
32887
32888
32889
32890
32891
32892
32893
32894
32895
32896
32897
32898
32899
32900
32901
32902
32903
32904
32905
32906
32907
32908
32909
32910
32911
32912
32913
32914
32915
32916
32917
32918
32919
32920
32921
32922
32923
32924
32925
32926
32927
32928
32929
32930
32931
32932
32933
32934
32935
32936
32937
32938
32939
32940
32941
32942
32943
32944
32945
32946
32947
32948
32949
32950
32951
32952
32953
32954
32955
32956
32957
32958
32959
32960
32961
32962
32963
32964
32965
32966
32967
32968
32969
32970
32971
32972
32973
32974
32975
32976
32977
32978
32979
32980
32981
32982
32983
32984
32985
32986
32987
32988
32989
32990
32991
32992
32993
32994
32995
32996
32997
32998
32999
33000
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0601_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_01_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the circular region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_06_02_BV_AT
+ * and the IUT current location is inside the CURCULAR_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_06_02_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_B_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * and containing circular_region
+ * indicating CURCULAR_REGION_AA
+ * fully covering CURCULAR_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_06_02_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_06_02_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_RECTANGULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0602_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_02_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the rectangular region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_06_03_BV_AT
+ * and the IUT current location is inside the CURCULAR_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_06_03_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_C_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * and containing rectangular_region[0]
+ * indicating RECT_REGION_AA
+ * fully covering CURCULAR_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_06_03_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_06_03_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_RECTANGULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0603_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_03_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the polygonal region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_06_04_BV_AT
+ * and the IUT current location is inside the CURCULAR_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_06_04_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_D_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'polygon'
+ * and containing polygonal_region
+ * indicating POLYGON_REGION_AA
+ * fully covering CURCULAR_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_06_04_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_06_04_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_RECTANGULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0604_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_04_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the circular region validity restriction which is fully inside in the identified region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_06_05_BV_AT
+ * and the IUT current location is inside the CURCULAR_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_06_05_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_E_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing local_region
+ * indicating 0
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * fully covering CURCULAR_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_06_05_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_06_05_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_RECTANGULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0605_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_05_BV
+
+ /**
+ * @desc Check that the IUT discards a message when the signing certificate of this message does not contain the region validity restriction but its issuing certificate contains the circular region validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_06_06_BO_AT
+ * and the IUT current location is inside the CURCULAR_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_06_06_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_B_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * and containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_06_06_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_06_06_BO() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_RECTANGULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0606_BO, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": FAIL: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+ else {
+ log("*** " & testcasename() & ": PASS: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_06_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the signing certificate of this message contains circular region validity restriction which is outside of the circular region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_06_07_BO_AT
+ * and the IUT current location is inside the CURCULAR_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_06_07_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_06_07_BO_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * and containing circular_region
+ * indicating CURCULAR_REGION_AA_OUTSIDE
+ * not including CURCULAR_REGION_AT
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_06_07_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_06_07_BO() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_RECTANGULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0607_BO, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": FAIL: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+ else {
+ log("*** " & testcasename() & ": PASS: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_07_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the signing certificate of this message contains circular region validity restriction which is not fully covered by the the circular region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_06_08_BO_AT
+ * and the IUT current location is inside the CURCULAR_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_06_08_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * containing circular_region
+ * indicating CURCULAR_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_06_08_BO_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * and containing circular_region
+ * indicating CURCULAR_REGION_AA_INTERSECT
+ * including partially CURCULAR_REGION_AT
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_06_08_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_06_08_BO() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_RECTANGULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_RECTANGULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0608_BO, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": FAIL: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+ else {
+ log("*** " & testcasename() & ": PASS: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_06_08_BO
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the same rectangular region validity restriction as its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_07_01_BV_AT
+ * and the IUT current location is inside the RECT_REGION_AA
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_07_01_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * containing rectangular_region[0]
+ * indicating RECT_REGION_AA
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_C_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * and containing rectangular_region[0]
+ * indicating RECT_REGION_AA
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_07_01_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_07_01_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_CIRCULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0701_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_07_01_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the rectangular region validity restriction which is fully inside in the circular region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_07_02_BV_AT
+ * and the IUT current location is inside the RECT_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_07_02_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * containing rectangular_region[0]
+ * indicating RECT_REGION_AA
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_B_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * and containing circular_region
+ * indicating CURCULAR_REGION_AA
+ fully covering the RECT_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_07_02_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_07_02_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_CIRCULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0702_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_07_02_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the validity restriction with rectangular region which is fully inside in the rectangular region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_07_03_BV_AT
+ * and the IUT current location is inside the RECT_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_07_03_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * containing rectangular_region[0]
+ * indicating RECT_REGION_AA
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_B_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * and containing rectangular_region
+ * indicating RECT_REGION_AA
+ fully covering RECT_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_07_03_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_07_03_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_CIRCULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0703_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_07_03_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the rectangular region validity restriction which is fully inside in the polygonal region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_07_04_BV_AT
+ * and the IUT current location is inside the RECT_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_07_04_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * containing rectangular_region[0]
+ * indicating RECT_REGION_AA
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_D_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'polygon'
+ * and containing polygonal_region
+ * indicating POLYGON_REGION_AA
+ fully covering RECT_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_07_04_BV
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_07_04_BV() runs on ItsGeoNetworking system ItsSecSystem {
+
+ // Local variables
+ var integer i;
+ var GeoNetworkingPdu v_securedGnPdu;
+ var GnRawPayload v_sentRawPayload;
+
+ // Test adapter configuration
+ if (not(PICS_GN_SECURITY) or not(PICS_USE_CIRCULAR_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION' required for executing the TC ***");
+ stop;
+ }
+
+ // Test component configuration
+ f_cf01Up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_prNeighbour();
+ f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
+
+ // Test Body
+ v_securedGnPdu := f_sendSecuredCam(cc_taCert0704_BV, omit, e_certificate);
+
+ f_sleep(PX_TNOAC);
+ v_sentRawPayload := f_adaptPayloadForUtInd_m(v_securedGnPdu.gnPacket.packet.payload);
+ for (i := 0; i < lengthof(vc_utInds) and not match(vc_utInds[i].rawPayload, v_sentRawPayload); i := i + 1) {
+ // Empty on purpose
+ }
+ if (i < lengthof(vc_utInds)) {
+ log("*** " & testcasename() & ": PASS: GN was transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
+ }
+ else {
+ log("*** " & testcasename() & ": FAIL: GN was not transmitted to upper layer ***");
+ f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
+ }
+
+ // Postamble
+ f_poNeighbour();
+ f_cf01Down();
+ } // End of testcase TC_SEC_ITSS_RCV_CERT_07_04_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the rectangular region validity restriction which is fully inside in the identified region validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_CIRCULAR_REGION
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is inside the time validity period of CERT_TS_07_05_BV_AT
+ * and the IUT current location is inside the RECT_REGION_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_07_05_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * containing rectangular_region[0]
+ * indicating RECT_REGION_AA
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_E_AA
+ * containing validity_restrictions['region']
+ * containing region_type