Commit 9726cb78 authored by Yann Garcia's avatar Yann Garcia
Browse files

Bug fixed in AtsSecurity

parent 9cc80b55
......@@ -8,6 +8,8 @@
#include "converter.hh"
unsigned char commsignia_layer::_fixed_header[12] = { 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x0D, 0x00, 0x00 };
commsignia_layer::commsignia_layer(const std::string & p_type, const std::string & param) : layer(p_type), _params(), _c2p_recv{0}, _802_11p_hdr{0}, _c2p_llc_hdr{0}, _mac_src(), _eth_type() {
loggers::get_instance().log(">>> commsignia_layer::commsignia_layer: %s, %s", to_string().c_str(), param.c_str());
......@@ -31,12 +33,57 @@ commsignia_layer::commsignia_layer(const std::string & p_type, const std::string
if (it == _params.cend()) {
_params.insert(std::pair<std::string, std::string>(std::string("interface_id"), "1"));
}
it = _params.find(std::string("power_tx"));
if (it == _params.cend()) {
_params.insert(std::pair<std::string, std::string>(std::string("power_tx"), "20")); // 20db
}
it = _params.find(std::string("data_rate"));
if (it == _params.cend()) {
_params.insert(std::pair<std::string, std::string>(std::string("data_rate"), "12")); // 12 * 500Kbps = 6Mbps
}
//_params.log();
}
void commsignia_layer::send_data(OCTETSTRING& data, params& params) {
loggers::get_instance().log_msg(">>> commsignia_layer::send_data: ", data);
OCTETSTRING buffer(12, commsignia_layer::_fixed_header);
buffer += int2oct(std::stoi(_params[params::interface_id]), 4);
loggers::get_instance().log_msg("commsignia_layer::send_data: buffer: ", buffer);
buffer += int2oct(std::stoi(_params[std::string("data_rate")]), 4);
loggers::get_instance().log_msg("commsignia_layer::send_data: buffer: ", buffer);
buffer += int2oct(0x80000000 & std::stoi(_params[std::string("power_tx")]), 4); // Negative number
loggers::get_instance().log_msg("commsignia_layer::send_data: buffer: ", buffer);
buffer += int2oct(7, 1); // MAC user priority
// Destination MAC address
params::const_iterator it = params.find(params::mac_dst); // Find in provided parameters, params
if (it != params.cend()) {
buffer = str2oct(CHARSTRING(it->second.c_str()));
} else {
it = _params.find(params::mac_dst);
if (it != _params.cend()) {
buffer = str2oct(CHARSTRING(it->second.c_str()));
} else {
buffer = str2oct(CHARSTRING(_params[params::mac_bc].c_str()));
}
}
loggers::get_instance().log_msg("commsignia_layer::send_data: buffer: ", buffer);
// Source MAC address
it = params.find(params::mac_src); // Find in provided parameters, params
if (it != params.cend()) {
buffer += str2oct(CHARSTRING(it->second.c_str()));
} else {
buffer += str2oct(CHARSTRING(_params[params::mac_src].c_str()));
}
loggers::get_instance().log_msg("commsignia_layer::send_data: buffer: ", buffer);
buffer += int2oct(0, 2); // Fixed
loggers::get_instance().log_msg("commsignia_layer::send_data: buffer: ", buffer);
buffer += int2oct(data.lengthof(), 2);
loggers::get_instance().log_msg("commsignia_layer::send_data: buffer: ", buffer);
buffer += data;
loggers::get_instance().log_msg("commsignia_layer::send_data: ", buffer);
send_to_all_layers(buffer, params);
}
void commsignia_layer::receive_data(OCTETSTRING& data, params& params) {
......@@ -83,9 +130,9 @@ void commsignia_layer::receive_data(OCTETSTRING& data, params& params) {
l = (const commsignia_layer::c2p_llc_hdr*)(p + sizeof(commsignia_layer::c2p_recv) + sizeof(commsignia_layer::c2p_802_11p_hdr));
length = sizeof(commsignia_layer::c2p_recv) + sizeof(commsignia_layer::c2p_802_11p_hdr) + sizeof(commsignia_layer::c2p_llc_hdr);
}
//loggers::get_instance().log("commsignia_layer::receive_data: dsap=%02x", l->dsap);
//loggers::get_instance().log("commsignia_layer::receive_data: ssap=%02x", l->ssap);
//loggers::get_instance().log("commsignia_layer::receive_data: type=%04x", l->type);
loggers::get_instance().log("commsignia_layer::receive_data: dsap=%02x", l->dsap);
loggers::get_instance().log("commsignia_layer::receive_data: ssap=%02x", l->ssap);
loggers::get_instance().log("commsignia_layer::receive_data: type=%04x", l->type);
// Check ether type
if ((_eth_type[1] == (unsigned char)((l->type & 0xff00) >> 8)) && (_eth_type[0] == (unsigned char)(l->type & 0xff))) { // Warning: Network ordered bytes
// Extract payload
......
......@@ -78,6 +78,9 @@ class commsignia_layer : public layer {
c2p_llc_hdr _c2p_llc_hdr; //! \todo
std::vector<unsigned char> _mac_src; //! Used to optimize filtering on source mac address in \see commsignia_layer::receive_data method
std::vector<unsigned char> _eth_type; //! Used to optimize filtering on ethernet type in \see commsignia_layer::receive_data method
//! Fixed header for packet injection
static unsigned char _fixed_header[12];
public:
//! \publicsection
......
......@@ -213,7 +213,7 @@ int http_codec::encode_request(const LibItsHttp__TypesAndValues::Request& p_requ
if (_ec.is_content_length_present == 0x01) {
loggers::get_instance().log_msg("http_codec::encode_request: Add body ", os);
p_encoding_buffer.put_os(os);
p_encoding_buffer.put_cs("\r\n");
//FIXME For test With GEMALTO, comment to be removed, p_encoding_buffer.put_cs("\r\n");
}
loggers::get_instance().log_to_hexa("<<< http_codec::encode_request: ", p_encoding_buffer);
......@@ -403,16 +403,6 @@ int http_codec::encode_body(const LibItsHttp__MessageBodyTypes::HttpMessageBody&
if (it != _codecs.cend()) {
loggers::get_instance().log("http_codec::encode_body: Call '%s'", it->first.c_str());
_codecs["http_its"]->encode((Record_Type&)binary_body.ieee1609dot2__data(), p_encoding_buffer); // TODO Use params
#if defined(GEMALTO_FIX) // Temporary fix to be removed
// GEMALTO Encode in hex string
CHARSTRING buf = oct2str(p_encoding_buffer);
p_encoding_buffer = OCTETSTRING(buf.lengthof(), (const unsigned char*)(static_cast<const char*>(buf)));
loggers::get_instance().log_msg("http_codec::encode_body: Convert binary to string: ", p_encoding_buffer);
#endif
processed = true;
}
} // TODO Add new HTTP message codec here
......@@ -482,15 +472,6 @@ int http_codec::decode_body(TTCN_Buffer& decoding_buffer, LibItsHttp__MessageBod
OCTETSTRING s(decoding_buffer.get_len() - decoding_buffer.get_pos(), decoding_buffer.get_data() + decoding_buffer.get_pos());
loggers::get_instance().log_msg("http_codec::decode_body: raw body=", s);
#if defined(GEMALTO_FIX) // Temporary fix to be removed
// GEMALTO Encode in hex string
if ((s.lengthof() & 0x00000001) == 0x00000001) {
s = int2oct(0, 1) + s;
}
s = str2oct(CHARSTRING(s.lengthof(), (const char*)(static_cast<const unsigned char*>(s))));
loggers::get_instance().log_msg("http_codec::decode_body: Convert string to binary: ", s);
#endif
// Align the payload length with the specified Content-lenght value
loggers::get_instance().log("http_codec::decode_body: _dc.length=%d - body length=%d", _dc.length, s.lengthof());
OCTETSTRING body;
......
......@@ -32,7 +32,8 @@ udp_layer::udp_layer(const std::string & p_type, const std::string & param) : la
// Initialize the socket
_saddr.sin_family = AF_INET;
_saddr.sin_addr.s_addr = INADDR_ANY;
_saddr.sin_addr.s_addr = htonl(INADDR_ANY);
loggers::get_instance().log("udp_layer::udp_layer: Port to listen=%d", std::atoi(_params["src_port"].c_str()));
_saddr.sin_port = htons(std::atoi(_params["src_port"].c_str()));
// Create socket
_fd = ::socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
......
......@@ -4,18 +4,24 @@
# The GeoNetworking address of the IUT.
# Siemens
LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
typeOfAddress := e_initial, # e_manual(1)
stationType := e_roadSideUnit,
stationCountryCode := 0, #33,
mid := '080027425e63'O
} # Simu
#LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
# typeOfAddress := e_initial, # e_manual(1)
# stationType := e_roadSideUnit,
# stationCountryCode := 0, #33,
# mid := '080027425e63'O
#}
#LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
# typeOfAddress := e_initial,
# stationType := e_passengerCar, #e_roadSideUnit,
# stationCountryCode := 0, #33,
# mid := 'BA749705A41D'O
#} # Nordsys
LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
typeOfAddress := e_initial,
stationType := e_unknown, #e_roadSideUnit,
stationCountryCode := 0, #33,
mid := '4c5e0c14d2ea'O
} # Simu
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
LibItsBtp_Pixits.PX_DESTINATION_PORT := 2001
......@@ -109,9 +115,10 @@ LogEventTypes:= Yes
# save_mode : 1 to save sent packet, 0 otherwise
# Single GeoNetworking component port
# its_aid = 36
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=0,secured_mode=1,its_aid=36,certificate=CERT_TS_A_AT,sec_db_path=/home/vagrant/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=eth1,filter=and ether proto 0x8947)"
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=0,secured_mode=1,its_aid=36,certificate=CERT_TS_A_AT,sec_db_path=/home/vagrant/tmp/asn1c_cert)/COMMSIGNIA(mac_src=000000000011,target_host=10.8.0.1)/UDP(dst_ip=10.8.0.1,dst_port=7943,src_port=39474)"
# its_aid = 36 CAM
# its_aid = 37 DENM
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=0,secured_mode=1,its_aid=36,certificate=CERT_TS_A_AT,sec_db_path=/home/vagrant/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=eth1,filter=and ether proto 0x8947)"
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=0,secured_mode=1,its_aid=36,certificate=CERT_TS_A_AT,sec_db_path=/home/vagrant/tmp/asn1c_cert)/COMMSIGNIA(mac_src=000000000011,target_host=10.8.0.1)/UDP(dst_ip=10.8.0.1,dst_port=7943,src_port=39474)"
#system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=0,secured_mode=1,its_aid=36,certificate=CERT_TS_A_AT,sec_db_path=/home/vagrant/tmp/asn1c_cert)/COMMSIGNIA(mac_src=000000000011,target_host=10.8.0.1)/UDP_PCAP(dst_ip=10.8.0.1,dst_port=7943,src_ip=192.168.0.154,src_port=39474)/ETH(mac_src=0800275c4959,eth_type=0800)/PCAP(mac_src=0800275c4959,nic=tap0,filter=and (udp port 39474 or udp port 7943))"
#system.geoNetworkingPort.params := "
......@@ -124,15 +131,18 @@ system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050
# CAM UpperTester port based on UDP
#system.camUtPort.params := "UT_CAM(loopback=1)"
#system.utPort.params := "UT_CAM/UDP(dst_ip=172.23.0.1,dst_port=8000)" # Nordsys
#system.camUtPort.params := "UT_CAM/UDP(dst_ip=172.23.0.1,dst_port=8000)" # Nordsys
#system.denmUtPort.params := "UT_CAM/UDP(dst_ip=172.23.0.1,dst_port=8000)" # Nordsys
#system.denmUtPort.params := "UT_DENM/UDP(dst_ip=192.168.0.250)" # Simulator
#system.camUtPort.params := "UT_CAM/UDP(dst_ip=192.168.0.250)"
system.utPort.params := "UT_GN/UDP(dst_ip=192.168.0.250,src_port=12345)"
#system.denmUtPort.params := "UT_DENM/UDP(dst_ip=172.23.0.1,dst_port=8000)" # Nordsys
#system.utPort.params := "UT_CAM/UDP(dst_ip=172.28.128.4)" # Simulator Siemens
#system.camUtPort.params := "UT_CAM/UDP(dst_ip=172.28.128.4)" # Simulator Siemens
#system.denmUtPort.params := "UT_DENM/UDP(dst_ip=172.28.128.4)" # Simulator Siemens
system.utPort.params := "UT_CAM/UDP(dst_ip=10.8.0.1,dst_port=56000)"
system.camUtPort.params := "UT_CAM/UDP(dst_ip=10.8.0.1,dst_port=56000)"
system.denmUtPort.params := "UT_DENM/UDP(dst_ip=10.8.0.1,dst_port=56000)"
#system.utPort.params := "UT_CAM/UDP(dst_ip=10.8.0.1,dst_port=56000)" # Simulator Siemens
#system.camUtPort.params := "UT_CAM/UDP(dst_ip=10.8.0.1,dst_port=56000)"
#system.denmUtPort.params := "UT_DENM/UDP(dst_ip=10.8.0.1,dst_port=56000)"
[EXECUTE]
#Check that ITS-S sends a Ieee1609Dot2Data containing protocol version set to 3
......@@ -140,7 +150,7 @@ system.denmUtPort.params := "UT_DENM/UDP(dst_ip=10.8.0.1,dst_port=56000)"
# ------------------------- CAM ---------------------------
# Check that IUT sends the secured CAM using SignedData container.
ItsSecurity_TestCases.TC_SEC_ITSS_SND_CAM_01_BV
#ItsSecurity_TestCases.TC_SEC_ITSS_SND_CAM_01_BV
# Check that IUT sends the secured CAM containing the HeaderInfo field psid set to 'AID_CAM'.
#ItsSecurity_TestCases.TC_SEC_ITSS_SND_CAM_02_BV
......@@ -229,7 +239,7 @@ ItsSecurity_TestCases.TC_SEC_ITSS_SND_CAM_01_BV
# Check that the IUT sends the secured CAM signed with the certificate containing appPermisions
# allowing to sign CA messages
#ItsSecurity_TestCases.TC_SEC_ITSS_SND_CAM_20_BV
ItsSecurity_TestCases.TC_SEC_ITSS_SND_CAM_20_BV
# Check that IUT sends the secured CAM containing signature;
# Check that the signature is calculated over the right fields
......
......@@ -507,7 +507,7 @@ module ItsSecurity_TestCases {
mw_etsiTs103097Certificate(
-,
mw_toBeSignedCertificate_at(
{ mw_appPermissions(c_its_aid_CAM) }
{ *, mw_appPermissions(c_its_aid_CAM), * }
)
)
)
......@@ -3111,7 +3111,7 @@ module ItsSecurity_TestCases {
mw_etsiTs103097Certificate(
-,
mw_toBeSignedCertificate_at(
{ mw_appPermissions(c_its_aid_CAM) }
{ *, mw_appPermissions(c_its_aid_CAM), * }
)
)
)
......@@ -3141,7 +3141,7 @@ module ItsSecurity_TestCases {
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Initial conditions: CA message with certificate not received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_timeout);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
......@@ -3253,16 +3253,16 @@ module ItsSecurity_TestCases {
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Initial conditions: CA message with certificate not received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_timeout);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
// Check that the signature is calculated over the right fields and using right hash algorythm by cryptographically verifying the signature
if (f_verifyGnSecuredMessageSignatureWithCertificate(f_getSecuredMessage(v_geoNwInd.msgIn), v_certificate)) {
if (f_verifyGnSecuredMessageSignatureWithCertificate(f_getSecuredMessage(v_geoNwInd.msgIn), vc_hashedId8ToBeUsed, v_certificate)) {
log("*** " & testcasename() & ": PASS: Signature verified successfully ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
} else {
log("*** " & testcasename() & ": FAIL: Signature not verified successfully ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_error);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
// Postamble
......@@ -3346,7 +3346,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3370,7 +3370,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3394,7 +3394,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3418,7 +3418,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3442,7 +3442,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3466,7 +3466,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3490,7 +3490,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3514,7 +3514,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3538,7 +3538,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: CA message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -3556,11 +3556,11 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": FAIL: CA message with wrong signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_error);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Initial conditions: CA message with certificate not received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_timeout);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
......@@ -4274,7 +4274,7 @@ module ItsSecurity_TestCases {
mw_etsiTs103097Certificate(
-,
mw_toBeSignedCertificate_at(
{ mw_appPermissions(c_its_aid_DENM) }
{ *, mw_appPermissions(c_its_aid_DENM), * }
)
)
)
......@@ -5325,7 +5325,7 @@ module ItsSecurity_TestCases {
mw_etsiTs103097Certificate(
-,
mw_toBeSignedCertificate_at(
{ mw_appPermissions(c_its_aid_DENM) }
{ *, mw_appPermissions(c_its_aid_DENM), * }
)
)
)
......@@ -5355,7 +5355,7 @@ module ItsSecurity_TestCases {
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Initial conditions: DEN message with certificate not received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_timeout);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
......@@ -5475,16 +5475,16 @@ module ItsSecurity_TestCases {
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Initial conditions: DEN message with certificate not received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_timeout);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
// Check that the signature is calculated over the right fields and using right hash algorythm by cryptographically verifying the signature
if (f_verifyGnSecuredMessageSignatureWithCertificate(f_getSecuredMessage(v_geoNwInd.msgIn), v_certificate)) {
if (f_verifyGnSecuredMessageSignatureWithCertificate(f_getSecuredMessage(v_geoNwInd.msgIn), vc_hashedId8ToBeUsed, v_certificate)) {
log("*** " & testcasename() & ": PASS: Signature verified successfully ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
} else {
log("*** " & testcasename() & ": FAIL: Signature not verified successfully ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_error);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
// Postamble
......@@ -6232,7 +6232,7 @@ module ItsSecurity_TestCases {
mw_etsiTs103097Certificate(
-,
mw_toBeSignedCertificate_at(
{ mw_appPermissions(c_its_aid_GN) }
{ *, mw_appPermissions(c_its_aid_GN), * }
)
)
)
......@@ -8422,7 +8422,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8446,7 +8446,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8470,7 +8470,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8494,7 +8494,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8518,7 +8518,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8542,7 +8542,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8566,7 +8566,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8590,7 +8590,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8614,7 +8614,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8632,11 +8632,11 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": FAIL: Message with wrong signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_error);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Message with certificate not received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_timeout);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
......@@ -8725,7 +8725,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8756,7 +8756,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8787,7 +8787,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8818,7 +8818,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8849,7 +8849,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P256R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8880,7 +8880,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8911,7 +8911,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8942,7 +8942,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_BRAINPOOL_P384R1 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8973,7 +8973,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -8994,7 +8994,7 @@ module ItsSecurity_TestCases {
))))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": FAIL: Message with wrong signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_error);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -9015,7 +9015,7 @@ module ItsSecurity_TestCases {
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Message with certificate not received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_timeout);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
}
} // End of 'alt' statement
......@@ -9105,7 +9105,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -9137,7 +9137,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");
f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[PICS_SEC_NIST_P256 == true] geoNetworkingPort.receive(
mw_geoNwInd(
......@@ -9169,7 +9169,7 @@ module ItsSecurity_TestCases {
))) -> value v_geoNwInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Message with well-formated signature received ***");