Newer
Older
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
34015
34016
34017
34018
34019
34020
34021
34022
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
34038
34039
34040
34041
34042
34043
34044
34045
34046
34047
34048
34049
34050
34051
34052
34053
34054
34055
34056
34057
34058
34059
34060
34061
34062
34063
34064
34065
34066
34067
34068
34069
34070
34071
34072
34073
34074
34075
34076
34077
34078
34079
34080
34081
34082
34083
34084
34085
34086
34087
34088
34089
34090
34091
34092
34093
34094
34095
34096
34097
34098
34099
34100
34101
34102
34103
34104
34105
34106
34107
34108
34109
34110
34111
34112
34113
34114
34115
34116
34117
34118
34119
34120
34121
34122
34123
34124
34125
34126
34127
34128
34129
34130
34131
34132
34133
34134
34135
34136
34137
34138
34139
34140
34141
34142
34143
34144
34145
34146
34147
34148
34149
34150
34151
34152
34153
34154
34155
34156
34157
34158
34159
34160
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
34184
34185
34186
34187
34188
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221
34222
34223
34224
34225
34226
34227
34228
34229
34230
34231
34232
34233
34234
34235
34236
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
34285
34286
34287
34288
34289
34290
34291
34292
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
34308
34309
34310
34311
34312
34313
34314
34315
34316
34317
34318
34319
34320
34321
34322
34323
34324
34325
34326
34327
34328
34329
34330
34331
34332
34333
34334
34335
34336
34337
34338
34339
34340
34341
34342
34343
34344
34345
34346
34347
34348
34349
34350
34351
34352
34353
34354
34355
34356
34357
34358
34359
34360
34361
34362
34363
34364
34365
34366
34367
34368
34369
34370
34371
34372
34373
34374
34375
34376
34377
34378
34379
34380
34381
34382
34383
34384
34385
34386
34387
34388
34389
34390
34391
34392
34393
34394
34395
34396
34397
34398
34399
34400
34401
34402
34403
34404
34405
34406
34407
34408
34409
34410
34411
34412
34413
34414
34415
34416
34417
34418
34419
34420
34421
34422
34423
34424
34425
34426
34427
34428
34429
34430
34431
34432
34433
34434
34435
34436
34437
34438
34439
34440
34441
34442
34443
34444
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454
34455
34456
34457
34458
34459
34460
34461
34462
34463
34464
34465
34466
34467
34468
34469
34470
34471
34472
34473
34474
34475
34476
34477
34478
34479
34480
34481
34482
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
34498
34499
34500
34501
34502
34503
34504
34505
34506
34507
34508
34509
34510
34511
34512
34513
34514
34515
34516
34517
34518
34519
34520
34521
34522
34523
34524
34525
34526
34527
34528
34529
34530
34531
34532
34533
34534
34535
34536
34537
34538
34539
34540
34541
34542
34543
34544
34545
34546
34547
34548
34549
34550
34551
34552
34553
34554
34555
34556
34557
34558
34559
34560
34561
34562
34563
34564
34565
34566
34567
34568
34569
34570
34571
34572
34573
34574
34575
34576
34577
34578
34579
34580
34581
34582
34583
34584
34585
34586
34587
34588
34589
34590
34591
34592
34593
34594
34595
34596
34597
34598
34599
34600
34601
34602
34603
34604
34605
34606
34607
34608
34609
34610
34611
34612
34613
34614
34615
34616
34617
34618
34619
34620
34621
34622
34623
34624
34625
34626
34627
34628
34629
34630
34631
34632
34633
34634
34635
34636
34637
34638
34639
34640
34641
34642
34643
34644
34645
34646
34647
34648
34649
34650
34651
34652
34653
34654
34655
34656
34657
34658
34659
34660
34661
34662
34663
34664
34665
34666
34667
34668
34669
34670
34671
34672
34673
34674
34675
34676
34677
34678
34679
34680
34681
34682
34683
34684
34685
34686
34687
34688
34689
34690
34691
34692
34693
34694
34695
34696
34697
34698
34699
34700
34701
34702
34703
34704
34705
34706
34707
34708
34709
34710
34711
34712
34713
34714
34715
34716
34717
34718
34719
34720
34721
34722
34723
34724
34725
34726
34727
34728
34729
34730
34731
34732
34733
34734
34735
34736
34737
34738
34739
34740
34741
34742
34743
34744
34745
34746
34747
34748
34749
34750
34751
34752
34753
34754
34755
34756
34757
34758
34759
34760
34761
34762
34763
34764
34765
34766
34767
34768
34769
34770
34771
34772
34773
34774
34775
34776
34777
34778
34779
34780
34781
34782
34783
34784
34785
34786
34787
34788
34789
34790
34791
34792
34793
34794
34795
34796
34797
34798
34799
34800
34801
34802
34803
34804
34805
34806
34807
34808
34809
34810
34811
34812
34813
34814
34815
34816
34817
34818
34819
34820
34821
34822
34823
34824
34825
34826
34827
34828
34829
34830
34831
34832
34833
34834
34835
34836
34837
34838
34839
34840
34841
34842
34843
34844
34845
34846
34847
34848
34849
34850
34851
34852
34853
34854
34855
34856
34857
34858
34859
34860
34861
34862
34863
34864
34865
34866
34867
34868
34869
34870
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880
34881
34882
34883
34884
34885
34886
34887
34888
34889
34890
34891
34892
34893
34894
34895
34896
34897
34898
34899
34900
34901
34902
34903
34904
34905
34906
34907
34908
34909
34910
34911
34912
34913
34914
34915
34916
34917
34918
34919
34920
34921
34922
34923
34924
34925
34926
34927
34928
34929
34930
34931
34932
34933
34934
34935
34936
34937
34938
34939
34940
34941
34942
34943
34944
34945
34946
34947
34948
34949
34950
34951
34952
34953
34954
34955
34956
34957
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967
34968
34969
34970
34971
34972
34973
34974
34975
34976
34977
34978
34979
34980
34981
34982
34983
34984
34985
34986
34987
34988
34989
34990
34991
34992
34993
34994
34995
34996
34997
34998
34999
35000
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields['signer_info']
+ * and containing signer
+ * containing type
+ * indicating 'certificate'
+ * and containing certificate (CERT_TS_08_09_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'polygon'
+ * containing polygonal_region
+ * indicating POLYGON_REGION_AT
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_08_08_BO_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'polygon'
+ * and containing polygonal_region
+ * indicating POLYGON_REGION_AA_INTERSECT
+ * including partialy POLYGON_REGION_AT
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_08_09_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_08_09_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_POLYGONAL_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_POLYGONAL_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_taCert0809_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_08_09_BO
+
+ /**
+ * @desc Check that the IUT accepts a message when its signing certificate contains the identified region validity restriction with the same identified region as the issuing certificate and without local area definition
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_01_BV_AT
+ * and the IUT current location is inside the ID_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_09_01_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * 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 region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_01_BV
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0901_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_09_01_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when its signing certificate contains the identified region validity restriction with the same identified region as the issuing certificate and with local area definition
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_02_BV_AT
+ * and the IUT current location is inside the ID_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_09_02_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating ID_LOCAL_REGION_1
+ * 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 region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_02_BV
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0902_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_09_02_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when its signing certificate contains the identified region validity restriction fully containing in the circular validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_03_BV_AT
+ * and the IUT current location is inside the ID_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_09_03_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_09_03_BV_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'circle'
+ * and containing circular_region
+ * fully covering ID_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_03_BV
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0903_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_09_03_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the polygonal 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_IDENTIFIED_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_09_04_BV_AT
+ * and the IUT current location is inside the ID_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_09_04_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_E_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'rectangle'
+ * and containing rectangular_region[0]
+ * fully covering ID_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_04_BV
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0904_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_09_04_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of this message contains the polygonal 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_IDENTIFIED_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_09_05_BV_AT
+ * and the IUT current location is inside the ID_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_09_05_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_E_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'polygon'
+ * and containing polygonal_region
+ * fully covering ID_REGION_AT
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_05_BV
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0905_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_09_05_BV
+
+ /**
+ * @desc Check that the IUT accepts a message when the signing certificate of the message contains the identified region validity restriction with the identified region which is fully covered by the identified region of the validity restriction of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_06_BV_AT
+ * and the IUT current location is inside the ID_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_09_06_BV_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * 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 'un_stats'
+ * and containing region_identifier
+ * indicating ID_REGION_AA_UNSTATS
+ * which includes ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * } then {
+ * the IUT accepts the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_06_BV
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_06_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0906_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_09_06_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 identified region validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_07_BO_AT
+ * and the IUT current location is inside the ID_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_09_07_BO_AT)
+ * not containing validity_restrictions['region']
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_E_AA
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_07_BO
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0907_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_09_07_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the signing certificate and its issuing certificate are both containing the identified region validity restrictions with the same region id but different local regions
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_08_BO_AT
+ * and the IUT current location is inside the ID_REGION_AA, local region 1
+ * }
+ * 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_09_08_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating ID_LOCAL_REGION_1
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_09_08_BO_AA
+ * containing validity_restrictions['region']
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AA
+ * and containing local_region
+ * indicating ID_LOCAL_REGION_2
+ * not equal to ID_LOCAL_REGION_1
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_08_BO
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0908_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_09_08_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the identified region of the validity restriction of its signing certificate is different and not fully covered by the one in the issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_09_BO_AT
+ * and the IUT current location is inside the ID_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_09_09_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_09_09_BO_AA
+ * containing validity_restrictions['region']
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AA_OTHER
+ * other than ID_REGION_AT
+ * and containing local_region
+ * indicating 0
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_09_BO
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_09_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0909_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_09_09_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the identified region validity restriction of its signing certificate contains unknown area code
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_10_BO_AT
+ * and the IUT current location is inside the ID_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_09_10_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_UNKNOWN
+ * and containing local_region
+ * indicating 0
+ * and containing signer_info.digest
+ * referencing to a CERT_TS_A_AA
+ * not containing validity_restrictions['region']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_09_10_BO
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_10_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_IDENTIFIED_REGION)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_taCert0910_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_09_10_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the validity restriction of its signing certificate contains the identified region of type iso-3166-1 but region code is from the UN-Stats dictionary
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY and PICS_USE_IDENTIFIED_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_09_11_BO_AT
+ * and the IUT current location is inside the ID_REGION_AA_UNSTATS
+ * }
+ * 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_09_11_BO_AT)
+ * containing validity_restrictions['region']
+ * containing region_type
+ * indicating 'id'
+ * and containing id_region
+ * containing region_dictionary
+ * indicating 'iso_3166_1'
+ * and containing region_identifier
+ * indicating ID_REGION_AA_UNSTATS