diff --git a/ttcn/AtsCAM/ItsCam_TpFunctions.ttcn b/ttcn/AtsCAM/ItsCam_TpFunctions.ttcn index 11acb7f89fe1e2d41e984a7d52a764d69a10a8de..2b31e6b790714492ac4cc2bfd478c53c8a58e9c9 100644 --- a/ttcn/AtsCAM/ItsCam_TpFunctions.ttcn +++ b/ttcn/AtsCAM/ItsCam_TpFunctions.ttcn @@ -34,7 +34,8 @@ module ItsCam_TpFunctions { import from LibItsCam_TypesAndValues all; import from LibItsCam_Pics all; import from LibItsCam_Pixits all; - + + import from LibItsSecurity_Functions all; // 5.2.1 group camMessageDissemination { @@ -2997,13 +2998,14 @@ module ItsCam_TpFunctions { group camGenerationSSP{ function f_CAM_MSD_SSP_BO_XX( - in Oct8 p_certHashedId8, + in charstring p_certName, in template(value) UtCamTrigger p_utEvent, in template(present) CAM pmw_CamMsg, in template(present) Bit256 pmw_ssp := ? ) runs on ItsCam { // Local variables + var Oct8 v_certHashedId8; // Test control if (not PICS_CAM_GENERATION) { @@ -3025,10 +3027,19 @@ module ItsCam_TpFunctions { // Preamble // initialize IUT with given certificate + fx_readCertificateDigest(p_certName, v_certHashedId8); + if( '0000000000000000'O == v_certHashedId8) { + // Certificate not found + log("*** " & testcasename() & ": Required IUT certificate is not found on the test system ***"); + setverdict(inconc); + stop; + } + + f_prInitialState( e_staticPosition, true, - { hashedId8 := p_certHashedId8 } + { hashedId8 := v_certHashedId8 } ); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); @@ -3075,7 +3086,7 @@ module ItsCam_TpFunctions { testcase.stop(testcasename() & ": PICS_SPECIALVEHICLECONTAINER and PICS_PUBLICTRANS need to be set to true"); } - + f_CAM_MSD_SSP_BO_XX(PX_CERT_IUT_CAM_02, m_setVehicleRole(c_vehicleRole_publicTransport), mw_camMsg_SVC ( mw_publicTransport_any ) diff --git a/ttcn/AtsDENM/ItsDenm_TpFunctions.ttcn b/ttcn/AtsDENM/ItsDenm_TpFunctions.ttcn index ad129387895d07200bdb1390cee3426520ef85c1..0a39aa0eb939d35465680f72540329a9642030ab 100644 --- a/ttcn/AtsDENM/ItsDenm_TpFunctions.ttcn +++ b/ttcn/AtsDENM/ItsDenm_TpFunctions.ttcn @@ -30,6 +30,8 @@ module ItsDenm_TpFunctions { import from LibItsDenm_TypesAndValues all; import from LibItsDenm_Pics all; import from LibItsDenm_Pixits all; + + import from LibItsSecurity_Functions all; // 5.2.1 group denMessageTransmission { @@ -2303,13 +2305,14 @@ module ItsDenm_TpFunctions { group denMessageSSP { - function f_DEN_SSP_BV_XX( in Oct8 p_certHashedId8, + function f_DEN_SSP_BV_XX( in charstring p_certName, in template (value) SituationContainer p_situation, in template (present) Bit256 pmw_ssp) runs on ItsDenm { var ActionID v_actionId; var DenmInd v_denmInd; + var Oct8 v_certHashedId8; // Test control if (not PICS_IS_IUT_SECURED) { @@ -2330,9 +2333,17 @@ module ItsDenm_TpFunctions { // Test adapter configuration // Preamble + fx_readCertificateDigest( p_certName, v_certHashedId8); + if( '0000000000000000'O == v_certHashedId8) { + // Certificate not found + log("*** " & testcasename() & ": Required IUT certificate is not found on the test system ***"); + setverdict(inconc); + stop; + } + f_prInitialState( e_staticPosition, - { hashedId8 := p_certHashedId8 } + { hashedId8 := v_certHashedId8 } ); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);