Commit 48f475bb authored by Denis Filatov's avatar Denis Filatov
Browse files

Merge branch 'STF525' of https://forge.etsi.org/gitlab/ITS/ITS into STF525

parents bb391541 d6732008
......@@ -8,6 +8,9 @@
#include "etsi_ts102941_types_authorization_inner_response.hh"
#include "etsi_ts102941_types_authorization_shared_at_request.hh"
#include "etsi_ts102941_types_authorization_validation_request.hh"
#include "etsi_ts102941_base_types_public_keys.hh"
#include "ieee_1609dot2_base_types_public_encryption_key.hh"
#include "ieee_1609dot2_base_types_public_verification_key.hh"
#include "loggers.hh"
......@@ -200,7 +203,7 @@ namespace LibItsPki__EncdecDeclarations {
return 0;
}
BITSTRING fx__enc__AuthorizationValidationRequest(EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest const& p_shared_at) {
BITSTRING fx__enc__AuthorizationValidationRequest(EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest const& p_shared_at) {
loggers::get_instance().log_msg(">>> fx__enc__AuthorizationValidationRequest: ", p_shared_at);
etsi_ts102941_types_authorization_validation_request codec;
......@@ -227,4 +230,85 @@ namespace LibItsPki__EncdecDeclarations {
return 0;
}
BITSTRING fx__enc__PublicKeys(EtsiTs102941BaseTypes::PublicKeys const& p_public_keys) {
loggers::get_instance().log_msg(">>> fx__enc__PublicKeys: ", p_public_keys);
etsi_ts102941_base_types_public_keys codec;
OCTETSTRING os;
if (codec.encode(p_public_keys, os) == -1) {
loggers::get_instance().warning("fx__enc__PublicKeys: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__PublicKeys(BITSTRING& b, EtsiTs102941BaseTypes::PublicKeys& p_public_keys) {
loggers::get_instance().log_msg(">>> fx__dec__PublicKeys: ", b);
etsi_ts102941_base_types_public_keys codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_public_keys) == -1) {
loggers::get_instance().warning("fx__dec__PublicKeys: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__PublicKeys: ", p_public_keys);
return 0;
}
BITSTRING fx__enc__PublicVerificationKey(IEEE1609dot2BaseTypes::PublicVerificationKey const& p_public_verification_key) {
loggers::get_instance().log_msg(">>> fx__enc__PublicVerificationKey: ", p_public_verification_key);
ieee_1609dot2_base_types_public_verification_key codec;
OCTETSTRING os;
if (codec.encode(p_public_verification_key, os) == -1) {
loggers::get_instance().warning("fx__enc__PublicVerificationKey: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__PublicVerificationKey(BITSTRING& b, IEEE1609dot2BaseTypes::PublicVerificationKey& p_public_verification_key) {
loggers::get_instance().log_msg(">>> fx__dec__PublicVerificationKey: ", b);
ieee_1609dot2_base_types_public_verification_key codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_public_verification_key) == -1) {
loggers::get_instance().warning("fx__dec__PublicVerificationKey: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__PublicVerificationKey: ", p_public_verification_key);
return 0;
}
BITSTRING fx__enc__PublicEncryptionKey(IEEE1609dot2BaseTypes::PublicEncryptionKey const& p_public_encryption_key) {
loggers::get_instance().log_msg(">>> fx__enc__PublicEncryptionKey: ", p_public_encryption_key);
ieee_1609dot2_base_types_public_encryption_key codec;
OCTETSTRING os;
if (codec.encode(p_public_encryption_key, os) == -1) {
loggers::get_instance().warning("fx__enc__PublicEncryptionKey: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__PublicEncryptionKey(BITSTRING& b, IEEE1609dot2BaseTypes::PublicEncryptionKey& p_public_encryption_key) {
loggers::get_instance().log_msg(">>> fx__dec__PublicEncryptionKey: ", b);
ieee_1609dot2_base_types_public_encryption_key codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_public_encryption_key) == -1) {
loggers::get_instance().warning("fx__dec__PublicEncryptionKey: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__PublicEncryptionKey: ", p_public_encryption_key);
return 0;
}
} // End of namespace LibItsPki__EncdecDeclarations
......@@ -19,9 +19,11 @@
class base_time {
const unsigned long long its_base_time_ms = 1072915200000L; //! Base time 01/01/2004 12:00am in millseconds
unsigned long long leap_delay;
static base_time* _instance;
private:
base_time() { }; //! Can not be created manually
base_time(): leap_delay{0} { }; //! Can not be created manually
public:
static inline base_time& get_instance();
......@@ -33,6 +35,8 @@ public:
inline const unsigned long long get_its_current_time_ms() const;
inline const unsigned long long get_its_current_time_us() const;
inline const unsigned long long get_its_current_time_mod_ms() const;
inline void set_leap_delay_us(const unsigned long long p_leap_delay);
inline const unsigned long long get_leap_delay_us() const;
}; // End of class base_time
// static functions
......@@ -41,7 +45,7 @@ base_time& base_time::get_instance() {
}
const unsigned long long base_time::get_current_time_ms() const {
return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
return (leap_delay / 1000) + std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
}
const unsigned long long base_time::get_its_base_time_ms() const {
......@@ -49,14 +53,21 @@ const unsigned long long base_time::get_its_base_time_ms() const {
}
const unsigned long long base_time::get_its_current_time_ms() const {
return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count() - base_time::its_base_time_ms;
return (leap_delay / 1000) + std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count() - base_time::its_base_time_ms;
}
const unsigned long long base_time::get_its_current_time_us() const {
return std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count() - base_time::its_base_time_ms * 1000;
return leap_delay + std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count() - base_time::its_base_time_ms * 1000;
}
const unsigned long long base_time::get_its_current_time_mod_ms() const {
return (std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count() - base_time::its_base_time_ms) % 65536;
return ((leap_delay / 1000) + std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count() - base_time::its_base_time_ms) % 65536;
}
void base_time::set_leap_delay_us(const unsigned long long p_leap_delay) {
leap_delay = p_leap_delay;
}
inline const unsigned long long base_time::get_leap_delay_us() const {
return leap_delay;
}
......@@ -152,6 +152,9 @@ void geonetworking_layer::init(const std::string & p_type, const std::string & p
// Register this object for AdapterControlPort
loggers::get_instance().log("geonetworking_layer::geonetworking_layer: Register %s/%p", p_type.c_str(), this);
registration<geonetworking_layer>::get_instance().add_item(p_type, this);
// Add 4 leap seconds to convert to TAI (as Feb 2019)
base_time::get_instance().set_leap_delay_us(4 * 1000000); // TODO Set it as parameter
} // End of init_params
void geonetworking_layer::sendMsg(const LibItsGeoNetworking__TestSystem::GeoNetworkingReq& p, params& params) {
......@@ -564,6 +567,21 @@ const LongPosVector* geonetworking_layer::get_lpv(const GN__Address& p_gn_addres
return lpv;
} // End of get_lpv
const LibItsGeoNetworking__TypesAndValues::BasicHeader geonetworking_layer::fill_basic_header() const {
return LibItsGeoNetworking__TypesAndValues::BasicHeader(
1, // GeoNetworking version
BasicNextHeader(
BasicNextHeader::e__commonHeader
),
0,
Lifetime(
4,
LtBase(LtBase::e__50ms)
),
1
);
}
void geonetworking_layer::fill_beacon(const OCTETSTRING& p_ll_address, const INTEGER p_station_type, const INTEGER p_country, const INTEGER type_of_address)
{
_beacon = new GeoNetworkingPdu();
......@@ -589,18 +607,7 @@ void geonetworking_layer::fill_beacon(const OCTETSTRING& p_ll_address, const INT
0
)
);
_beacon->basicHeader() = BasicHeader(
0,
BasicNextHeader(
BasicNextHeader::e__commonHeader
),
0,
Lifetime(
4,
LtBase(LtBase::e__50ms)
),
1
);
_beacon->basicHeader() = fill_basic_header();
_beacon->gnPacket().packet() = GnNonSecuredPacket(
CommonHeader(
NextHeader(
......@@ -659,18 +666,7 @@ void geonetworking_layer::fill_gbc_packet(const OCTETSTRING& p_ll_address, const
p_angle,
0
);
_gbc_packet->basicHeader() = BasicHeader(
0,
BasicNextHeader(
BasicNextHeader::e__commonHeader
),
0,
Lifetime(
4,
LtBase(LtBase::e__50ms)
),
5
);
_gbc_packet->basicHeader() = fill_basic_header();
_gbc_packet->gnPacket().packet() = GnNonSecuredPacket(
CommonHeader(
NextHeader(
......@@ -722,18 +718,7 @@ void geonetworking_layer::fill_shb_packet(const OCTETSTRING& p_ll_address)
),
0
);
_shb_packet->basicHeader() = BasicHeader(
0,
BasicNextHeader(
BasicNextHeader::e__commonHeader
),
0,
Lifetime(
4,
LtBase(LtBase::e__50ms)
),
1
);
_shb_packet->basicHeader() = fill_basic_header();
_shb_packet->gnPacket().packet() = GnNonSecuredPacket(
CommonHeader(
NextHeader(
......@@ -786,18 +771,7 @@ void geonetworking_layer::fill_tsb_packet(const OCTETSTRING& p_ll_address, const
0
)
);
_tsb_packet->basicHeader() = BasicHeader(
0,
BasicNextHeader(
BasicNextHeader::e__commonHeader
),
0,
Lifetime(
4,
LtBase(LtBase::e__50ms)
),
p_hop_number
);
_tsb_packet->basicHeader() = fill_basic_header();
_tsb_packet->gnPacket().packet() = GnNonSecuredPacket(
CommonHeader(
NextHeader(
......@@ -861,18 +835,7 @@ void geonetworking_layer::fill_ls_reply(const OCTETSTRING& p_ll_address)
_longitude
)
);
_ls_reply->basicHeader() = BasicHeader(
0,
BasicNextHeader(
BasicNextHeader::e__commonHeader
),
0,
Lifetime(
4,
LtBase(LtBase::e__50ms)
),
5
);
_ls_reply->basicHeader() = fill_basic_header();
_ls_reply->gnPacket().packet() = GnNonSecuredPacket(
CommonHeader(
NextHeader(
......
......@@ -30,6 +30,7 @@ namespace LibItsGeoNetworking__TestSystem {
}
namespace LibItsGeoNetworking__TypesAndValues {
class BasicHeader; //! Forward declaration of TITAN class
class GeoNetworkingPdu; //! Forward declaration of TITAN class
class BeaconHeader; //! Forward declaration of TITAN class
class LongPosVector; //! Forward declaration of TITAN class
......@@ -65,7 +66,12 @@ class geonetworking_layer : public t_layer<LibItsGeoNetworking__TestSystem::GeoN
unsigned int _sequence_number;
int _latitude;
int _longitude;
/*!
* \brief Create and initialize a BasicHeader object
* \return A BasicHeader object
*/
const LibItsGeoNetworking__TypesAndValues::BasicHeader fill_basic_header() const;
/*!
* \brief Initialize a beacon object for a stand alone beaconing
* This object could be replaced in case of start_beaconing call from the Adapter Control Port
......
#include "etsi_ts102941_base_types_public_keys.hh"
#include "loggers.hh"
int etsi_ts102941_base_types_public_keys::encode (const EtsiTs102941BaseTypes::PublicKeys& p_public_keys, OCTETSTRING& p_data)
{
loggers::get_instance().log(">>> etsi_ts102941_base_types_public_keys::encode: %s", p_public_keys.get_descriptor()->name);
BITSTRING b;
TTCN_EncDec::clear_error();
TTCN_Buffer buffer;
p_public_keys.encode(*p_public_keys.get_descriptor(), buffer, TTCN_EncDec::CT_OER);
p_data = OCTETSTRING(buffer.get_len(), buffer.get_data());
loggers::get_instance().log_msg("etsi_ts102941_base_types_public_keys::encode: ", p_data);
return 0;
}
int etsi_ts102941_base_types_public_keys::decode (const OCTETSTRING& p_data, EtsiTs102941BaseTypes::PublicKeys& p_public_keys, params* p_params)
{
loggers::get_instance().log_msg(">>> etsi_ts102941_base_types_public_keys::decode: ", p_data);
TTCN_EncDec::clear_error();
TTCN_Buffer decoding_buffer(p_data);
// _params = params;
p_public_keys.decode(*p_public_keys.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER);
loggers::get_instance().log_msg("<<< etsi_ts102941_base_types_public_keys::decode: ", (const Base_Type&)p_public_keys);
return 0;
}
#pragma once
#include "codec.hh"
#include "params.hh"
#include "EtsiTs102941BaseTypes.hh"
class etsi_ts102941_base_types_public_keys : public codec<EtsiTs102941BaseTypes::PublicKeys, EtsiTs102941BaseTypes::PublicKeys>
{
public:
explicit etsi_ts102941_base_types_public_keys() : codec<EtsiTs102941BaseTypes::PublicKeys, EtsiTs102941BaseTypes::PublicKeys>() { };
virtual ~etsi_ts102941_base_types_public_keys() { };
virtual int encode (const EtsiTs102941BaseTypes::PublicKeys& p_public_keys, OCTETSTRING& p_data);
virtual int decode (const OCTETSTRING& p_data, EtsiTs102941BaseTypes::PublicKeys& p_public_keys, params* p_params = NULL);
}; // End of class etsi_ts102941_base_types_public_keys
#include "ieee_1609dot2_base_types_public_encryption_key.hh"
#include "loggers.hh"
int ieee_1609dot2_base_types_public_encryption_key::encode (const IEEE1609dot2BaseTypes::PublicEncryptionKey& p_public_encryption_key, OCTETSTRING& p_data)
{
loggers::get_instance().log(">>> ieee_1609dot2_base_types_public_encryption_key::encode: %s", p_public_encryption_key.get_descriptor()->name);
BITSTRING b;
TTCN_EncDec::clear_error();
TTCN_Buffer buffer;
p_public_encryption_key.encode(*p_public_encryption_key.get_descriptor(), buffer, TTCN_EncDec::CT_OER);
p_data = OCTETSTRING(buffer.get_len(), buffer.get_data());
loggers::get_instance().log_msg("ieee_1609dot2_base_types_public_encryption_key::encode: ", p_data);
return 0;
}
int ieee_1609dot2_base_types_public_encryption_key::decode (const OCTETSTRING& p_data, IEEE1609dot2BaseTypes::PublicEncryptionKey& p_public_encryption_key, params* p_params)
{
loggers::get_instance().log_msg(">>> ieee_1609dot2_base_types_public_encryption_key::decode: ", p_data);
TTCN_EncDec::clear_error();
TTCN_Buffer decoding_buffer(p_data);
// _params = params;
p_public_encryption_key.decode(*p_public_encryption_key.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER);
loggers::get_instance().log_msg("<<< ieee_1609dot2_base_types_public_encryption_key::decode: ", (const Base_Type&)p_public_encryption_key);
return 0;
}
#pragma once
#include "codec.hh"
#include "params.hh"
#include "IEEE1609dot2BaseTypes.hh"
class ieee_1609dot2_base_types_public_encryption_key : public codec<IEEE1609dot2BaseTypes::PublicEncryptionKey, IEEE1609dot2BaseTypes::PublicEncryptionKey>
{
public:
explicit ieee_1609dot2_base_types_public_encryption_key() : codec<IEEE1609dot2BaseTypes::PublicEncryptionKey, IEEE1609dot2BaseTypes::PublicEncryptionKey>() { };
virtual ~ieee_1609dot2_base_types_public_encryption_key() { };
virtual int encode (const IEEE1609dot2BaseTypes::PublicEncryptionKey& p_public_encryption_key, OCTETSTRING& p_data);
virtual int decode (const OCTETSTRING& p_data, IEEE1609dot2BaseTypes::PublicEncryptionKey& p_public_encryption_key, params* p_params = NULL);
}; // End of class ieee_1609dot2_base_types_public_encryption_key
#include "ieee_1609dot2_base_types_public_verification_key.hh"
#include "loggers.hh"
int ieee_1609dot2_base_types_public_verification_key::encode (const IEEE1609dot2BaseTypes::PublicVerificationKey& p_public_verification_key, OCTETSTRING& p_data)
{
loggers::get_instance().log(">>> ieee_1609dot2_base_types_public_verification_key::encode: %s", p_public_verification_key.get_descriptor()->name);
BITSTRING b;
TTCN_EncDec::clear_error();
TTCN_Buffer buffer;
p_public_verification_key.encode(*p_public_verification_key.get_descriptor(), buffer, TTCN_EncDec::CT_OER);
p_data = OCTETSTRING(buffer.get_len(), buffer.get_data());
loggers::get_instance().log_msg("ieee_1609dot2_base_types_public_verification_key::encode: ", p_data);
return 0;
}
int ieee_1609dot2_base_types_public_verification_key::decode (const OCTETSTRING& p_data, IEEE1609dot2BaseTypes::PublicVerificationKey& p_public_verification_key, params* p_params)
{
loggers::get_instance().log_msg(">>> ieee_1609dot2_base_types_public_verification_key::decode: ", p_data);
TTCN_EncDec::clear_error();
TTCN_Buffer decoding_buffer(p_data);
// _params = params;
p_public_verification_key.decode(*p_public_verification_key.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER);
loggers::get_instance().log_msg("<<< ieee_1609dot2_base_types_public_verification_key::decode: ", (const Base_Type&)p_public_verification_key);
return 0;
}
#pragma once
#include "codec.hh"
#include "params.hh"
#include "IEEE1609dot2BaseTypes.hh"
class ieee_1609dot2_base_types_public_verification_key : public codec<IEEE1609dot2BaseTypes::PublicVerificationKey, IEEE1609dot2BaseTypes::PublicVerificationKey>
{
public:
explicit ieee_1609dot2_base_types_public_verification_key() : codec<IEEE1609dot2BaseTypes::PublicVerificationKey, IEEE1609dot2BaseTypes::PublicVerificationKey>() { };
virtual ~ieee_1609dot2_base_types_public_verification_key() { };
virtual int encode (const IEEE1609dot2BaseTypes::PublicVerificationKey& p_public_verification_key, OCTETSTRING& p_data);
virtual int decode (const OCTETSTRING& p_data, IEEE1609dot2BaseTypes::PublicVerificationKey& p_public_verification_key, params* p_params = NULL);
}; // End of class ieee_1609dot2_base_types_public_verification_key
......@@ -21,6 +21,10 @@ tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) : la
} else if (it->second.compare("1") == 0) {
set_socket_debugging(true);
}
it = _params.find(std::string("tcp_fragmented"));
if (it == _params.cend()) {
_params.insert(std::pair<std::string, std::string>(std::string("tcp_fragmented"), "0"));
}
bool server_mode = false;
it = _params.find(params::server_mode);
if (it != _params.cend()) {
......@@ -187,6 +191,9 @@ int tcp_layer::receive_message_on_fd(int p_client_id)
}
loggers::get_instance().log("tcp_layer::receive_message_on_fd: Non secured mode");
if (_params[std::string("tcp_fragmented")].compare("1") == 0) {
usleep(50000); // FIXME When HTTP paquet is fragmented into several TCP packets, a timer is required. This is a Q&D solution
}
return Abstract_Socket::receive_message_on_fd(p_client_id);
}
......
......@@ -93,11 +93,13 @@ LogEventTypes:= Yes
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=/home/vagrant/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=eth2,filter=and ether proto 0x8947)"
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=tap0,filter=and ether proto 0x8947)" # Nordsys non secured
system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=/home/vagrant/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=tap0,filter=and ether proto 0x8947)" # Nordsys secured
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=/home/vagrant/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=tap0,filter=and ether proto 0x8947)" # Nordsys secured
system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=/home/vagrant/tmp/asn1c_cert)/UDP(dst_ip=172.28.7.123,src_port=54915,dst_port=54915)" # Savary
# CAM UpperTester port based on UDP
#system.utPort.params := "UT_CAM/UDP(dst_ip=192.168.2.3,dst_port=8000)"
system.utPort.params := "UT_CAM/UDP(dst_ip=172.23.0.1,dst_port=8000)" # Nordsys
#system.utPort.params := "UT_CAM/UDP(dst_ip=172.23.0.1,dst_port=8000)" # Nordsys
system.utPort.params := "UT_CAM/UDP(dst_ip=172.28.7.123,dst_port=1999)" # Savary
[EXECUTE]
ItsCam_TestCases.TC_CAM_MSD_FMT_BV_01
......
[MODULE_PARAMETERS]
# This section shall contain the values of all parameters that are defined in your TTCN-3 modules.
# Enable Security support
LibItsGeoNetworking_Pics.PICS_GN_SECURITY := true
# Root path to access certificate stored in files, identified by certficate ID
LibItsSecurity_Pixits.PX_CERTIFICATE_POOL_PATH := "/home/vagrant/tmp"
# Configuration sub-directory to access certificate stored in files
LibItsSecurity_Pixits.PX_IUT_SEC_CONFIG_NAME := "asn1c_cert"
LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/x-its-request"
LibItsHttp_Pics.PICS_HEADER_HOST := "etsi-dc-noes.labtlclivorno.it" #192.168.171.18
LibItsPki_Pics.PICS_HTTP_POST_URI_EC :="/dc/ea"
LibItsPki_Pics.PICS_HTTP_POST_URI_AT :="/dc/aa"
LibItsPki_Pics.PICS_HTTP_POST_URI_ATV :="/"
LibItsPki_Pics.PICS_ITS_S_SIGN_NITSP256_PRIVATE_KEY := '5C25F97607DFC62972A147FAD8B7A7C939569F0F95ECD4C641724A68B51836E5'O
LibItsPki_Pics.PICS_ITS_S_SIGN_NISTP256_PUBLIC_KEY := '020144E5174B0AFDA86BDB8B643B68D40030F5BDB9A9F090C64852CC3C20C9D5AD'O
LibItsPki_Pics.PICS_ITS_S_CANONICAL_ID := '1B4CA1210123AE900BBE6C3EBAE7E87DA20DBDAB1E7B2EC0691C51C1021900AA'O
LibItsPki_Pics.PICS_TS_EA_CERTIFICATE_ID := "CERT_CNIT_EA"
LibItsPki_Pics.PICS_TS_AA_CERTIFICATE_ID := "CERT_CNIT_AA"
LibItsPki_Pixits.PICS_PKI_AUTH_POP := false # Not private key available
LibItsPki_Pics.PICS_SECPKI_REENROLMENT := false
LibItsPki_Pixits.PX_EC_PRIVATE_KEY := '73AD688448117EFF50BCB044AA9CFD7932023B7A2C62887A1D3B99FED2B5237C'O
LibItsPki_Pixits.PX_EC_HASH := 'C4FD3EF2B51CFD605D7D40FA9C1C279B8B8C4D7CB9D40D6044C55F615D750502'O
LibItsPki_Pixits.PX_EC_HASHED_ID8 := '44C55F615D750502'O
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).
LogFile := "../logs/%e.%h-%r.%s"
FileMask := LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
#FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
LogSourceInfo := Stack
LogEntityName:= Yes
LogEventTypes:= Yes
#TimeStampFormat := DateTime
[TESTPORT_PARAMETERS]
system.httpPort.params := "HTTP(codecs=http_its:http_etsi_ieee1609dot2_codec)/TCP(debug=1,server=etsi-dc-noes.labtlclivorno.it)"
[EXECUTE]
# The EnrolmentResponse message shall be sent by the EA to the ITS-S across the interface at reference point S3 in response
# to a received EnrolmentRequest message
#ItsPki_TestCases.TC_SECPKI_EA_ENR_RCV_01_BV
# Check that EA doesn't accept Enrolment rekeying request when enrolment is not permitted by signing certificate
#ItsPki_TestCases.TC_SECPKI_EA_ENR_RCV_02_BI
# The EnrolmentResponse message shall be encrypted using an ETSI TS 103 097 approved algorithm and the encryption shall be
#done with the same AES key as the one used by the ITS-S requestor for the encryption of the EnrolmentRequest message.
ItsPki_TestCases.TC_SECPKI_EA_ENR_01_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_02_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_03_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_04_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_05_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_06_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_07_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_01_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_08_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_09_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_10_BV
#ItsPki_TestCases.TC_SECPKI_EA_ENR_11_BV
# 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
#ItsPki_TestCases.TC_SECPKI_EA_AUTHVAL_RCV_01_BV
#ItsPki_TestCases.TC_SECPKI_AA_AUTH_RCV_01_BV
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
LocalAddress := 127.0.0.1
TCPPort := 12000
NumHCs := 1
......@@ -33,10 +33,6 @@ LibItsPki_Pics.PICS_HTTP_POST_URI_ATV := "/aa/authorization"
LibItsPki_Pics.PICS_IUT_ITS_S_ROLE := true
LibItsPki_Pics.PICS_SECPKI_ENROLMENT := true
LibItsPki_Pixits.PX_EC_PRIVATE_KEY := '73AD688448117EFF50BCB044AA9CFD7932023B7A2C62887A1D3B99FED2B5237C'O
LibItsPki_Pixits.PX_EC_HASH := 'C4FD3EF2B51CFD605D7D40FA9C1C279B8B8C4D7CB9D40D6044C55F615D750502'O
LibItsPki_Pixits.PX_EC_HASHED_ID8 := '44C55F615D750502'O