Commit 98c694df authored by garciay's avatar garciay
Browse files

STF545: Execute first EA tests

parent 0cd5a90b
......@@ -123,7 +123,7 @@ module TestCodec_Pki {
var InnerEcRequest v_inner_ec_request;
var Ieee1609Dot2Data v_inner_ec_request_signed_for_pop;
var bitstring v_inner_ec_request_signed_for_pop_msg;
var Ieee1609Dot2Data v_dec_inner_ec_request_signed_for_pop;
var EtsiTs102941Data v_dec_inner_ec_request_signed_for_pop;
var InnerEcRequest v_dec_inner_ec_request;
var bitstring v_dec_inner_ec_request_msg;
var bitstring v_tbs;
......@@ -207,7 +207,8 @@ module TestCodec_Pki {
stop;
}
// Extract InnerEcRequest
v_dec_inner_ec_request_msg := oct2bit(v_dec_inner_ec_request_signed_for_pop.content.signedData.tbsData.payload.data.content.unsecuredData);
log("v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest= ", v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest);
v_dec_inner_ec_request_msg := oct2bit(v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest.content.signedData.tbsData.payload.data.content.unsecuredData);
v_result := decvalue(v_dec_inner_ec_request_msg, v_dec_inner_ec_request);
if (v_result == 0) {
log("Decode InnerEcRequest: ", v_dec_inner_ec_request);
......@@ -369,6 +370,9 @@ module TestCodec_Pki {
var bitstring v_ieee1609dot2_signed_and_encrypted_data_msg;
var Ieee1609Dot2Data v_dec_ieee1609dot2_signed_and_encrypted_data;
var Ieee1609Dot2Data v_dec_ieee1609dot2_signed_data;
var bitstring v_dec_inner_ec_response_msg;
var EtsiTs102941Data v_dec_inner_ec_response;
var integer v_result;
if (not(PICS_SEC_FIXED_KEYS)) {
......@@ -427,7 +431,7 @@ module TestCodec_Pki {
// Build secured PKI message
v_enc_msg := encvalue(m_etsiTs102941Data_inner_ec_response(v_inner_ec_response));
if (f_build_pki_secured_message(v_private_key, v_publicKeyCompressed, v_compressedMode, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data) == false) {
setverdict(fail, "Failed to secure InnerEcRequest message");
setverdict(fail, "Failed to secure InnerEcResponse message");
stop;
}
// Encode it
......@@ -436,7 +440,7 @@ module TestCodec_Pki {
log("Encoded message: ", v_ieee1609dot2_signed_and_encrypted_data_msg);
setverdict(pass, "Encoded succeed");
// Decode encrypted InnerEcRequest
// Decode encrypted InnerEcResponse
v_result := decvalue(v_ieee1609dot2_signed_and_encrypted_data_msg, v_dec_ieee1609dot2_signed_and_encrypted_data);
if (v_result == 0) {
log("Decoded message: ", v_dec_ieee1609dot2_signed_and_encrypted_data);
......@@ -452,10 +456,40 @@ module TestCodec_Pki {
stop;
}
// Decrypt InnerEcRequest
// Decrypt InnerEcResponse
f_decrypt(v_private_key, v_dec_ieee1609dot2_signed_and_encrypted_data, v_dec_ieee1609dot2_signed_data);
log("v_dec_ieee1609dot2_signed_data= ", v_dec_ieee1609dot2_signed_data);
// Verify signature
v_tbs := encvalue(v_dec_ieee1609dot2_signed_data.content.signedData.tbsData);
if (fx_verifyWithEcdsaNistp256WithSha256(
bit2oct(v_tbs),
int2oct(0, 32),
v_dec_ieee1609dot2_signed_data.content.signedData.signature_.ecdsaNistP256Signature.rSig.x_only & v_dec_ieee1609dot2_signed_data.content.signedData.signature_.ecdsaNistP256Signature.sSig,
v_publicKeyCompressed,
v_compressedMode) == true) {
setverdict(pass, "Check signature succeed");
} else {
setverdict(fail, "Check signature failed");
stop;
}
// Extract InnerEcResponse
v_dec_inner_ec_response_msg := oct2bit(v_dec_ieee1609dot2_signed_data.content.signedData.tbsData.payload.data.content.unsecuredData);
v_result := decvalue(v_dec_inner_ec_response_msg, v_dec_inner_ec_response);
if (v_result == 0) {
log("Decoded InnerEcResponse: ", v_dec_inner_ec_response);
setverdict(pass, "Decoded succeed");
if (match(v_dec_inner_ec_response.content.enrolmentResponse, v_inner_ec_response)) {
setverdict(pass, "Decoded match succeed");
} else {
setverdict(fail, "Decoded match failed");
stop;
}
} else {
setverdict(fail, "Decoding failed");
stop;
}
} // End of testcase tc_inner_ec_response_2
control {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment