Loading ItsPki_Pixits.ttcn +2 −1 Original line number Diff line number Diff line Loading @@ -14,4 +14,5 @@ module ItsPki_Pixits { modulepar float PX_CERT_EXPIRATION_DELAY := 10.0; modulepar float PX_EC_REPETITION_TIMEOUT := 120.0; } // End of module ItsPki_Pixits ItsPki_TestCases.ttcn +30 −115 Original line number Diff line number Diff line Loading @@ -2276,7 +2276,9 @@ module ItsPki_TestCases { var boolean v_iut_state_ok := false; // Test component configuration vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; // vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; vc_hashedId8ToBeUsed := ""; // No certificates //PX_IUT_DEFAULT_CERTIFICATE f_cfUp_itss(); // Test adapter configuration Loading Loading @@ -2456,7 +2458,7 @@ module ItsPki_TestCases { var boolean v_iut_state_ok := false; // Test component configuration vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; vc_hashedId8ToBeUsed := ""; // No certificates //PX_IUT_DEFAULT_CERTIFICATE f_cfUp_itss(); // Test adapter configuration Loading Loading @@ -2620,7 +2622,7 @@ module ItsPki_TestCases { f_cfMtcUp01(v_itss, v_ea); // Start component v_itss.start(f_TC_SECPKI_ITSS_ENR_REP_01_BV_itss()); v_itss.start(f_TC_SECPKI_ITSS_ENR_01_BV_itss()); // reuse from ENR group v_ea.start(f_TC_SECPKI_ITSS_ENR_REP_01_BV_pki()); // Synchronization Loading @@ -2633,67 +2635,11 @@ module ItsPki_TestCases { group f_TC_SECPKI_ITSS_ENR_REP_01_BV { function f_TC_SECPKI_ITSS_ENR_REP_01_BV_itss() runs on ItsPkiItss system ItsPkiItssSystem { // Local variables var HashedId8 v_certificate_digest; var EtsiTs103097Certificate v_certificate; // Test component configuration vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; f_cfUp_itss(); // Test adapter configuration // Preamble // Initial state: No CAM shall be emitted geoNetworkingPort.clear; tc_noac.start; alt { [] geoNetworkingPort.receive { log("No CA message expected"); f_selfOrClientSyncAndVerdict(c_prDone, e_error); } [] tc_noac.timeout { log("*** " & testcasename() & ": INFO: No CA message received ***"); f_selfOrClientSyncAndVerdict(c_prDone, e_success); } } // End of 'alt' statement // Test Body f_sendUtTriggerEnrolmentRequestPrimitive(); tc_ac.start; alt { [] utPort.receive(UtPkiTriggerInd: { state := 1 }) { tc_ac.stop; log("*** " & testcasename() & ": INFO: IUT is in enrolment state ***"); } [] tc_ac.timeout { log("*** " & testcasename() & ": DBG: IUT state update not recieved ***"); } } // End of 'alt' statement tc_noac.start; alt { [] geoNetworkingPort.receive { log("No CA message expected"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } [] tc_noac.timeout { log("*** " & testcasename() & ": PASS: Enrolment trigger sent successfully ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } } // End of 'alt' statement // Postamble f_cfDown_itss(); } // End of function f_TC_SECPKI_ITSS_ENR_REP_01_BV_itss function f_TC_SECPKI_ITSS_ENR_REP_01_BV_pki() runs on ItsPkiHttp system ItsPkiItssSystem { // Local variable var Headers v_headers; var HttpMessage v_initial_request; var HttpMessage v_request; var InnerEcResponse v_inner_ec_response; var InnerEcRequest v_inner_ec_request; // Test component configuration f_cfHttpUp(PICS_TS_EA_CERTIFICATE_ID, PICS_TS_AA_CERTIFICATE_ID); Loading @@ -2702,66 +2648,35 @@ module ItsPki_TestCases { // Preamble f_init_default_headers_list(-, "inner_ec_response", v_headers); f_await_ec_request_send_no_response(v_initial_request); log("*** " & testcasename() & ": INFO: Reply with no response error message ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body var integer i; var boolean v_loop := true; for (i := 0; i < PX_ENR_MAX_N1; i := i + 1) { tc_ac.start; alt { [] a_await_ec_http_request_from_iut( mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_EC, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( mw_enrolmentRequestMessage( mw_encryptedData( { *, mw_recipientInfo_certRecipInfo(mw_pKRecipientInfo(vc_eaHashedId8)), * }, mw_symmetricCiphertext_aes128ccm )))))), v_request ) { var HttpMessage v_response; var integer v_result; var InnerEcRequest v_inner_ec_request; [] a_await_ec_http_request_from_iut(mw_http_ec_request_generic, v_request) { log("*** " & testcasename() & ": INFO: First enrolment request received ***"); tc_ac.stop; // Verify IUT response f_verify_http_ec_request_from_iut_itss(v_request.request, v_headers, v_inner_ec_request, v_inner_ec_response, v_response, v_result); // Send response if (isvalue(v_response)) { httpPort.send(v_response); } else { // Send HTTP error 500 f_send_500_Internal_Error(v_headers); } // Set verdict if (v_result == 0) { log("*** " & testcasename() & ": PASS: InnerEcRequest received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { log("*** " & testcasename() & ": FAIL: Failed to verify EA an EnrolmentRequestMessage ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } f_http_restart("inner_ec_request"); } [] tc_ac.timeout { log("*** " & testcasename() & ": INCONC: Response received on the IUT ***"); v_loop := false; f_selfOrClientSyncAndVerdict(c_tbDone, e_success); //break; log("*** " & testcasename() & ": INCONC: First enrolment request not received received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } // End of 'alt' statement if (v_loop == false){ break; } } // End of 'loop' statement f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body tc_wait.start(PX_EC_REPETITION_TIMEOUT); alt { [] a_await_ec_http_request_from_iut(mw_http_ec_request_generic, v_request) { log("*** " & testcasename() & ": PASS: EC repetition has been received after a ", tc_wait.read, " ***"); tc_wait.stop; f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_wait.timeout { log("*** " & testcasename() & ": FAIL: EC repetition was not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } } // Postamble f_cfHttpDown(); } // End of function f_TC_SECPKI_ITSS_ENR_REP_01_BV_pki Loading ItsPki_TestControl.ttcn +8 −4 Original line number Diff line number Diff line Loading @@ -14,7 +14,8 @@ module ItsPki_TestControl { execute(TC_SECPKI_ITSS_ENR_02_BV()); if (PICS_SECPKI_REENROLMENT) { execute(TC_SECPKI_ITSS_ENR_03_BV()); execute(TC_SECPKI_ITSS_ENR_06_BV()); execute(TC_SECPKI_ITSS_ENR_06_BV_1()); execute(TC_SECPKI_ITSS_ENR_06_BV_2()); execute(TC_SECPKI_ITSS_ENR_12_BV()); } if (PICS_SECPKI_CRL) { Loading @@ -29,9 +30,12 @@ module ItsPki_TestControl { } execute(TC_SECPKI_ITSS_ENR_05_BV()); execute(TC_SECPKI_ITSS_ENR_07_BV()); execute(TC_SECPKI_ITSS_ENR_08_BV()); execute(TC_SECPKI_ITSS_ENR_09_BV()); execute(TC_SECPKI_ITSS_ENR_10_BV()); execute(TC_SECPKI_ITSS_ENR_08_BV_1()); execute(TC_SECPKI_ITSS_ENR_08_BV_2()); execute(TC_SECPKI_ITSS_ENR_09_BV_1()); execute(TC_SECPKI_ITSS_ENR_09_BV_2()); execute(TC_SECPKI_ITSS_ENR_10_BV_1()); execute(TC_SECPKI_ITSS_ENR_10_BV_2()); execute(TC_SECPKI_ITSS_ENR_11_BV()); execute(TC_SECPKI_ITSS_ENR_RECV_01_BV()); Loading lib_system/LibItsPki_Functions.ttcn +23 −19 Original line number Diff line number Diff line Loading @@ -821,6 +821,27 @@ module LibItsPki_Functions { return true; } function f_http_restart ( in charstring p_content_text ) runs on ItsPkiHttp { if (not(PICS_MULTIPLE_END_POINT)) { log("f_http_restart: restart httpPort"); httpPort.stop; httpPort.start; } else { log("f_http_restart: restart httpPort with contentType ", p_content_text); select(p_content_text){ case ("inner_ec_request"){ httpEcPort.stop; httpEcPort.start; } case ("inner_atv_request"){ httpAtVPort.stop; httpAtVPort.start; } } } } function f_http_send( in Headers p_headers, Loading Loading @@ -5389,26 +5410,9 @@ module LibItsPki_Functions { tc_ac.start; alt { [] a_await_ec_http_request_from_iut( mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_EC, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( mw_enrolmentRequestMessage( mw_encryptedData( -, mw_symmetricCiphertext_aes128ccm )))))), p_request ) { var template (value) HttpMessage v_response; var Headers v_headers; [] a_await_ec_http_request_from_iut(mw_http_ec_request_generic, p_request) { tc_ac.stop; f_init_default_headers_list(-, "inner_ec_response", v_headers); f_http_restart("inner_ec_request"); log("f_await_ec_request_send_no_response: Failed to verify PKI message ***"); } [] tc_ac.timeout { Loading Loading
ItsPki_Pixits.ttcn +2 −1 Original line number Diff line number Diff line Loading @@ -14,4 +14,5 @@ module ItsPki_Pixits { modulepar float PX_CERT_EXPIRATION_DELAY := 10.0; modulepar float PX_EC_REPETITION_TIMEOUT := 120.0; } // End of module ItsPki_Pixits
ItsPki_TestCases.ttcn +30 −115 Original line number Diff line number Diff line Loading @@ -2276,7 +2276,9 @@ module ItsPki_TestCases { var boolean v_iut_state_ok := false; // Test component configuration vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; // vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; vc_hashedId8ToBeUsed := ""; // No certificates //PX_IUT_DEFAULT_CERTIFICATE f_cfUp_itss(); // Test adapter configuration Loading Loading @@ -2456,7 +2458,7 @@ module ItsPki_TestCases { var boolean v_iut_state_ok := false; // Test component configuration vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; vc_hashedId8ToBeUsed := ""; // No certificates //PX_IUT_DEFAULT_CERTIFICATE f_cfUp_itss(); // Test adapter configuration Loading Loading @@ -2620,7 +2622,7 @@ module ItsPki_TestCases { f_cfMtcUp01(v_itss, v_ea); // Start component v_itss.start(f_TC_SECPKI_ITSS_ENR_REP_01_BV_itss()); v_itss.start(f_TC_SECPKI_ITSS_ENR_01_BV_itss()); // reuse from ENR group v_ea.start(f_TC_SECPKI_ITSS_ENR_REP_01_BV_pki()); // Synchronization Loading @@ -2633,67 +2635,11 @@ module ItsPki_TestCases { group f_TC_SECPKI_ITSS_ENR_REP_01_BV { function f_TC_SECPKI_ITSS_ENR_REP_01_BV_itss() runs on ItsPkiItss system ItsPkiItssSystem { // Local variables var HashedId8 v_certificate_digest; var EtsiTs103097Certificate v_certificate; // Test component configuration vc_hashedId8ToBeUsed := PX_IUT_DEFAULT_CERTIFICATE; f_cfUp_itss(); // Test adapter configuration // Preamble // Initial state: No CAM shall be emitted geoNetworkingPort.clear; tc_noac.start; alt { [] geoNetworkingPort.receive { log("No CA message expected"); f_selfOrClientSyncAndVerdict(c_prDone, e_error); } [] tc_noac.timeout { log("*** " & testcasename() & ": INFO: No CA message received ***"); f_selfOrClientSyncAndVerdict(c_prDone, e_success); } } // End of 'alt' statement // Test Body f_sendUtTriggerEnrolmentRequestPrimitive(); tc_ac.start; alt { [] utPort.receive(UtPkiTriggerInd: { state := 1 }) { tc_ac.stop; log("*** " & testcasename() & ": INFO: IUT is in enrolment state ***"); } [] tc_ac.timeout { log("*** " & testcasename() & ": DBG: IUT state update not recieved ***"); } } // End of 'alt' statement tc_noac.start; alt { [] geoNetworkingPort.receive { log("No CA message expected"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } [] tc_noac.timeout { log("*** " & testcasename() & ": PASS: Enrolment trigger sent successfully ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } } // End of 'alt' statement // Postamble f_cfDown_itss(); } // End of function f_TC_SECPKI_ITSS_ENR_REP_01_BV_itss function f_TC_SECPKI_ITSS_ENR_REP_01_BV_pki() runs on ItsPkiHttp system ItsPkiItssSystem { // Local variable var Headers v_headers; var HttpMessage v_initial_request; var HttpMessage v_request; var InnerEcResponse v_inner_ec_response; var InnerEcRequest v_inner_ec_request; // Test component configuration f_cfHttpUp(PICS_TS_EA_CERTIFICATE_ID, PICS_TS_AA_CERTIFICATE_ID); Loading @@ -2702,66 +2648,35 @@ module ItsPki_TestCases { // Preamble f_init_default_headers_list(-, "inner_ec_response", v_headers); f_await_ec_request_send_no_response(v_initial_request); log("*** " & testcasename() & ": INFO: Reply with no response error message ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body var integer i; var boolean v_loop := true; for (i := 0; i < PX_ENR_MAX_N1; i := i + 1) { tc_ac.start; alt { [] a_await_ec_http_request_from_iut( mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_EC, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( mw_enrolmentRequestMessage( mw_encryptedData( { *, mw_recipientInfo_certRecipInfo(mw_pKRecipientInfo(vc_eaHashedId8)), * }, mw_symmetricCiphertext_aes128ccm )))))), v_request ) { var HttpMessage v_response; var integer v_result; var InnerEcRequest v_inner_ec_request; [] a_await_ec_http_request_from_iut(mw_http_ec_request_generic, v_request) { log("*** " & testcasename() & ": INFO: First enrolment request received ***"); tc_ac.stop; // Verify IUT response f_verify_http_ec_request_from_iut_itss(v_request.request, v_headers, v_inner_ec_request, v_inner_ec_response, v_response, v_result); // Send response if (isvalue(v_response)) { httpPort.send(v_response); } else { // Send HTTP error 500 f_send_500_Internal_Error(v_headers); } // Set verdict if (v_result == 0) { log("*** " & testcasename() & ": PASS: InnerEcRequest received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { log("*** " & testcasename() & ": FAIL: Failed to verify EA an EnrolmentRequestMessage ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } f_http_restart("inner_ec_request"); } [] tc_ac.timeout { log("*** " & testcasename() & ": INCONC: Response received on the IUT ***"); v_loop := false; f_selfOrClientSyncAndVerdict(c_tbDone, e_success); //break; log("*** " & testcasename() & ": INCONC: First enrolment request not received received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); } } // End of 'alt' statement if (v_loop == false){ break; } } // End of 'loop' statement f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body tc_wait.start(PX_EC_REPETITION_TIMEOUT); alt { [] a_await_ec_http_request_from_iut(mw_http_ec_request_generic, v_request) { log("*** " & testcasename() & ": PASS: EC repetition has been received after a ", tc_wait.read, " ***"); tc_wait.stop; f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_wait.timeout { log("*** " & testcasename() & ": FAIL: EC repetition was not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } } // Postamble f_cfHttpDown(); } // End of function f_TC_SECPKI_ITSS_ENR_REP_01_BV_pki Loading
ItsPki_TestControl.ttcn +8 −4 Original line number Diff line number Diff line Loading @@ -14,7 +14,8 @@ module ItsPki_TestControl { execute(TC_SECPKI_ITSS_ENR_02_BV()); if (PICS_SECPKI_REENROLMENT) { execute(TC_SECPKI_ITSS_ENR_03_BV()); execute(TC_SECPKI_ITSS_ENR_06_BV()); execute(TC_SECPKI_ITSS_ENR_06_BV_1()); execute(TC_SECPKI_ITSS_ENR_06_BV_2()); execute(TC_SECPKI_ITSS_ENR_12_BV()); } if (PICS_SECPKI_CRL) { Loading @@ -29,9 +30,12 @@ module ItsPki_TestControl { } execute(TC_SECPKI_ITSS_ENR_05_BV()); execute(TC_SECPKI_ITSS_ENR_07_BV()); execute(TC_SECPKI_ITSS_ENR_08_BV()); execute(TC_SECPKI_ITSS_ENR_09_BV()); execute(TC_SECPKI_ITSS_ENR_10_BV()); execute(TC_SECPKI_ITSS_ENR_08_BV_1()); execute(TC_SECPKI_ITSS_ENR_08_BV_2()); execute(TC_SECPKI_ITSS_ENR_09_BV_1()); execute(TC_SECPKI_ITSS_ENR_09_BV_2()); execute(TC_SECPKI_ITSS_ENR_10_BV_1()); execute(TC_SECPKI_ITSS_ENR_10_BV_2()); execute(TC_SECPKI_ITSS_ENR_11_BV()); execute(TC_SECPKI_ITSS_ENR_RECV_01_BV()); Loading
lib_system/LibItsPki_Functions.ttcn +23 −19 Original line number Diff line number Diff line Loading @@ -821,6 +821,27 @@ module LibItsPki_Functions { return true; } function f_http_restart ( in charstring p_content_text ) runs on ItsPkiHttp { if (not(PICS_MULTIPLE_END_POINT)) { log("f_http_restart: restart httpPort"); httpPort.stop; httpPort.start; } else { log("f_http_restart: restart httpPort with contentType ", p_content_text); select(p_content_text){ case ("inner_ec_request"){ httpEcPort.stop; httpEcPort.start; } case ("inner_atv_request"){ httpAtVPort.stop; httpAtVPort.start; } } } } function f_http_send( in Headers p_headers, Loading Loading @@ -5389,26 +5410,9 @@ module LibItsPki_Functions { tc_ac.start; alt { [] a_await_ec_http_request_from_iut( mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_EC, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( mw_enrolmentRequestMessage( mw_encryptedData( -, mw_symmetricCiphertext_aes128ccm )))))), p_request ) { var template (value) HttpMessage v_response; var Headers v_headers; [] a_await_ec_http_request_from_iut(mw_http_ec_request_generic, p_request) { tc_ac.stop; f_init_default_headers_list(-, "inner_ec_response", v_headers); f_http_restart("inner_ec_request"); log("f_await_ec_request_send_no_response: Failed to verify PKI message ***"); } [] tc_ac.timeout { Loading