ItsSecurity_TestCases.ttcn 1.46 MB
Newer Older
//            /**
//             * @desc    Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'enrolment_credential'
//             * <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_A_AT
//             * Expected behaviour:
//             * ensure that {
//             *   when {
//             *      the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *          containing header_fields['signer_info']
//             *              containing signer
//             *                  containing type
//             *                      indicating 'certificate'
//             *                  containing certificate (CERT_TS_EC_A)
//             *                      containing subject_info.subject_type
//             *                          indicating 'enrolment_credentials'
//             *   } then { 
//             *      the IUT discards the message 
//             *   }
//             * } 
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_12_01_BO
//             * @reference    ETSI TS 103 097 [1], clauses 6.3
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_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_prepareSecuredCam(
//                    cc_taCert_EC, 
//                    {
//                        m_header_info_generation_time(1000 * f_getCurrentTime()), // In us
//                        m_header_info_its_aid_CAM
//                    }, 
//                    e_certificate,
//                    true
//                ); 
//                f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu)));
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_12_01_BO
//            
//            /**
//             * @desc    Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'authorization_authority'
//             * <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_A_AT
//             * Expected behaviour:
//             * ensure that {
//             *   when {
//             *      the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *          containing header_fields['signer_info']
//             *              containing signer
//             *                  containing type
//             *                      indicating 'certificate'
//             *                  containing certificate (CERT_TS_AA_A)
//             *                      containing subject_info.subject_type
//             *                          indicating 'authorization_authority'
//             *   } then { 
//             *      the IUT discards the message 
//             *   }
//             * } 
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_12_02_BO
//             * @reference    ETSI TS 103 097 [1], clauses 6.3
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_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_prepareSecuredCam(
//                    cc_taCert_AA, 
//                    {
//                        m_header_info_generation_time(1000 * f_getCurrentTime()), // In us
//                        m_header_info_its_aid_CAM
//                    }, 
//                    e_certificate,
//                    true
//                ); 
//                f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu)));
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_12_02_BO
//            
//            /**
//             * @desc    Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'enrolment_authority'
//             * <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_A_AT
//             * Expected behaviour:
//             * ensure that {
//             *   when {
//             *      the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *          containing header_fields['signer_info']
//             *              containing signer
//             *                  containing type
//             *                      indicating 'certificate'
//             *              and certificate (CERT_TS_EA_A)
//             *                  containing subject_info.subject_type
//             *                      indicating 'enrolment_authority'
//             *   } then { 
//             *      the IUT discards the message 
//             *   }
//             * } 
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_12_03_BO
//             * @reference    ETSI TS 103 097 [1], clauses 6.3
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_12_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_prepareSecuredCam(
//                    cc_taCert_EA, 
//                    {
//                        m_header_info_generation_time(1000 * f_getCurrentTime()), // In us
//                        m_header_info_its_aid_CAM
//                    }, 
//                    e_certificate,
//                    true
//                ); 
//                f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu)));
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_12_03_BO
//            
//            /**
//             * @desc    Check that IUT discards a Secured CAM if the signer certificate of the message contains the subject type 'root_ca'
//             * <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_A_AT
//             * Expected behaviour:
//             * ensure that {
//             *   when {
//             *      the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *          containing header_fields['signer_info']
//             *              containing signer
//             *                  containing type
//             *                      indicating 'certificate'
//             *              and certificate (CERT_TS_ROOT)
//             *                  containing subject_info.subject_type
//             *                      indicating 'root_ca'
//             *   } then { 
//             *      the IUT discards the message 
//             *   }
//             * } 
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_12_04_BO
//             * @reference    ETSI TS 103 097 [1], clauses 6.3
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_12_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_prepareSecuredCam(
//                    cc_taCert_CA, 
//                    {
//                        m_header_info_generation_time(1000 * f_getCurrentTime()), // In us
//                        m_header_info_its_aid_CAM
//                    }, 
//                    e_certificate,
//                    true
//                ); 
//                f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(v_securedGnPdu)));
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_12_04_BO
//            
//            /**
//             * @desc    Check that IUT discards secured CAM signed with the not yet valid 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 inside the time validity period of CERT_TS_MSG_13_01_BO_AT
//             *  }
//             *  ensure that {
//             *      when { 
//             *          the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *              containing header_fields['signer_info'].signer 
//             *                  containing certificate (CERT_TS_MSG_13_01_BO_AT)
//             *                      containing validity_restrictions['time_start_and_end']
//             *                          containing start_validity
//             *                              indicating START_VALIDITY_AT > CURRENT_TIME
//             *                          and containing end_validity
//             *                              indicating END_VALIDITY_AT > START_VALIDITY_AT
//             *      } then {
//             *          the IUT discards the message
//             *      }
//             *  }
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_13_01_BO
//             * @reference    ETSI TS 103 097 [1], clause 7.1
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_13_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_taCertMsg1301_BO, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_13_01_BO
//            
//            /**
//             * @desc    Check that IUT discards secured CAM signed with the expired 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 inside the time validity period of CERT_TS_MSG_13_02_BO_AT
//             *  }
//             *  ensure that {
//             *      when { 
//             *          the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *              containing header_fields['signer_info'].signer 
//             *                  containing certificate (CERT_TS_MSG_13_02_BO_AT)
//             *                      containing validity_restrictions['time_start_and_end']
//             *                          containing start_validity
//             *                              indicating START_VALIDITY_AT < CURRENT_TIME
//             *                          and containing end_validity
//             *                              indicating END_VALIDITY_AT < START_VALIDITY_AT
//             *      } then {
//             *          the IUT discards the message
//             *      }
//             *  }
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_13_02_BO
//             * @reference    ETSI TS 103 097 [1], clause 7.1
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_13_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_taCertMsg1302_BO, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_13_02_BO
//            
//            /**
//             * @desc    Check that IUT discards secured CAM when IUT location is outside the circular validity restriction of the signing 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 inside the time validity period of CERT_TS_MSG_13_03_BO_AT
//             *      and the IUT current location is set to CURRENT_IUT_LOCATION
//             *  }
//             *  ensure that {
//             *      when { 
//             *          the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *              containing header_fields['signer_info'].signer 
//             *                  containing certificate (CERT_TS_MSG_13_03_BO_AT)
//             *                      containing validity_restrictions['region']
//             *                          containing region
//             *                              containing region_type
//             *                                  indicating 'circle'
//             *                              and containing circular_region
//             *                                  indicating REGION
//             *                                      not containing the CURRENT_IUT_LOCATION
//             *      } then {
//             *          the IUT discards the message
//             *      }
//             *  }
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_13_03_BO
//             * @reference    ETSI TS 103 097 [1], clause 7.1
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_13_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_taCertMsg1303_BO, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_13_03_BO
//            
//            /**
//             * @desc    Check that IUT discards secured CAM when IUT location is outside the rectangular validity restriction of the signing 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 inside the time validity period of CERT_TS_MSG_13_04_BO_AT
//             *      and the IUT current location is set to CURRENT_IUT_LOCATION
//             *  }
//             *  ensure that {
//             *      when { 
//             *          the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *              containing header_fields['signer_info'].signer 
//             *                  containing certificate (CERT_TS_MSG_13_04_BO_AT)
//             *                      containing validity_restrictions['region']
//             *                          containing region
//             *                              containing region_type
//             *                                  indicating 'rectangle'
//             *                              and containing rectanglar_region
//             *                                  indicating REGION
//             *                                      not containing the CURRENT_IUT_LOCATION
//             *      } then {
//             *          the IUT discards the message
//             *      }
//             *  }
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_13_04_BO
//             * @reference    ETSI TS 103 097 [1], clause 7.1
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_13_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_taCertMsg1304_BO, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_13_04_BO
//            
//            /**
//             * @desc    Check that IUT discards secured CAM when IUT location is outside the polygonal validity restriction of the signing 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 inside the time validity period of CERT_TS_MSG_13_05_BO_AT
//             *      and the IUT current location is set to CURRENT_IUT_LOCATION
//             *  }
//             *  ensure that {
//             *      when { 
//             *          the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *              containing header_fields['signer_info'].signer 
//             *                  containing certificate (CERT_TS_MSG_13_05_BO_AT)
//             *                      containing validity_restrictions['region']
//             *                          containing region
//             *                              containing region_type
//             *                                  indicating 'polygon'
//             *                              and containing polygonal_region
//             *                                  indicating REGION
//             *                                      not containing the CURRENT_IUT_LOCATION
//             *      } then {
//             *          the IUT discards the message
//             *      }
//             *  }
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_13_05_BO
//             * @reference    ETSI TS 103 097 [1], clause 7.1
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_13_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_taCertMsg1305_BO, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_13_05_BO
//            
//            /**
//             * @desc    Check that IUT discards secured CAM when IUT location is outside the identified validity restriction of the signing 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 inside the time validity period of CERT_TS_MSG_13_06_BO_AT
//             *      and the IUT current location is set to CURRENT_IUT_LOCATION
//             *  }
//             *  ensure that {
//             *      when { 
//             *          the IUT is receiving a Ieee1609Dot2Data (MSG_SEC_RCV_CAM_01)
//             *              containing header_fields['signer_info'].signer 
//             *                  containing certificate (CERT_TS_MSG_13_06_BO_AT)
//             *                      containing validity_restrictions['region']
//             *                          containing region
//             *                              containing region_type
//             *                                  indicating 'id'
//             *                              and containing id_region
//             *                                  indicating REGION
//             *                                      not containing the CURRENT_IUT_LOCATION
//             *      } then {
//             *          the IUT discards the message
//             *      }
//             *  }
//             * </pre>
//             *
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_CAM_13_06_BO
//             * @reference    ETSI TS 103 097 [1], clause 7.1
//             */
//            testcase TC_SEC_ITSS_RCV_CAM_13_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_taCertMsg1306_BO, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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 
//                } // End of 'for' statement
//                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_CAM_13_06_BO
        } // End of group recvCamProfile
         * @desc Receiving behaviour test cases for DENM profile
         * @see ETSI TS 103 096-2 V1.2.2 (2016-01) Clause 5.3.3 DENM Profile
        group recvDenmProfile {
//            /**
//             * @desc    Check that IUT accepts a well-formed Secured DENM signed with the certificate without region validity restriction
//             * @remark  The message defined in this test purpose is used in the subsequent test purposes with the snippet name ‘MSG_SEC_RCV_DENM_A’. Only differences to this snippet are mentioned in subsequent test purposes.
//             * <pre>
//             * Pics Selection: PICS_GN_SECURITY
//             * Config Id: CF01
//             * Expected behavior:
//             * with {
//             *   the IUT being in the 'authorized' state
//             *   and the IUT current time is inside the time validity period of CERT_TS_A_AT
//             * }
//             * ensure that {
//             *   when {
//             *     the IUT is receiving a Ieee1609Dot2Data
//             *          containing header_fields[0]
//             *              containing type 
//             *                  indicating 'signer_info'
//             *              and containing signer
//             *                  containing type
//             *                      indicating 'certificate'
//             *                  and containing certificate (CERT_AT_A)
//             *                      containing subject_info.subject_type
//             *                          indicating 'authorization_ticket' (2)
//             *                      and containing subject_attributes['verification key'] (KEY)
//             *             and not containing validity_restrictions['region']
//             *       and containing header_fields [1]
//             *         containing type 
//             *           indicating 'generation_time'
//             *              containing generation_time
//             *                  indicating CURRENT_TIME
//             *       and containing header_fields [2]
//             *         containing type 
//             *           indicating 'generation_location'
//             *              containing generation_location
//             *       and containing header_fields[3]
//             *         containing type 
//             *           indicating 'its_aid'
//             *         containing its_aid
//             *              indicating 'AID_DENM'
//             *          and containing payload_field
//             *              containing type
//             *                  indicating 'signed'
//             *              containing data
//             *                  indicating length > 0
//             *                  containing DENM payload
//             *          and containing trailer_fields
//             *              containing single instance of type TrailerField
//             *                  containing type
//             *                      indicating 'signature'
//             *                  containing signature
//             *                      verifiable using KEY
//             *   } then {
//             *     the IUT accepts the message
//             *   }
//             * }
//             * </pre>
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_DENM_01_01_BV
//             * @reference    ETSI TS 103 097 [1], clause 7.2
//             */
//            testcase TC_SEC_ITSS_RCV_DENM_01_01_BV() runs on ItsGeoNetworking system ItsSecSystem {
//                
//                // Local variables
//                var integer i;
//                var GeoNetworkingPdu v_securedGnPdu;
//                var GnRawPayload v_sentRawPayload;
//                
//                // Test control
//                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_sendSecuredDenm(cc_taCert_A, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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: DENM was transmitted to upper layer ***");
//                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
//                }
//                else {
//                    log("*** " & testcasename() & ": FAIL: DENM was not transmitted to upper layer ***");
//                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
//                }
//                
//                // Postamble
//                f_poNeighbour();
//                f_cf01Down();
//            } // End of testcase TC_SEC_ITSS_RCV_DENM_01_01_BV
//            
//            /**
//             * @desc    Check that IUT accepts a well-formed Secured DENM signe with the certificate with a circular region validity restriction
//             * @remark  The message defined in this test purpose is used in the subsequent test purposes with the snippet name ‘MSG_SEC_RCV_DENM_A’. Only differences to this snippet are mentioned in subsequent test purposes.
//             * <pre>
//             * Pics Selection: PICS_GN_SECURITY
//             * Config Id: CF01
//             * Expected behavior:
//             * with {
//             *   the IUT being in the 'authorized' state
//             *   and the IUT current time is inside the time validity period of CERT_TS_B_AT
//             *   and the IUT current location is inside the region validity period of CERT_TS_B_AT
//             * }
//             * ensure that {
//             *   when {
//             *     the IUT is receiving a Ieee1609Dot2Data
//             *       and containing header_fields[0]
//             *              containing type 
//             *                  indicating 'signer_info'
//             *              and containing signer {
//             *                  containing type
//             *                      indicating 'certificate'
//             *                  and containing certificate (CERT_AT_B) {
//             *                      containing subject_info.subject_type
//             *                          indicating 'authorization_ticket' (2)
//             *                      and containing subject_attributes['verification key'] (KEY)
//             *                      and containing validity_restrictions['region'] {
//             *                          containing region{
//             *                              containing region_type
//             *                                  indicating 'circle'
//             *                              and containing circular_region
//             *                                  indicating REGION
//             *                          }
//             *                      }
//             *                  }
//             *       and containing header_fields [1]
//             *         containing type 
//             *           indicating 'generation_time'
//             *              containing generation_time
//             *                  indicating CURRENT_TIME
//             *       and containing header_fields [2]
//             *         containing type 
//             *           indicating 'generation_location'
//             *              containing generation_location
//             *                  indicating position inside the REGION
//             *       and containing header_fields[3]
//             *         containing type 
//             *           indicating 'its_aid'
//             *         containing its_aid
//             *              indicating 'AID_DENM'
//             *       and not containing any other header_fields
//             *       and containing payload_fields {
//             *              containing type
//             *                  indicating 'signed'
//             *              containing data
//             *                  indicating length > 0
//             *                  containing DENM payload
//             *          }
//             *          and containing trailer_fields {
//             *              containing single instance of type TrailerField {
//             *                  containing type
//             *                      indicating 'signature'
//             *                  containing signature
//             *                      verifiable using KEY
//             *              }
//             *          }
//             *   } then {
//             *     the IUT accepts the message
//             *   }
//             * }
//             * </pre>
garciay's avatar
garciay committed
//             * @see          ETSI TS 103 096-2 v1.3.2 TP_SEC_ITSS_RCV_DENM_01_02_BV
//             * @reference    ETSI TS 103 097 [1], clause 7.2
//             */
//            testcase TC_SEC_ITSS_RCV_DENM_01_02_BV() runs on ItsGeoNetworking system ItsSecSystem {
//                
//                // Local variables
//                var integer i;
//                var GeoNetworkingPdu v_securedGnPdu;
//                var GnRawPayload v_sentRawPayload;
//                
//                // Test control
//                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_sendSecuredDenm(cc_taCert_B, omit, e_certificate);
//                
//                f_sleep(PX_TNOAC);
//                v_sentRawPayload := valueof(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: DENM was transmitted to upper layer ***");
//                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
//                }
//                else {
//                    log("*** " & testcasename() & ": FAIL: DENM was not transmitted to upper layer ***");
//                    f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
//                }