Commit c30d2e87 authored by Yann Garcia's avatar Yann Garcia
Browse files

Add unit tests

parent c3a580e8
...@@ -613,8 +613,6 @@ module ItsPki_TestCases { ...@@ -613,8 +613,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_01() runs on ItsPki system ItsPkiSystem { testcase TC_SEC_PKI_SND_EA_BV_01() runs on ItsPki system ItsPkiSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var InnerEcRequest v_inner_ec_request; var InnerEcRequest v_inner_ec_request;
...@@ -632,12 +630,12 @@ module ItsPki_TestCases { ...@@ -632,12 +630,12 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
if (f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) { if (f_generate_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) {
log("*** " & testcasename() & ": FAIL: Failed to setup InnerEcRequest message ***") log("*** " & testcasename() & ": FAIL: Failed to setup InnerEcRequest message ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop; stop;
} }
f_sendAcPkiPrimitive(v_private_key, v_publicKeyCompressed, v_compressedMode); f_sendAcPkiPrimitive(PICS_TS_EA_CERTIFICATE_ID, v_private_key, v_publicKeyCompressed, v_compressedMode);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body // Test Body
...@@ -695,8 +693,6 @@ module ItsPki_TestCases { ...@@ -695,8 +693,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_02() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_02() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -718,7 +714,7 @@ module ItsPki_TestCases { ...@@ -718,7 +714,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
...@@ -803,8 +799,6 @@ module ItsPki_TestCases { ...@@ -803,8 +799,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_03() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_03() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -826,7 +820,7 @@ module ItsPki_TestCases { ...@@ -826,7 +820,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -916,8 +910,6 @@ module ItsPki_TestCases { ...@@ -916,8 +910,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_04() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_04() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -939,7 +931,7 @@ module ItsPki_TestCases { ...@@ -939,7 +931,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -1026,8 +1018,6 @@ module ItsPki_TestCases { ...@@ -1026,8 +1018,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_05() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_05() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -1049,7 +1039,7 @@ module ItsPki_TestCases { ...@@ -1049,7 +1039,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -1135,8 +1125,6 @@ module ItsPki_TestCases { ...@@ -1135,8 +1125,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_06() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_06() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -1158,7 +1146,7 @@ module ItsPki_TestCases { ...@@ -1158,7 +1146,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -1244,8 +1232,6 @@ module ItsPki_TestCases { ...@@ -1244,8 +1232,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_07() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_07() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -1267,7 +1253,7 @@ module ItsPki_TestCases { ...@@ -1267,7 +1253,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -1349,8 +1335,6 @@ module ItsPki_TestCases { ...@@ -1349,8 +1335,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_08() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_08() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -1372,7 +1356,7 @@ module ItsPki_TestCases { ...@@ -1372,7 +1356,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -1452,8 +1436,6 @@ module ItsPki_TestCases { ...@@ -1452,8 +1436,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_09() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_09() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -1475,7 +1457,7 @@ module ItsPki_TestCases { ...@@ -1475,7 +1457,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -1555,8 +1537,6 @@ module ItsPki_TestCases { ...@@ -1555,8 +1537,6 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_10() runs on ItsPkiHttp system ItsPkiHttpSystem { testcase TC_SEC_PKI_SND_EA_BV_10() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var Oct32 v_hash_inner_ec_request_signed_for_pop; var Oct32 v_hash_inner_ec_request_signed_for_pop;
...@@ -1578,7 +1558,7 @@ module ItsPki_TestCases { ...@@ -1578,7 +1558,7 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_http_build_invalid_enrolment_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop); f_http_build_invalid_enrolment_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data, v_hash_inner_ec_request_signed_for_pop);
f_init_default_headers_list(v_headers); f_init_default_headers_list(v_headers);
httpPort.send( httpPort.send(
m_http_request( m_http_request(
...@@ -1662,12 +1642,8 @@ module ItsPki_TestCases { ...@@ -1662,12 +1642,8 @@ module ItsPki_TestCases {
testcase TC_SEC_PKI_SND_EA_BV_11() runs on ItsPki system ItsPkiSystem { testcase TC_SEC_PKI_SND_EA_BV_11() runs on ItsPki system ItsPkiSystem {
// Local variables // Local variables
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY;
var Oct32 v_publicKeyCompressed; var Oct32 v_publicKeyCompressed;
var Oct32 v_private_enc_key; var Oct32 v_private_enc_key;
var Oct32 v_publicEncKeyX;
var Oct32 v_publicEncKeyY;
var Oct32 v_publicEncKeyCompressed; var Oct32 v_publicEncKeyCompressed;
var integer v_compressedMode; var integer v_compressedMode;
var InnerEcRequest v_inner_ec_request; var InnerEcRequest v_inner_ec_request;
...@@ -1689,18 +1665,19 @@ module ItsPki_TestCases { ...@@ -1689,18 +1665,19 @@ module ItsPki_TestCases {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request); // Prepare AuthorizationValidationRequest message
/*if (f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) { // TODO Regroup all into f_generate_authorization_validation_request
if (f_generate_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) {
log("*** " & testcasename() & ": FAIL: Failed to setup InnerEcRequest message ***") log("*** " & testcasename() & ": FAIL: Failed to setup InnerEcRequest message ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop; stop;
}*/ }
if (f_generate_ec_certificate(v_private_key, v_inner_ec_request, v_ec_certificate) == false) { if (f_generate_ec_certificate(v_private_key, v_inner_ec_request, v_ec_certificate) == false) {
log("*** " & testcasename() & ": FAIL: Failed to generate EC certificate ***") log("*** " & testcasename() & ": FAIL: Failed to generate EC certificate ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop; 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) { if (f_generate_inner_at_request(v_ec_certificate, v_private_key, vc_eaCertificate, vc_eaHashedId8, true, v_private_enc_key, v_publicEncKeyCompressed, v_compressedMode, v_inner_at_request, v_inner_at_request_data) == false) {
log("*** " & testcasename() & ": FAIL: Failed to setup InnerAtRequest message ***") log("*** " & testcasename() & ": FAIL: Failed to setup InnerAtRequest message ***")
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop; stop;
...@@ -1710,7 +1687,7 @@ module ItsPki_TestCases { ...@@ -1710,7 +1687,7 @@ module ItsPki_TestCases {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_error);
stop; stop;
} }
f_sendAcPkiPrimitive(v_private_key, v_publicKeyCompressed, v_compressedMode); f_sendAcPkiPrimitive(PICS_TS_AA_CERTIFICATE_ID, v_private_key, v_publicKeyCompressed, v_compressedMode);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body // Test Body
...@@ -1734,7 +1711,122 @@ module ItsPki_TestCases { ...@@ -1734,7 +1711,122 @@ module ItsPki_TestCases {
LibItsPki_Functions.f_cfDown(); LibItsPki_Functions.f_cfDown();
} // End of testcase TC_SEC_PKI_SND_EA_BV_11 } // End of testcase TC_SEC_PKI_SND_EA_BV_11
/**
* @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_12() runs on ItsPkiHttp system ItsPkiHttpSystem {
// Local variables
var Oct32 v_private_key;
var Oct32 v_publicKeyCompressed;
var Oct32 v_private_enc_key;
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;
var HeaderLines v_headers;
var HttpMessage v_response;
var Ieee1609Dot2Data v_ieee1609dot2_signed_and_encrypted_data;
var EtsiTs102941Data v_etsi_ts_102941_data;
// 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
f_cfHttpUp(); // Default value: CERT_TS_A_EA
// Test adapter configuration
// Preamble
if (f_generate_inner_ec_request(v_private_key, 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_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_http_build_authorization_validation_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_ieee1609dot2_signed_and_encrypted_data);
f_init_default_headers_list(v_headers);
httpPort.send(
m_http_request(
m_http_request_get(
PICS_HTTP_GET_URI,
v_headers,
m_http_message_body_binary(
m_binary_body_ieee1609dot2_data(
v_ieee1609dot2_signed_and_encrypted_data
)))));
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] httpPort.receive(
mw_http_response(
mw_http_response_ok(
mw_http_message_body_binary(
mw_binary_body_ieee1609dot2_data(
mw_authorizationValidationResponseMessage(
mw_encryptedData(
-,
mw_SymmetricCiphertext_aes128ccm
))))))) -> value v_response {
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
f_cfHttpDown();
} // End of testcase TC_SEC_PKI_SND_EA_BV_12
} // End of group authorization_vaidation_response } // End of group authorization_vaidation_response
} // End of group ea_behavior } // End of group ea_behavior
......
Subproject commit 866e58fea050293a73c48bd69ad1130c9ed48b4e Subproject commit b31f565ae97899e5bf9f80e65130b0ba177fbcc4
...@@ -24,6 +24,8 @@ module TestCodec_Pki { ...@@ -24,6 +24,8 @@ module TestCodec_Pki {
import from IEEE1609dot2 language "ASN.1:1997" all; import from IEEE1609dot2 language "ASN.1:1997" all;
import from EtsiTs102941BaseTypes language "ASN.1:1997" all; import from EtsiTs102941BaseTypes language "ASN.1:1997" all;
import from EtsiTs102941TypesEnrolment 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 EtsiTs102941MessagesItss language "ASN.1:1997" all;
import from EtsiTs103097Module language "ASN.1:1997" all; import from EtsiTs103097Module language "ASN.1:1997" all;
...@@ -141,7 +143,7 @@ module TestCodec_Pki { ...@@ -141,7 +143,7 @@ module TestCodec_Pki {
} }
// Generate InnerEcRequest // Generate InnerEcRequest
if (f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) { if (f_generate_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) {
setverdict(fail, "Failed to generate InnerEcRequest message"); setverdict(fail, "Failed to generate InnerEcRequest message");
stop; stop;
} }
...@@ -245,7 +247,7 @@ module TestCodec_Pki { ...@@ -245,7 +247,7 @@ module TestCodec_Pki {
LibItsPki_Functions.f_cfUp(); LibItsPki_Functions.f_cfUp();
// Create PKI InnerEcRequest request // Create PKI InnerEcRequest request
if (f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) { if (f_generate_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request) == false) {
setverdict(fail, "Failed to setup InnerEcRequest message"); setverdict(fail, "Failed to setup InnerEcRequest message");
stop; stop;
} }
...@@ -571,6 +573,28 @@ module TestCodec_Pki { ...@@ -571,6 +573,28 @@ module TestCodec_Pki {
} // End of testcase tc_inner_ec_response_2 } // End of testcase tc_inner_ec_response_2
testcase tc_inner_ec_functions_1() runs on TCType system TCType { testcase tc_inner_ec_functions_1() runs on TCType system TCType {
var Oct32 v_private_key;
var Oct32 v_publicKeyCompressed;
var integer v_compressedMode;
var InnerEcRequest v_inner_ec_request;
var boolean v_ret := false;
if (not(PICS_SEC_FIXED_KEYS)) {
setverdict(inconc, "Please set PICS_SEC_FIXED_KEYS to true");
stop;
}
f_loadCertificates(PX_IUT_SEC_CONFIG_NAME);
v_ret := f_generate_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request);
if (v_ret == true) {
setverdict(pass);
} else {
setverdict(fail);
}
} // End of testcase tc_inner_ec_functions_1
testcase tc_inner_ec_functions_2() runs on TCType system TCType {
var Oct32 v_private_key; var Oct32 v_private_key;
var Oct32 v_publicKeyX; var Oct32 v_publicKeyX;
var Oct32 v_publicKeyY; var Oct32 v_publicKeyY;
...@@ -581,7 +605,19 @@ module TestCodec_Pki { ...@@ -581,7 +605,19 @@ module TestCodec_Pki {
valueof(m_appPermissions(36, { bitmapSsp := '830001'O })), valueof(m_appPermissions(36, { bitmapSsp := '830001'O })),
valueof(m_appPermissions(37, { bitmapSsp := '830001'O })) valueof(m_appPermissions(37, { bitmapSsp := '830001'O }))
}; };
var template (value) EtsiTs103097Certificate v_cert;
var EtsiTs103097Certificate v_cert_ts_a_ea;
var EtsiTs103097Certificate v_cert_iut_a_ea;
var Oct32 v_private_key_cert_ts_a_ea;
var Oct32 v_private_key_cert_iut_a_ea;
var Oct32 v_private_enc_key_cert_ts_a_ea;
var Oct32 v_private_enc_key_cert_iut_a_ea;
var Oct8 v_hashed_id8_cert_ts_a_ea;
var Oct8 v_hashed_id8_cert_iut_a_ea;
var Oct32 v_whole_hash_cert_ts_a_ea;
var Oct32 v_whole_hash_cert_iut_a_ea;
var InnerEcRequest v_inner_ec_request; var InnerEcRequest v_inner_ec_request;
var Certificate v_ec_certificate;
var boolean v_ret := false; var boolean v_ret := false;
if (not(PICS_SEC_FIXED_KEYS)) { if (not(PICS_SEC_FIXED_KEYS)) {
...@@ -590,20 +626,40 @@ module TestCodec_Pki { ...@@ -590,20 +626,40 @@ module TestCodec_Pki {
} }
f_loadCertificates(PX_IUT_SEC_CONFIG_NAME); f_loadCertificates(PX_IUT_SEC_CONFIG_NAME);
f_readCertificate("CERT_TS_A_EA", v_cert_ts_a_ea);
f_readCertificate("CERT_IUT_A_EA", v_cert_iut_a_ea);
f_readSigningKey("CERT_TS_A_EA", v_private_key_cert_ts_a_ea);
f_readSigningKey("CERT_IUT_A_EA", v_private_key_cert_iut_a_ea);
f_readEncryptingKey("CERT_TS_A_EA", v_private_enc_key_cert_ts_a_ea);
f_readEncryptingKey("CERT_IUT_A_EA", v_private_enc_key_cert_iut_a_ea);
f_getCertificateDigest("CERT_TS_A_EA", v_hashed_id8_cert_ts_a_ea);
f_getCertificateDigest("CERT_IUT_A_EA", v_hashed_id8_cert_iut_a_ea);
f_getCertificateHash("CERT_TS_A_EA", v_whole_hash_cert_ts_a_ea);
f_getCertificateHash("CERT_IUT_A_EA", v_whole_hash_cert_iut_a_ea);
v_ret := f_generate_inner_ec_request(v_private_key, v_publicKeyX, v_publicKeyY, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request); v_ret := f_generate_inner_ec_request(v_private_key, v_publicKeyCompressed, v_compressedMode, v_inner_ec_request);
if (v_ret == true) { if (v_ret == true) {
setverdict(pass); setverdict(pass);
} else { } else {
setverdict(fail); setverdict(fail, "f_generate_inner_ec_request");
stop;
} }
} // End of testcase tc_inner_ec_functions_1 v_ret := f_generate_ec_certificate(v_private_key, v_inner_ec_request, v_ec_certificate);
if (v_ret == true) {
setverdict(pass);