Commit efe265b2 authored by garciay's avatar garciay
Browse files

Add support of AuthorizarionRequest/Response

parent 633a23d0
......@@ -113,6 +113,19 @@ namespace LibItsPki__TestSystem {
}
void PkiPort::outgoing_send(const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& send_par) {
loggers::get_instance().log_msg(">>> PkiPort::outgoing_send: payload=", send_par);
float duration;
loggers::get_instance().set_start_time(_time_key);
params params;
static_cast<pki_layer *>(_layer)->sendMsg(send_par, params);
loggers::get_instance().set_stop_time(_time_key, duration);
}
void PkiPort::outgoing_send(const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse& send_par) {
}
void PkiPort::receiveMsg (const EtsiTs102941TypesEnrolment::InnerEcRequest& p_ind, const params& p_params) {
loggers::get_instance().log_msg(">>> PkiPort::receive_msg: ", p_ind);
// Sanity check
......@@ -132,6 +145,26 @@ namespace LibItsPki__TestSystem {
incoming_message(p_ind);
}
void PkiPort::receiveMsg (const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& p_ind, const params& p_params) {
loggers::get_instance().log_msg(">>> PkiPort::receive_msg: ", p_ind);
// Sanity check
if (!p_ind.is_bound()) {
return;
}
incoming_message(p_ind);
}
void PkiPort::receiveMsg (const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse& p_ind, const params& p_params) {
loggers::get_instance().log_msg(">>> PkiPort::receive_msg: ", p_ind);
// Sanity check
if (!p_ind.is_bound()) {
return;
}
incoming_message(p_ind);
}
} /* end of namespace */
......@@ -29,6 +29,8 @@ public:
void set_parameter(const char *parameter_name, const char *parameter_value);
void receiveMsg (const EtsiTs102941TypesEnrolment::InnerEcRequest& p_ind, const params& p_params);
void receiveMsg (const EtsiTs102941TypesEnrolment::InnerEcResponse& p_ind, const params& p_params);
void receiveMsg (const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& p_ind, const params& p_params);
void receiveMsg (const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse& p_ind, const params& p_params);
private:
/* void Handle_Fd_Event(int fd, boolean is_readable,
......@@ -46,6 +48,8 @@ protected:
void outgoing_send(const EtsiTs102941TypesEnrolment::InnerEcRequest& send_par);
void outgoing_send(const EtsiTs102941TypesEnrolment::InnerEcResponse& send_par);
void outgoing_send(const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& send_par);
void outgoing_send(const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse& send_par);
};
} /* end of namespace */
......@@ -17,7 +17,7 @@ using namespace std; // Required for isnan()
#include "LibItsPki_TypesAndValues.hh"
#include "LibItsPki_TestSystem.hh"
pki_layer::pki_layer(const std::string & p_type, const std::string & param) : t_layer<LibItsPki__TestSystem::PkiPort>(p_type), _params(), _etsi_ts102941_types_enrolment_inner_request(), _etsi_ts102941_types_enrolment_inner_response(), _codec(), _codec_etsi_ts102941_data(), _ac_set_security_data(nullptr)
pki_layer::pki_layer(const std::string & p_type, const std::string & param) : t_layer<LibItsPki__TestSystem::PkiPort>(p_type), _params(), _etsi_ts102941_types_enrolment_inner_request(), _etsi_ts102941_types_enrolment_inner_response(), _etsi_ts102941_types_authorization_validation_request(), _etsi_ts102941_types_authorization_validation_response(), _codec(), _ac_set_security_data(nullptr)
{
loggers::get_instance().log(">>> pki_layer::pki_layer: %s, %s", to_string().c_str(), param.c_str());
......@@ -54,7 +54,7 @@ void pki_layer::sendMsg(const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inne
OCTETSTRING inner_ec_request;
_etsi_ts102941_types_enrolment_inner_request.encode(p_inner_ec_request, inner_ec_request);
// Build the EtsiTs103097Data-Encrypted
// Build the EtsiTs103097Data-Signed
OCTETSTRING etsi_ts_103097_data;
if (generate_inner_ec_request_signed_for_pop(inner_ec_request, etsi_ts_103097_data, _params) == -1) {
loggers::get_instance().warning("pki_layer::sendMsg: Failed to generate InnerExRequestSignedForPop");
......@@ -75,13 +75,36 @@ void pki_layer::sendMsg(const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inne
void pki_layer::sendMsg(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_ec_response, params& p_param) {
loggers::get_instance().log_msg(">>> pki_layer::sendMsg: ", p_inner_ec_response);
OCTETSTRING data;
_etsi_ts102941_types_enrolment_inner_response.encode(p_inner_ec_response, data);
// Add security
OCTETSTRING secured_data;
if (sign_and_encrypt_payload(data, secured_data, p_param) == 0) {
send_data(data, _params);
OCTETSTRING inner_ec_response;
_etsi_ts102941_types_enrolment_inner_response.encode(p_inner_ec_response, inner_ec_response);
// Secured the EtsiTs102941Data layer
OCTETSTRING secured_inner_ec_response;
if (sign_and_encrypt_payload(inner_ec_response, secured_inner_ec_response, p_param) == 0) {
send_data(secured_inner_ec_response, _params);
}
}
void pki_layer::sendMsg(const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& p_authorization_validation_request, params& p_param) {
loggers::get_instance().log_msg(">>> pki_layer::sendMsg: ", p_authorization_validation_request);
// Sanity checks
if (_ac_set_security_data.get() == nullptr) {
loggers::get_instance().error("pki_layer::sendMsg: Security data missing");
return;
}
OCTETSTRING authorization_validation_request;
_etsi_ts102941_types_authorization_validation_request.encode(p_authorization_validation_request, authorization_validation_request);
// Secured the EtsiTs102941Data layer
OCTETSTRING etsi_ts_102941_data;
if (sign_and_encrypt_payload(authorization_validation_request, etsi_ts_102941_data, _params) == -1) {
loggers::get_instance().warning("pki_layer::sendMsg: Failed to secure Pki message");
return;
}
loggers::get_instance().log_msg("<<< pki_layer::generate_authorization_validation_request: ", etsi_ts_102941_data);
send_data(etsi_ts_102941_data, _params);
}
void pki_layer::send_data(OCTETSTRING& data, params& params) {
......
......@@ -16,6 +16,8 @@
#include "etsi_ts102941_types_enrolment_inner_request.hh"
#include "etsi_ts102941_types_enrolment_inner_response.hh"
#include "etsi_ts102941_types_authorization_validation_request.hh"
#include "etsi_ts102941_types_authorization_validation_response.hh"
#include "etsi_ts103097_data_codec.hh"
#include "etsi_ts102941_data.hh"
......@@ -40,6 +42,8 @@ class pki_layer : public t_layer<LibItsPki__TestSystem::PkiPort> {
params _params;
etsi_ts102941_types_enrolment_inner_request _etsi_ts102941_types_enrolment_inner_request; // TODO Rename _codec_etsi_ts102941_types_enrolment_inner_request
etsi_ts102941_types_enrolment_inner_response _etsi_ts102941_types_enrolment_inner_response; // TODO Rename _codec_etsi_ts102941_types_enrolment_inner_response
etsi_ts102941_types_authorization_validation_request _etsi_ts102941_types_authorization_validation_request; // TODO Rename _codec_etsi_ts102941_types_authorization_validation_request
etsi_ts102941_types_authorization_validation_response _etsi_ts102941_types_authorization_validation_response; // TODO Rename _codec_etsi_ts102941_types_authorization_validation_response
etsi_ts103097_data_codec _codec; // TODO Rename _codec_etsi_ts103097_data_codec
etsi_ts102941_data _codec_etsi_ts102941_data;
......@@ -52,7 +56,7 @@ public: //! \publicsection
* \param[in] p_type \todo
* \param[in] p_param \todo
*/
pki_layer() : t_layer(), _params(), _etsi_ts102941_types_enrolment_inner_request(), _etsi_ts102941_types_enrolment_inner_response(), _codec(), _codec_etsi_ts102941_data(), _ac_set_security_data(nullptr) { };
pki_layer() : t_layer(), _params(), _etsi_ts102941_types_enrolment_inner_request(), _etsi_ts102941_types_enrolment_inner_response(), _etsi_ts102941_types_authorization_validation_request(), _etsi_ts102941_types_authorization_validation_response(), _codec(), _codec_etsi_ts102941_data(), _ac_set_security_data(nullptr) { };
/*!
* \brief Specialised constructor
* Create a new instance of the pki_layer class
......@@ -67,19 +71,27 @@ public: //! \publicsection
/*!
* \fn void sendMsg(const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_ec_request, params& p_param);
* \brief Send HTTP message to the lower layers
* \brief Send PKI message to the lower layers
* \param[in] p_inner_ec_request The InnerEcRequest message to be sent
* \param[in] p_params Some parameters to overwrite default value of the lower layers parameters
*/
void sendMsg(const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_ec_request, params& p_param);
/*!
* \fn void sendMsg(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_ec_request, params& p_param);
* \brief Send HTTP message to the lower layers
* \param[in] p_inner_ec_request The InnerEcResponse message to be sent
* \fn void sendMsg(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_ec_response, params& p_param);
* \brief Send PKI message to the lower layers
* \param[in] p_inner_ec_response The InnerEcResponse message to be sent
* \param[in] p_params Some parameters to overwrite default value of the lower layers parameters
*/
void sendMsg(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_ec_request, params& p_param);
void sendMsg(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_ec_response, params& p_param);
/*!
* \fn void sendMsg(const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& p_authorization_validation_request, params& p_param);
* \brief Send PKI message to the lower layers
* \param[in] p_authorization_validation_request The AuthorizationValidationRequest message to be sent
* \param[in] p_params Some parameters to overwrite default value of the lower layers parameters
*/
void sendMsg(const EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& p_authorization_validation_request, params& p_param);
/*!
* \virtual
......
......@@ -125,7 +125,7 @@ system.utPort.params := "UT_PKI/UDP(dst_ip=172.23.0.1,dst_port=8000)"
#ItsPki_TestCases.TC_SEC_PKI_ITSS_ENR_BV_01
#ItsPki_TestCases.TC_SEC_PKI_ITSS_ENR_BV_02
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_01
ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_02
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_02
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_03
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_04
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_05
......@@ -134,6 +134,7 @@ ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_02
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_08
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_09
#ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_10
ItsPki_TestCases.TC_SEC_PKI_SND_EA_BV_11
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
......
......@@ -343,7 +343,8 @@ system.pkiPort.params := "PKI/HTTP(device_mode=1,uri=/its/inner_ec_request,host=
#TestCodec_Pki.tc_inner_ec_request_2
#TestCodec_Pki.tc_inner_ec_request_3
#TestCodec_Pki.tc_inner_ec_response_1
TestCodec_Pki.tc_inner_ec_response_2
#TestCodec_Pki.tc_inner_ec_response_2
TestCodec_Pki.tc_inner_ec_functions_1
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
......
......@@ -23,6 +23,8 @@ module ItsPki_TestCases {
import from IEEE1609dot2 language "ASN.1:1997" all;
import from EtsiTs102941BaseTypes language "ASN.1:1997" all;
import from EtsiTs102941TypesEnrolment language "ASN.1:1997" all;
import from EtsiTs102941TypesAuthorization language "ASN.1:1997" all;
import from EtsiTs102941TypesAuthorizationValidation language "ASN.1:1997" all;
import from EtsiTs102941MessagesItss language "ASN.1:1997" all;
import from EtsiTs103097Module language "ASN.1:1997" all;
import from ITS_Container language "ASN.1:1997" all;
......@@ -230,7 +232,7 @@ module ItsPki_TestCases {
mw_signerIdentifier_certificate
)
)
))) {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: IUT uses new certificate ***");
// TODO Check that is the expected one
......@@ -497,7 +499,236 @@ module ItsPki_TestCases {
f_cfHttpDown();
} // End of testcase f_TC_SEC_PKI_ITSS_ENR_BV_02_pki
} // End of f_TC_SEC_PKI_ITSS_ENR_BV_01
} // End of f_TC_SEC_PKI_ITSS_ENR_BV_02
/**
* @desc Check that IUT sends an enrolment request when triggered.
* <pre>
* Pics Selection:
* Initial conditions:
* with {
* the IUT being in the "initial state"
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT is triggered to requested a new Enrolment Certificate (EC)
* }
* then {
* the IUT sends to EA an EnrolmentRequestMessage
* }
* }
* </pre>
*
* @see ETSI TS ITS-00546v006 TP 2
* @reference ETSI TS 102 941 [2], clause 6.1.3
*/
testcase TEST() runs on ItsMtc /*system ItsPkiItssSystem*/ {
// Local variables
var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed;
var integer v_compressedMode;
var ItsPkiItss v_itss;
var ItsPki v_ea;
// Test control
if (not PICS_IUT_ITS_S_ROLE) {
log("*** " & testcasename() & ": PICS_IUT_ITS_S_ROLE required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
if (f_generate_key_pair_nistp256(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode) == false) {
log("*** " & testcasename() & ": FAIL: Failed to setup InnerEcRequest message ***")
setverdict(inconc);
stop;
}
v_itss.start(f_TEST_itss(cc_taCert_A, v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode));
v_ea.start(f_TEST_pki(cc_taCert_A, v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode));
// Synchronization
f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
// Cleanup
} // End of testcase TEST
group f_TEST {
function f_TEST_itss(
in charstring p_certificate_id,
in octetstring p_private_key,
in octetstring p_publicKeyX,
in octetstring p_publicKeyY,
in octetstring p_publicKeyCompressed,
in integer p_compressedMode
) runs on ItsPkiItss /*system ItsPkiItssSystem*/ {
// Local variables
var GeoNetworkingInd v_geoNwInd;
var EtsiTs103097Certificate v_initial_certificate;
// Test component configuration
f_cfUp_itss();
// Test adapter configuration
// Preamble
tc_ac.start; // Wait for current certificate
alt {
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwSecPdu(
mw_etsiTs103097Data_signed(
mw_signedData(
-,
mw_toBeSignedData(
mw_signedDataPayload,
mw_headerInfo_cam
),
mw_signerIdentifier_certificate(
mw_etsiTs103097Certificate(
-,
mw_toBeSignedCertificate_at(
{ mw_appPermissions(c_its_aid_CAM) }
)
)
)
)
),
mw_geoNwShbPacket
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": INFO: Receieve initial certificate");
// Extract the initial certificate
v_initial_certificate := v_geoNwInd.msgIn.gnPacket.securedMsg.content.signedData.signer.certificate[0];
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwSecPdu(
mw_etsiTs103097Data_signed
))) {
log("*** " & testcasename() & ": DEBUG: Still waiting for certificate");
repeat;
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Expected CA message not received ***");
f_selfOrClientSyncAndVerdictTestBody(c_prDone, e_timeout);
}
} // End of 'alt' statement
// Test Body
tc_ac.start;
alt {
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwSecPdu(
mw_etsiTs103097Data_signed(
mw_signedData(
-,
mw_toBeSignedData(
mw_signedDataPayload,
mw_headerInfo_cam
),
mw_signerIdentifier_certificate(
v_initial_certificate
)
)
),
mw_geoNwShbPacket
))) {
log("*** " & testcasename() & ": INFO: IUT still using initial certificate ***");
repeat;
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwSecPdu(
mw_etsiTs103097Data_signed(
mw_signedData(
-,
mw_toBeSignedData(
mw_signedDataPayload,
mw_headerInfo_gn
),
mw_signerIdentifier_certificate
)
)
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: IUT uses new certificate ***");
// TODO Check that is the expected one
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwSecPdu(
mw_etsiTs103097Data_signed
))) {
log("*** " & testcasename() & ": INFO: Unexpected message received, continue ***");
repeat;
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Expected message not received ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
// Postamble
f_cfDown_itss();
} // End of testcase f_TEST_itss
function f_TEST_pki(
in charstring p_certificate_id,
in octetstring p_private_key,
in octetstring p_publicKeyX,
in octetstring p_publicKeyY,
in octetstring p_publicKeyCompressed,
in integer p_compressedMode
) runs on ItsPki /*system ItsPkiSystem*/ {
// Local variables
// Test component configuration
LibItsPki_Functions.f_cfUp();
// Test adapter configuration
// Preamble
tc_ac.start;
alt {
[] pkiPort.receive(
mw_innerEcRequest
) {
log("*** " & testcasename() & ": INFO: InnerEcRequest received ***");
repeat;
}
[] pkiPort.receive(
mw_innerEcResponse_ok
) {
tc_ac.stop;
log("*** " & testcasename() & ": INFO: InnerEcResponse received ***");
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Expected message not received ***");
f_selfOrClientSyncAndVerdictTestBody(c_prDone, e_timeout);
}
} // End of 'alt' statement
// Test Body
log("*** " & testcasename() & ": PASS: Message triggered ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
// Postamble
LibItsPki_Functions.f_cfDown();
} // End of testcase f_TEST_pki
} // End of f_TEST
} // End of group itss_manufacturing
......@@ -1553,6 +1784,110 @@ module ItsPki_TestCases {
} // End of testcase TC_SEC_PKI_SND_EA_BV_10
} // End of group enrolment_response
group authorization_vaidation_response {
/**
* @desc The AuthorizationValidationResponse message shall be sent by the EA to the AA across the interface
* at reference point S4 in response to a received AuthorizationValidationRequest message
* <pre>
* Pics Selection:
* Initial conditions:
* with {
* the IUT being in the "operational state"
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT receives a AuthorizationValidationRequest message
* }
* then {
* the IUT sends a AuthorizationValidationResponse message
* across the reference point S4 to the AA
* }
* }
* </pre>
*
* @see ETSI TS ITS-00546v006 TP AuthValRes_1_EA
* @reference ETSI TS 102 941, clause 6.2.3.4
*/
testcase TC_SEC_PKI_SND_EA_BV_11() runs on ItsPki system ItsPkiSystem {
// Local variables
var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed;
var Oct32 v_private_enc_key;
var Oct32 v_publicEncKeyX;
var Oct32 v_publicEncKeyY;
var Oct32 v_publicEncKeyCompressed;
var integer v_compressedMode;
var InnerEcRequest v_inner_ec_request;
var Certificate v_ec_certificate;
var InnerAtRequest v_inner_at_request;
var Ieee1609Dot2Data v_inner_at_request_data;
var AuthorizationValidationRequest v_authorization_validation_request;
// Test control
if (not PICS_IUT_EA_ROLE) {
log("*** " & testcasename() & ": PICS_IUT_EA_ROLE required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
LibItsPki_Functions.f_cfUp();
// Test adapter configuration
// Preamble
f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request);
/*if (f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) {
log("*** " & testcasename() & ": FAIL: Failed to setup InnerEcRequest message ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop;
}*/
if (f_generate_ec_certificate(v_private_key, v_inner_ec_request, v_ec_certificate) == false) {
log("*** " & testcasename() & ": FAIL: Failed to generate EC certificate ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop;
}
if (f_generate_inner_at_request(v_ec_certificate, v_private_key, vc_eaCertificate, vc_eaHashedId8, true, v_private_enc_key, v_publicEncKeyX, v_publicEncKeyY, v_publicEncKeyCompressed, v_compressedMode, v_inner_at_request, v_inner_at_request_data) == false) {
log("*** " & testcasename() & ": FAIL: Failed to setup InnerAtRequest message ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop;
}
if (f_generate_authorization_validation_request(v_inner_at_request, v_ec_certificate, v_authorization_validation_request) == false) {
log("*** " & testcasename() & ": FAIL: Failed to setup AuthorisationValidationRequest message ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop;
}
f_sendAcPkiPrimitive(v_private_key, v_publicKeyCompressed, v_compressedMode);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
pkiPort.send(v_authorization_validation_request);
tc_ac.start;
alt {
[] pkiPort.receive(
mw_authorizationValidationResponse_ok
) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: AuthorizationValidationResponse received ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Expected message not received ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
// Postamble
LibItsPki_Functions.f_cfDown();
} // End of testcase TC_SEC_PKI_SND_EA_BV_11
} // End of group authorization_vaidation_response
} // End of group ea_behavior
......
Subproject commit 2550f00a115fba30d0e326aba6a744b4a4e961be
Subproject commit b74f5807ac05ad5862f26df23cdf75d6519c5ffa
......@@ -252,14 +252,14 @@ module TestCodec_Pki {
//f_sendAcPrimitiv();
v_ac_set_security_data := { "CERT_TS_A_EA", "CERT_IUT_A_EA", v_private_key, v_publicKeyCompressed, v_compressedMode };
acPkiPort.send(AcPkiPrimitive: { acSetSecurityData := v_ac_set_security_data });
acPort.send(AcPkiPrimitive: { acSetSecurityData := v_ac_set_security_data });
tc_ac.start;
alt {
[] acPkiPort.receive(AcPkiResponse: { result := true }) {
[] acPort.receive(AcPkiResponse: { result := true }) {
tc_ac.stop;
setverdict(pass);
}
[] acPkiPort.receive(AcPkiResponse: { result := false }) {
[] acPort.receive(AcPkiResponse: { result := false }) {
tc_ac.stop;
setverdict(fail, "Failed to set Test System Security data");
stop;
......@@ -569,6 +569,96 @@ module TestCodec_Pki {
stop;
}
} // End of testcase tc_inner_ec_response_2