Newer
Older
35001
35002
35003
35004
35005
35006
35007
35008
35009
35010
35011
35012
35013
35014
35015
35016
35017
35018
35019
35020
35021
35022
35023
35024
35025
35026
35027
35028
35029
35030
35031
35032
35033
35034
35035
35036
35037
35038
35039
35040
35041
35042
35043
35044
35045
35046
35047
35048
35049
35050
35051
35052
35053
35054
35055
35056
35057
35058
35059
35060
35061
35062
35063
35064
35065
35066
35067
35068
35069
35070
35071
35072
35073
35074
35075
35076
35077
35078
35079
35080
35081
35082
35083
35084
35085
35086
35087
35088
35089
35090
35091
35092
35093
35094
35095
35096
35097
35098
35099
35100
35101
35102
35103
35104
35105
35106
35107
35108
35109
35110
35111
35112
35113
35114
35115
35116
35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
35136
35137
35138
35139
35140
35141
35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
35157
35158
35159
35160
35161
35162
35163
35164
35165
35166
35167
35168
35169
35170
35171
35172
35173
35174
35175
35176
35177
35178
35179
35180
35181
35182
35183
35184
35185
35186
35187
35188
35189
35190
35191
35192
35193
35194
35195
35196
35197
35198
35199
35200
35201
35202
35203
35204
35205
35206
35207
35208
35209
35210
35211
35212
35213
35214
35215
35216
35217
35218
35219
35220
35221
35222
35223
35224
35225
35226
35227
35228
35229
35230
35231
35232
35233
35234
35235
35236
35237
35238
35239
35240
35241
35242
35243
35244
35245
35246
35247
35248
35249
35250
35251
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261
35262
35263
35264
35265
35266
35267
35268
35269
35270
35271
35272
35273
35274
35275
35276
35277
35278
35279
35280
35281
35282
35283
35284
35285
35286
35287
35288
35289
35290
35291
35292
35293
35294
35295
35296
35297
35298
35299
35300
35301
35302
35303
35304
35305
35306
35307
35308
35309
35310
35311
35312
35313
35314
35315
35316
35317
35318
35319
35320
35321
35322
35323
35324
35325
35326
35327
35328
35329
35330
35331
35332
35333
35334
35335
35336
35337
35338
35339
35340
35341
35342
35343
35344
35345
35346
35347
35348
35349
35350
35351
35352
35353
35354
35355
35356
35357
35358
35359
35360
35361
35362
35363
35364
35365
35366
35367
35368
35369
35370
35371
35372
35373
35374
35375
35376
35377
35378
35379
35380
35381
35382
35383
35384
35385
35386
35387
35388
35389
35390
35391
35392
35393
35394
35395
35396
35397
35398
35399
35400
35401
35402
35403
35404
35405
35406
35407
35408
35409
35410
35411
35412
35413
35414
35415
35416
35417
35418
35419
35420
35421
35422
35423
35424
35425
35426
35427
35428
35429
35430
35431
35432
35433
35434
35435
35436
35437
35438
35439
35440
35441
35442
35443
35444
35445
35446
35447
35448
35449
35450
35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
35476
35477
35478
35479
35480
35481
35482
35483
35484
35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
35500
35501
35502
35503
35504
35505
35506
35507
35508
35509
35510
35511
35512
35513
35514
35515
35516
35517
35518
35519
35520
35521
35522
35523
35524
35525
35526
35527
35528
35529
35530
35531
35532
35533
35534
35535
35536
35537
35538
35539
35540
35541
35542
35543
35544
35545
35546
35547
35548
35549
35550
35551
35552
35553
35554
35555
35556
35557
35558
35559
35560
35561
35562
35563
35564
35565
35566
35567
35568
35569
35570
35571
35572
35573
35574
35575
35576
35577
35578
35579
35580
35581
35582
35583
35584
35585
35586
35587
35588
35589
35590
35591
35592
35593
35594
35595
35596
35597
35598
35599
35600
35601
35602
35603
35604
35605
35606
35607
35608
35609
35610
35611
35612
35613
35614
35615
35616
35617
35618
35619
35620
35621
35622
35623
35624
35625
35626
35627
35628
35629
35630
35631
35632
35633
35634
35635
35636
35637
35638
35639
35640
35641
35642
35643
35644
35645
35646
35647
35648
35649
35650
35651
35652
35653
35654
35655
35656
35657
35658
35659
35660
35661
35662
35663
35664
35665
35666
35667
35668
35669
35670
35671
35672
35673
35674
35675
35676
35677
35678
35679
35680
35681
35682
35683
35684
35685
35686
35687
35688
35689
35690
35691
35692
35693
35694
35695
35696
35697
35698
35699
35700
35701
35702
35703
35704
35705
35706
35707
35708
35709
35710
35711
35712
35713
35714
35715
35716
35717
35718
35719
35720
35721
35722
35723
35724
35725
35726
35727
35728
35729
35730
35731
35732
35733
35734
35735
35736
35737
35738
35739
35740
35741
35742
35743
35744
35745
35746
35747
35748
35749
35750
35751
35752
35753
35754
35755
35756
35757
35758
35759
35760
35761
35762
35763
35764
35765
35766
35767
35768
35769
35770
35771
35772
35773
35774
35775
35776
35777
35778
35779
35780
35781
35782
35783
35784
35785
35786
35787
35788
35789
35790
35791
35792
35793
35794
35795
35796
35797
35798
35799
35800
35801
35802
35803
35804
35805
35806
35807
35808
35809
35810
35811
35812
35813
35814
35815
35816
35817
35818
35819
35820
35821
35822
35823
35824
35825
35826
35827
35828
35829
35830
35831
35832
35833
35834
35835
35836
35837
35838
35839
35840
35841
35842
35843
35844
35845
35846
35847
35848
35849
35850
35851
35852
35853
35854
35855
35856
35857
35858
35859
35860
35861
35862
35863
35864
35865
35866
35867
35868
35869
35870
35871
35872
35873
35874
35875
35876
35877
35878
35879
35880
35881
35882
35883
35884
35885
35886
35887
35888
35889
35890
35891
35892
35893
35894
35895
35896
35897
35898
35899
35900
35901
35902
35903
35904
35905
35906
35907
35908
35909
35910
35911
35912
35913
35914
35915
35916
35917
35918
35919
35920
35921
35922
35923
35924
35925
35926
35927
35928
35929
35930
35931
35932
35933
35934
35935
35936
35937
35938
35939
35940
35941
35942
35943
35944
35945
35946
35947
35948
35949
35950
35951
35952
35953
35954
35955
35956
35957
35958
35959
35960
35961
35962
35963
35964
35965
35966
35967
35968
35969
35970
35971
35972
35973
35974
35975
35976
35977
35978
35979
35980
35981
35982
35983
35984
35985
35986
35987
35988
35989
35990
35991
35992
35993
35994
35995
35996
35997
35998
35999
36000
+ * 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_11_BO
+ * @reference ETSI TS 103 097 [1], clauses 4.2.26 and 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_09_11_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_taCert0911_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_11_BO
+
+ /**
+ * @desc Check that the IUT discards a message when its signing certificate does not contain the time validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * 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_10_01_BO_AT
+ * and the IUT current location is inside the CERT_TS_10_01_BO_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_10_01_BO_AT)
+ * containing validity_restrictions['time_start_and_end']
+ * and not containing validity_restrictions['time_end']
+ * and not containing validity_restrictions['time_start_and_duration']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_10_01_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_10_01_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1001_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_10_01_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the issuing certificate of the message signing certificate does not contain the time validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current location is inside the CERT_TS_10_02_BO_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_10_02_BO_AT)
+ * containing signer_info.digest
+ * referencing to CERT_TS_10_02_BO_AA
+ * containing validity_restrictions['time_start_and_end']
+ * and not containing validity_restrictions['time_end']
+ * and not containing validity_restrictions['time_start_and_duration']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_10_02_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_10_02_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1002_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_10_02_BO
+
+ /**
+ * @desc Check that the IUT discards a message when its signing certificate contains 'time_end' validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is less then time_end validity restricyion of CERT_TS_10_03_BO_AT
+ * and the IUT current location is inside the CERT_TS_10_02_BO_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_10_03_BO_AT)
+ * containing validity_restrictions['time_end']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_10_03_BO
+ * @reference ETSI TS 103 097 [1], clauses 7.4.2 & 7.4.4
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_10_03_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1003_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_10_03_BO
+
+ /**
+ * @desc Check that the IUT discards a message when its signing certificate contains 'time_start_and_duration' validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * 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_10_04_BO_AT
+ * and the IUT current location is inside the CERT_TS_10_04_BO_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_10_04_BO_AT)
+ * containing validity_restrictions['time_start_and_duration']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_10_04_BO
+ * @reference ETSI TS 103 097 [1], clauses 7.4.2 & 7.4.4
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_10_04_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1004_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_10_04_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the issuing certificate of the message signing certificate contains 'time_end' validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is less then time_end validity restricyion of CERT_TS_10_05_BO_AT
+ * and the IUT current location is inside the CERT_TS_10_05_BO_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_10_05_BO_AT)
+ * containing signer_info.digest
+ * referencing to CERT_TS_10_05_BO_AA
+ * containing validity_restrictions['time_end']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_10_05_BO
+ * @reference ETSI TS 103 097 [1], clauses 7.4.2 & 7.4.4
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_10_05_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1005_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_10_05_BO
+
+ /**
+ * @desc Check that the IUT discards a message when its signing certificate contains 'time_start_and_duration' validity restriction
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is less then time_end validity restricyion of CERT_TS_10_06_BO_AT
+ * and the IUT current location is inside the CERT_TS_10_06_BO_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_10_06_BO_AT)
+ * containing signer_info.digest
+ * referencing to CERT_TS_10_06_BO_AA
+ * containing validity_restrictions['time_start_and_duration']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_10_06_BO
+ * @reference ETSI TS 103 097 [1], clauses 7.4.2 & 7.4.4
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_10_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1006_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_10_06_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the validity period of the signing certificate ends after the validity period of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields ['signer_info'].signer.certificate (CERT_TS_11_01_BO_AT)
+ * containing signer_info.digest
+ * referencing to CERT_TS_A_AA
+ * containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA
+ * and containing end_validity
+ * indicating END_VALIDITY_AA
+ * and containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA
+ * and containing end_validity
+ * indicating END_VALIDITY_AA + 1d
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_11_01_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_11_01_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1101_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_11_01_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the validity period of its signing certificate starts before the validity period of the issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields ['signer_info'].signer.certificate (CERT_TS_11_02_BO_AT)
+ * containing signer_info.digest
+ * referencing to CERT_TS_A_AA
+ * containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA
+ * and containing end_validity
+ * indicating END_VALIDITY_AA
+ * and containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA - 1d
+ * and containing end_validity
+ * indicating END_VALIDITY_AA
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_11_02_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_11_02_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1102_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_11_02_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the issuing certificate of signing certificate is expired but the signing certificate is not expired yet.
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields ['signer_info'].signer.certificate (CERT_TS_11_03_BO_AT)
+ * containing signer_info.digest
+ * referencing to CERT_TS_A_AA
+ * containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA - 365d
+ * and containing end_validity
+ * indicating END_VALIDITY_AA - 1d
+ * and containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA - 365d
+ * and containing end_validity
+ * indicating END_VALIDITY_AA
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_11_03_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_11_03_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1103_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_11_03_BO
+
+ /**
+ * @desc Check that the IUT discards a message when the validity period of the signing certificate is after the validity period of its issuing certificate
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * Config Id: CF01
+ * Initial conditions:
+ * with {
+ * the IUT being in the 'authorized' state
+ * and the IUT current time is greater than START_VALIDITY_AA and less than END_VALIDITY_AA
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields ['signer_info'].signer.certificate (CERT_TS_11_04_BO_AT)
+ * containing signer_info.digest
+ * referencing to CERT_TS_A_AA
+ * containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA
+ * and containing end_validity
+ * indicating END_VALIDITY_AA + 365d
+ * and containing validity_restrictions['time_start_and_end']
+ * containing start_validity
+ * indicating START_VALIDITY_AA
+ * and containing end_validity
+ * indicating END_VALIDITY_AA + 365d
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_11_04_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.1
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_11_04_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1104_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_11_04_BO
+
+ /**
+ * @desc Check that the IUT discards a message when its signing certificate does not contain the SSP-AID subject attribute
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * 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_12_01_BO_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a SecuredMessage
+ * containing header_fields ['signer_info'].signer.certificate (CERT_TS_12_01_BO_AT)
+ * not containing subject_attributes['its_aid_ssp_list']
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_12_01_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.2
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_12_01_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1201_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_12_01_BO
+
+ /**
+ * @desc Check that the IUT discards a Secured CAM when its signing certificate does not contain a record with AID_CAM in the its_aid_ssp_list subject attribute
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * 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_12_02_BO_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a Secured CAM (MSG_SEC_RCV_CAM_01)
+ * containing header_fields ['its_aid']
+ * containing its_aid
+ * indicating 'AID_CAM'
+ * and containing header_fields ['signer_info']
+ * containing signer
+ * containing certificate
+ * indicating CERT_TS_12_02_BO_AT
+ * containing subject_attributes['its_aid_ssp_list']
+ * not containing an item
+ * containing its_aid
+ * indicating 'AID_CAM'
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_12_02_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.2
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_12_02_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)) {
+ log("*** " & testcasename() & ":ERROR: 'PICS_GN_SECURITY' 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_taCert1202_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_12_02_BO
+
+ /**
+ * @desc Check that the IUT discards a Secured DENM when its signing certificate does not contain a record with AID_DENM in the its_aid_ssp_list subject attribute
+ * <pre>
+ * Pics Selection: PICS_GN_SECURITY
+ * 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_12_03_BO_AT
+ * }
+ * ensure that {
+ * when {
+ * the IUT is receiving a Secured DENM (MSG_SEC_RCV_DENM_A)
+ * containing header_fields ['its_aid']
+ * containing its_aid
+ * indicating 'AID_DENM'
+ * and containing header_fields ['signer_info']
+ * containing signer
+ * containing certificate
+ * indicating CERT_TS_12_03_BO_AT
+ * containing subject_attributes['its_aid_ssp_list']
+ * not containing an item
+ * containing its_aid
+ * indicating 'AID_DENM'
+ * } then {
+ * the IUT discards the message
+ * }
+ * }
+ * </pre>
+ *
+ * @see ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CERT_12_03_BO
+ * @reference ETSI TS 103 097 [1], clause 7.4.2
+ */
+ testcase TC_SEC_ITSS_RCV_CERT_12_03_BO() runs on ItsGeoNetworking system ItsSecSystem {