Loading ItsPkiItss_TestCases.ttcn +29 −74 Original line number Diff line number Diff line Loading @@ -5749,8 +5749,8 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTH_PRIVACY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE, PICS_SECPKI_AUTHORIZATION and PICS_SECPKI_AUTH_PRIVACY are required for executing the TC ***"); setverdict(inconc); stop; } Loading Loading @@ -5866,7 +5866,7 @@ module ItsPkiItss_TestCases { /** * @desc Check that the ecSignature of the Authorization request is not encrypted * <pre> * Pics Selection: PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION * Pics Selection: PICS_IUT_ITS_S_ROLE, PICS_SECPKI_AUTHORIZATION and not PICS_SECPKI_AUTH_PRIVACY * Initial conditions: * with { * the IUT in 'enrolled' state Loading Loading @@ -5896,7 +5896,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or PICS_SECPKI_AUTH_PRIVACY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6049,7 +6049,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6251,7 +6251,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6461,7 +6461,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6668,7 +6668,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6807,7 +6807,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6859,29 +6859,18 @@ module ItsPkiItss_TestCases { } // End of 'alt' statement // Test Body f_sendUtTriggerAuthorizationRequestPrimitive(); geoNetworkingPort.clear; tc_ac.start; alt { [v_start_awaiting == true] a_await_cam_with_current_cert( v_info_port_data.at_certificate ) { log("*** " & testcasename() & ": PASS: IUT started to send CA message using new AT certificate ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] geoNetworkingPort.receive { log("*** " & testcasename() & ": FAIL: IUT started to send CA message using wrong AT certificate ***"); log("No CA message expected"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } [] infoPort.receive(InfoPortData:?) -> value v_info_port_data { log("*** " & testcasename() & ": INFO: Received new AT certificate ***"); v_start_awaiting := true; repeat; } [] tc_ac.timeout { log("*** " & testcasename() & "_itss: : PASS: No CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & testcasename() & "_itss: : INFO: No CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } } } // End of 'alt' statement // Postamble f_cfDown_itss(); Loading @@ -6891,6 +6880,7 @@ module ItsPkiItss_TestCases { // Local variable var Headers v_headers; var HttpMessage v_request; var HttpMessage v_at_request; var InnerEcResponse v_inner_ec_response; var InnerEcRequest v_inner_ec_request; Loading Loading @@ -6920,58 +6910,23 @@ module ItsPkiItss_TestCases { } // Test Body tc_ac.start(PX_TAC * 1.1); // for different timer PIXIT_AUTH_TIMEOUT_TH2 tc_wait.start(PX_AT_REPETITION_TIMEOUT_TH2); // PX_AT_REPETITION_TIMEOUT alt { [] a_await_at_http_request_from_iut( mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_AT, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( mw_authorizationRequestMessage( mw_encryptedData( { *, mw_recipientInfo_pskRecipInfo(vc_aaHashedId8), * }, mw_symmetricCiphertext_aes128ccm )))))), v_request ) { var HttpMessage v_response; var integer v_result; var InnerAtRequest v_inner_at_request; var InnerAtResponse v_inner_at_response; tc_ac.stop; // Verify IUT response f_verify_http_at_request_from_iut_itss(v_request.request, v_headers, v_inner_ec_response.certificate, v_inner_at_request, v_inner_at_response, v_response, v_result); // Send response if (isvalue(v_response)) { httpPort.send(v_response); [] a_await_at_http_request_from_iut(mw_http_at_request_generic, v_request) { log("*** " & testcasename() & ": FAIL: AT repetition has been received after a ", tc_wait.read, " ***"); //fails in TC5 tc_wait.stop; f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } // Set verdict if (v_result == 0) { var octetstring v_msg; var octetstring v_hashed_id8; log("*** " & testcasename() & ": PASS: InnerAtRequest received ***"); v_msg := bit2oct(encvalue(v_inner_at_response.certificate)); if (ischosen(v_inner_at_response.certificate.toBeSigned.verifyKeyIndicator.verificationKey.ecdsaBrainpoolP384r1)) { v_hashed_id8 := f_hashedId8FromSha384(f_hashWithSha384(v_msg)); [] tc_wait.timeout { if (f_await_at_request_send_no_response(v_at_request) == true) { log("*** " & testcasename() & ": FAIL: AT repetition was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { v_hashed_id8 := f_hashedId8FromSha256(f_hashWithSha256(v_msg)); } infoPort.send(InfoPortData : { hashed_id8 := v_hashed_id8, at_certificate := v_inner_at_response.certificate }); log("*** " & testcasename() & ": PASS: AT repetition was not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { log("*** " & testcasename() & ": FAIL: Failed to verify AA an AuthorizationRequestMessage ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } } [] tc_ac.timeout { log("*** " & testcasename() & ": PASS: Expected no AuthorizationRequestMessage ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } // End of 'alt' statement // Postamble f_cfHttpDown(); Loading ItsPkiItss_TestControl.ttcn +27 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,33 @@ module ItsPkiItss_TestControl { } if (PICS_SECPKI_AUTHORIZATION) { // TODO execute(TC_SECPKI_ITSS_AUTH_01_BV()); execute(TC_SECPKI_ITSS_AUTH_02_BV()); execute(TC_SECPKI_ITSS_AUTH_03_BV()); execute(TC_SECPKI_ITSS_AUTH_04_BV()); execute(TC_SECPKI_ITSS_AUTH_05_BV()); execute(TC_SECPKI_ITSS_AUTH_06_BV()); execute(TC_SECPKI_ITSS_AUTH_07_BV()); execute(TC_SECPKI_ITSS_AUTH_08_BV()); execute(TC_SECPKI_ITSS_AUTH_09_BV()); execute(TC_SECPKI_ITSS_AUTH_10_BV()); execute(TC_SECPKI_ITSS_AUTH_11_BV()); execute(TC_SECPKI_ITSS_AUTH_12_BV()); execute(TC_SECPKI_ITSS_AUTH_13_BV()); execute(TC_SECPKI_ITSS_AUTH_14_BV()); if (PICS_SECPKI_AUTH_PRIVACY) { execute(TC_SECPKI_ITSS_AUTH_15_BV()); } if (not PICS_SECPKI_AUTH_PRIVACY) { execute(TC_SECPKI_ITSS_AUTH_16_BV()); } if (PICS_SECPKI_AUTHORIZATION_RETRY) { execute(TC_SECPKI_ITSS_AUTH_REP_01_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_02_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_03_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_04_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_05_BV()); } } } Loading ItsPki_Pixits.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -18,4 +18,6 @@ module ItsPki_Pixits { modulepar float PX_EC_REPETITION_TIMEOUT_TH2 := 150.0; modulepar float PX_AT_REPETITION_TIMEOUT_TH2 := 150.0; } // End of module ItsPki_Pixits lib/LibItsPki_Pics.ttcn +10 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,16 @@ module LibItsPki_Pics { */ modulepar boolean PICS_SECPKI_ENROLLMENT_RETRY := true; /** * @desc Does the IUT support authorization repetition? */ modulepar boolean PICS_SECPKI_AUTHORIZATION_RETRY := true; /** * @desc Does the IUT support authorization repetition? */ modulepar boolean PICS_SECPKI_AUTH_PRIVACY := true; /** * @desc Does the IUT support autorization? */ Loading lib_system/LibItsPki_Functions.ttcn +37 −0 Original line number Diff line number Diff line Loading @@ -846,6 +846,10 @@ module LibItsPki_Functions { httpAtVPort.stop; httpAtVPort.start; } case ("inner_at_request"){ httpAtPort.stop; httpAtPort.start; } } } } // End of function f_http_restart Loading Loading @@ -5368,6 +5372,18 @@ module LibItsPki_Functions { mw_binary_body_ieee1609dot2_data( p_ieee1609dot2_data) ))); template (present) HttpMessage mw_http_at_request_generic ( template (present) Ieee1609Dot2Data p_ieee1609dot2_data := mw_authorizationRequestMessage(mw_encryptedData()) ) := mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_AT, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( p_ieee1609dot2_data) ))); } // End of predefined requests function f_await_ec_request_send_response( Loading Loading @@ -5474,6 +5490,27 @@ module LibItsPki_Functions { } // End of function f_await_ec_request_send_no_response function f_await_at_request_send_no_response( out HttpMessage p_request ) runs on ItsPkiHttp return boolean { log(">>> f_await_at_request_send_no_response"); var boolean v_result := false; tc_ac.start; alt { [] a_await_at_http_request_from_iut(mw_http_at_request_generic, p_request) { tc_ac.stop; log("f_await_at_request_send_no_response: Restart HTTP connection ***"); v_result := true; f_http_restart("inner_at_request"); } [] tc_ac.timeout { log("f_await_at_request_send_no_response: Expected message not received ***"); } } // End of 'alt' statement return v_result; } // End of function f_await_at_request_send_no_response function f_await_ec_request_send_error_response( out HttpMessage p_request ) runs on ItsPkiHttp { Loading Loading
ItsPkiItss_TestCases.ttcn +29 −74 Original line number Diff line number Diff line Loading @@ -5749,8 +5749,8 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTH_PRIVACY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE, PICS_SECPKI_AUTHORIZATION and PICS_SECPKI_AUTH_PRIVACY are required for executing the TC ***"); setverdict(inconc); stop; } Loading Loading @@ -5866,7 +5866,7 @@ module ItsPkiItss_TestCases { /** * @desc Check that the ecSignature of the Authorization request is not encrypted * <pre> * Pics Selection: PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION * Pics Selection: PICS_IUT_ITS_S_ROLE, PICS_SECPKI_AUTHORIZATION and not PICS_SECPKI_AUTH_PRIVACY * Initial conditions: * with { * the IUT in 'enrolled' state Loading Loading @@ -5896,7 +5896,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or PICS_SECPKI_AUTH_PRIVACY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6049,7 +6049,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6251,7 +6251,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6461,7 +6461,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6668,7 +6668,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6807,7 +6807,7 @@ module ItsPkiItss_TestCases { var ItsPkiHttp v_ea; // Test control if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION) { if (not PICS_IUT_ITS_S_ROLE or not PICS_SECPKI_AUTHORIZATION or not PICS_SECPKI_AUTHORIZATION_RETRY) { log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE and PICS_SECPKI_AUTHORIZATION required for executing the TC ***"); setverdict(inconc); stop; Loading Loading @@ -6859,29 +6859,18 @@ module ItsPkiItss_TestCases { } // End of 'alt' statement // Test Body f_sendUtTriggerAuthorizationRequestPrimitive(); geoNetworkingPort.clear; tc_ac.start; alt { [v_start_awaiting == true] a_await_cam_with_current_cert( v_info_port_data.at_certificate ) { log("*** " & testcasename() & ": PASS: IUT started to send CA message using new AT certificate ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] geoNetworkingPort.receive { log("*** " & testcasename() & ": FAIL: IUT started to send CA message using wrong AT certificate ***"); log("No CA message expected"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } [] infoPort.receive(InfoPortData:?) -> value v_info_port_data { log("*** " & testcasename() & ": INFO: Received new AT certificate ***"); v_start_awaiting := true; repeat; } [] tc_ac.timeout { log("*** " & testcasename() & "_itss: : PASS: No CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & testcasename() & "_itss: : INFO: No CA message received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } } } // End of 'alt' statement // Postamble f_cfDown_itss(); Loading @@ -6891,6 +6880,7 @@ module ItsPkiItss_TestCases { // Local variable var Headers v_headers; var HttpMessage v_request; var HttpMessage v_at_request; var InnerEcResponse v_inner_ec_response; var InnerEcRequest v_inner_ec_request; Loading Loading @@ -6920,58 +6910,23 @@ module ItsPkiItss_TestCases { } // Test Body tc_ac.start(PX_TAC * 1.1); // for different timer PIXIT_AUTH_TIMEOUT_TH2 tc_wait.start(PX_AT_REPETITION_TIMEOUT_TH2); // PX_AT_REPETITION_TIMEOUT alt { [] a_await_at_http_request_from_iut( mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_AT, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( mw_authorizationRequestMessage( mw_encryptedData( { *, mw_recipientInfo_pskRecipInfo(vc_aaHashedId8), * }, mw_symmetricCiphertext_aes128ccm )))))), v_request ) { var HttpMessage v_response; var integer v_result; var InnerAtRequest v_inner_at_request; var InnerAtResponse v_inner_at_response; tc_ac.stop; // Verify IUT response f_verify_http_at_request_from_iut_itss(v_request.request, v_headers, v_inner_ec_response.certificate, v_inner_at_request, v_inner_at_response, v_response, v_result); // Send response if (isvalue(v_response)) { httpPort.send(v_response); [] a_await_at_http_request_from_iut(mw_http_at_request_generic, v_request) { log("*** " & testcasename() & ": FAIL: AT repetition has been received after a ", tc_wait.read, " ***"); //fails in TC5 tc_wait.stop; f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } // Set verdict if (v_result == 0) { var octetstring v_msg; var octetstring v_hashed_id8; log("*** " & testcasename() & ": PASS: InnerAtRequest received ***"); v_msg := bit2oct(encvalue(v_inner_at_response.certificate)); if (ischosen(v_inner_at_response.certificate.toBeSigned.verifyKeyIndicator.verificationKey.ecdsaBrainpoolP384r1)) { v_hashed_id8 := f_hashedId8FromSha384(f_hashWithSha384(v_msg)); [] tc_wait.timeout { if (f_await_at_request_send_no_response(v_at_request) == true) { log("*** " & testcasename() & ": FAIL: AT repetition was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { v_hashed_id8 := f_hashedId8FromSha256(f_hashWithSha256(v_msg)); } infoPort.send(InfoPortData : { hashed_id8 := v_hashed_id8, at_certificate := v_inner_at_response.certificate }); log("*** " & testcasename() & ": PASS: AT repetition was not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { log("*** " & testcasename() & ": FAIL: Failed to verify AA an AuthorizationRequestMessage ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } } [] tc_ac.timeout { log("*** " & testcasename() & ": PASS: Expected no AuthorizationRequestMessage ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } // End of 'alt' statement // Postamble f_cfHttpDown(); Loading
ItsPkiItss_TestControl.ttcn +27 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,33 @@ module ItsPkiItss_TestControl { } if (PICS_SECPKI_AUTHORIZATION) { // TODO execute(TC_SECPKI_ITSS_AUTH_01_BV()); execute(TC_SECPKI_ITSS_AUTH_02_BV()); execute(TC_SECPKI_ITSS_AUTH_03_BV()); execute(TC_SECPKI_ITSS_AUTH_04_BV()); execute(TC_SECPKI_ITSS_AUTH_05_BV()); execute(TC_SECPKI_ITSS_AUTH_06_BV()); execute(TC_SECPKI_ITSS_AUTH_07_BV()); execute(TC_SECPKI_ITSS_AUTH_08_BV()); execute(TC_SECPKI_ITSS_AUTH_09_BV()); execute(TC_SECPKI_ITSS_AUTH_10_BV()); execute(TC_SECPKI_ITSS_AUTH_11_BV()); execute(TC_SECPKI_ITSS_AUTH_12_BV()); execute(TC_SECPKI_ITSS_AUTH_13_BV()); execute(TC_SECPKI_ITSS_AUTH_14_BV()); if (PICS_SECPKI_AUTH_PRIVACY) { execute(TC_SECPKI_ITSS_AUTH_15_BV()); } if (not PICS_SECPKI_AUTH_PRIVACY) { execute(TC_SECPKI_ITSS_AUTH_16_BV()); } if (PICS_SECPKI_AUTHORIZATION_RETRY) { execute(TC_SECPKI_ITSS_AUTH_REP_01_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_02_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_03_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_04_BV()); execute(TC_SECPKI_ITSS_AUTH_REP_05_BV()); } } } Loading
ItsPki_Pixits.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -18,4 +18,6 @@ module ItsPki_Pixits { modulepar float PX_EC_REPETITION_TIMEOUT_TH2 := 150.0; modulepar float PX_AT_REPETITION_TIMEOUT_TH2 := 150.0; } // End of module ItsPki_Pixits
lib/LibItsPki_Pics.ttcn +10 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,16 @@ module LibItsPki_Pics { */ modulepar boolean PICS_SECPKI_ENROLLMENT_RETRY := true; /** * @desc Does the IUT support authorization repetition? */ modulepar boolean PICS_SECPKI_AUTHORIZATION_RETRY := true; /** * @desc Does the IUT support authorization repetition? */ modulepar boolean PICS_SECPKI_AUTH_PRIVACY := true; /** * @desc Does the IUT support autorization? */ Loading
lib_system/LibItsPki_Functions.ttcn +37 −0 Original line number Diff line number Diff line Loading @@ -846,6 +846,10 @@ module LibItsPki_Functions { httpAtVPort.stop; httpAtVPort.start; } case ("inner_at_request"){ httpAtPort.stop; httpAtPort.start; } } } } // End of function f_http_restart Loading Loading @@ -5368,6 +5372,18 @@ module LibItsPki_Functions { mw_binary_body_ieee1609dot2_data( p_ieee1609dot2_data) ))); template (present) HttpMessage mw_http_at_request_generic ( template (present) Ieee1609Dot2Data p_ieee1609dot2_data := mw_authorizationRequestMessage(mw_encryptedData()) ) := mw_http_request( mw_http_request_post( PICS_HTTP_POST_URI_AT, -, mw_http_message_body_binary( mw_binary_body_ieee1609dot2_data( p_ieee1609dot2_data) ))); } // End of predefined requests function f_await_ec_request_send_response( Loading Loading @@ -5474,6 +5490,27 @@ module LibItsPki_Functions { } // End of function f_await_ec_request_send_no_response function f_await_at_request_send_no_response( out HttpMessage p_request ) runs on ItsPkiHttp return boolean { log(">>> f_await_at_request_send_no_response"); var boolean v_result := false; tc_ac.start; alt { [] a_await_at_http_request_from_iut(mw_http_at_request_generic, p_request) { tc_ac.stop; log("f_await_at_request_send_no_response: Restart HTTP connection ***"); v_result := true; f_http_restart("inner_at_request"); } [] tc_ac.timeout { log("f_await_at_request_send_no_response: Expected message not received ***"); } } // End of 'alt' statement return v_result; } // End of function f_await_at_request_send_no_response function f_await_ec_request_send_error_response( out HttpMessage p_request ) runs on ItsPkiHttp { Loading