Loading ccsrc/Externals/LibItsSecurity_externals.cc +6 −6 Original line number Diff line number Diff line Loading @@ -361,9 +361,9 @@ namespace LibItsSecurity__Functions return OCTETSTRING(); } // 2. Generate and derive shared secret std::vector<unsigned char> peer_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> peer_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, peer_public_key_x, peer_public_key_y) == -1) { std::vector<unsigned char> recipients_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> recipients_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, recipients_public_key_x, recipients_public_key_y) == -1) { loggers::get_instance().warning("fx__encryptWithEciesNistp256WithSha256: Failed to generate and derive secret key"); return OCTETSTRING(); } Loading Loading @@ -450,9 +450,9 @@ namespace LibItsSecurity__Functions return OCTETSTRING(); } // 2. Generate and derive shared secret std::vector<unsigned char> peer_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> peer_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, peer_public_key_x, peer_public_key_y) == -1) { std::vector<unsigned char> recipients_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> recipients_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, recipients_public_key_x, recipients_public_key_y) == -1) { loggers::get_instance().warning("fx__encryptWithEciesBrainpoolp256WithSha256: Failed to generate and derive secret key"); return OCTETSTRING(); } Loading ccsrc/Ports/LibIts_ports/Pki_ports/PkiPort.cc 0 → 100644 +78 −0 Original line number Diff line number Diff line // This Test Port skeleton source file was generated by the // TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A // for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 // Copyright Ericsson Telecom AB 2000-2014 // You may modify this file. Complete the body of empty functions and // add your member functions here. #include "PkiPort.hh" namespace LibItsPki__TestSystem { PkiPort::PkiPort(const char *par_port_name) : PkiPort_BASE(par_port_name) { } PkiPort::~PkiPort() { } void PkiPort::set_parameter(const char * /*parameter_name*/, const char * /*parameter_value*/) { } /*void PkiPort::Handle_Fd_Event(int fd, boolean is_readable, boolean is_writable, boolean is_error) {}*/ void PkiPort::Handle_Fd_Event_Error(int /*fd*/) { } void PkiPort::Handle_Fd_Event_Writable(int /*fd*/) { } void PkiPort::Handle_Fd_Event_Readable(int /*fd*/) { } /*void PkiPort::Handle_Timeout(double time_since_last_call) {}*/ void PkiPort::user_map(const char * /*system_port*/) { } void PkiPort::user_unmap(const char * /*system_port*/) { } void PkiPort::user_start() { } void PkiPort::user_stop() { } void PkiPort::outgoing_send(const LibItsPki__TestSystem::PkiReq& /*send_par*/) { } } /* end of namespace */ ccsrc/Ports/LibIts_ports/Pki_ports/PkiPort.hh 0 → 100644 +44 −0 Original line number Diff line number Diff line // This Test Port skeleton header file was generated by the // TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A // for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 // Copyright Ericsson Telecom AB 2000-2014 // You may modify this file. Add your attributes and prototypes of your // member functions here. #ifndef PkiPort_HH #define PkiPort_HH #include "LibItsPki_TestSystem.hh" namespace LibItsPki__TestSystem { class PkiPort : public PkiPort_BASE { public: PkiPort(const char *par_port_name = NULL); ~PkiPort(); void set_parameter(const char *parameter_name, const char *parameter_value); private: /* void Handle_Fd_Event(int fd, boolean is_readable, boolean is_writable, boolean is_error); */ void Handle_Fd_Event_Error(int fd); void Handle_Fd_Event_Writable(int fd); void Handle_Fd_Event_Readable(int fd); /* void Handle_Timeout(double time_since_last_call); */ protected: void user_map(const char *system_port); void user_unmap(const char *system_port); void user_start(); void user_stop(); void outgoing_send(const LibItsPki__TestSystem::PkiReq& send_par); }; } /* end of namespace */ #endif ccsrc/Ports/LibIts_ports/RSUsSimulator_ports/ConfigRsuSimulatorLayer.cc +30 −5 Original line number Diff line number Diff line Loading @@ -85,19 +85,21 @@ void ConfigRsuSimulatorLayer::receive_data(OCTETSTRING& data, Params& params) unsigned char id = *(static_cast<const unsigned char*>(data)); if (id == 0x00) { // Receive an UtxxInitialise process_data(data, params); process_utinitialize_data(data, params); } else if (id == 0x00) { // Receive an UtCamChangeSpeed process_ut_cam_changespeed_data(data, params); } else { loggers::get_instance().warning("ConfigRsuSimulatorLayer::receive_data: Unsupported tag %02x", id); } } int ConfigRsuSimulatorLayer::process_data(OCTETSTRING& data, Params& params) { loggers::get_instance().log("ConfigRsuSimulatorLayer::process_data"); int ConfigRsuSimulatorLayer::process_utinitialize_data(OCTETSTRING& data, Params& params) { loggers::get_instance().log("ConfigRsuSimulatorLayer::process_utinitialize_data"); Params::const_iterator it = _params.find("ut"); if (it == _params.cend()) { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_data: CF layer's ut parameter is missing"); loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_utinitialize_data: CF layer's ut parameter is missing"); return -1; } Loading @@ -117,7 +119,30 @@ int ConfigRsuSimulatorLayer::process_data(OCTETSTRING& data, Params& params) { // Pass it to the ports if any to_all_upper_ports(p, params); } else { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_data: Unsupported protocol"); loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_utinitialize_data: Unsupported protocol"); return -1; } return 0; } int ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data(OCTETSTRING& data, Params& params) { loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data"); Params::const_iterator it = _params.find("ut"); if (it == _params.cend()) { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data: CF layer's ut parameter is missing"); return -1; } if (_params[std::string("ut")].compare("cam") == 0) { OCTETSTRING speed(data.lengthof() - 1, 1 + static_cast<const unsigned char*>(data)); LibItsCam__TypesAndValues::UtCamTrigger p; p.changeSpeed() = oct2int(speed); // Pass it to the ports if any to_all_upper_ports(p, params); } else { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data: Unsupported protocol"); return -1; } Loading ccsrc/Ports/LibIts_ports/RSUsSimulator_ports/ConfigRsuSimulatorLayer.hh +2 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ public: virtual void receive_data(OCTETSTRING& data, Params& params); private: int process_data(OCTETSTRING& data, Params& params); int process_utinitialize_data(OCTETSTRING& data, Params& params); int process_ut_cam_changespeed_data(OCTETSTRING& data, Params& params); }; // End of class ConfigRsuSimulatorLayer Loading
ccsrc/Externals/LibItsSecurity_externals.cc +6 −6 Original line number Diff line number Diff line Loading @@ -361,9 +361,9 @@ namespace LibItsSecurity__Functions return OCTETSTRING(); } // 2. Generate and derive shared secret std::vector<unsigned char> peer_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> peer_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, peer_public_key_x, peer_public_key_y) == -1) { std::vector<unsigned char> recipients_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> recipients_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, recipients_public_key_x, recipients_public_key_y) == -1) { loggers::get_instance().warning("fx__encryptWithEciesNistp256WithSha256: Failed to generate and derive secret key"); return OCTETSTRING(); } Loading Loading @@ -450,9 +450,9 @@ namespace LibItsSecurity__Functions return OCTETSTRING(); } // 2. Generate and derive shared secret std::vector<unsigned char> peer_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> peer_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, peer_public_key_x, peer_public_key_y) == -1) { std::vector<unsigned char> recipients_public_key_x(static_cast<const unsigned char *>(p__recipientsPublicKeyX), p__recipientsPublicKeyX.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyX)); std::vector<unsigned char> recipients_public_key_y(static_cast<const unsigned char *>(p__recipientsPublicKeyY), p__recipientsPublicKeyY.lengthof() + static_cast<const unsigned char *>(p__recipientsPublicKeyY)); if (ec.generate_and_derive_ephemeral_key(encryption_algotithm::aes_128_ccm, recipients_public_key_x, recipients_public_key_y) == -1) { loggers::get_instance().warning("fx__encryptWithEciesBrainpoolp256WithSha256: Failed to generate and derive secret key"); return OCTETSTRING(); } Loading
ccsrc/Ports/LibIts_ports/Pki_ports/PkiPort.cc 0 → 100644 +78 −0 Original line number Diff line number Diff line // This Test Port skeleton source file was generated by the // TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A // for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 // Copyright Ericsson Telecom AB 2000-2014 // You may modify this file. Complete the body of empty functions and // add your member functions here. #include "PkiPort.hh" namespace LibItsPki__TestSystem { PkiPort::PkiPort(const char *par_port_name) : PkiPort_BASE(par_port_name) { } PkiPort::~PkiPort() { } void PkiPort::set_parameter(const char * /*parameter_name*/, const char * /*parameter_value*/) { } /*void PkiPort::Handle_Fd_Event(int fd, boolean is_readable, boolean is_writable, boolean is_error) {}*/ void PkiPort::Handle_Fd_Event_Error(int /*fd*/) { } void PkiPort::Handle_Fd_Event_Writable(int /*fd*/) { } void PkiPort::Handle_Fd_Event_Readable(int /*fd*/) { } /*void PkiPort::Handle_Timeout(double time_since_last_call) {}*/ void PkiPort::user_map(const char * /*system_port*/) { } void PkiPort::user_unmap(const char * /*system_port*/) { } void PkiPort::user_start() { } void PkiPort::user_stop() { } void PkiPort::outgoing_send(const LibItsPki__TestSystem::PkiReq& /*send_par*/) { } } /* end of namespace */
ccsrc/Ports/LibIts_ports/Pki_ports/PkiPort.hh 0 → 100644 +44 −0 Original line number Diff line number Diff line // This Test Port skeleton header file was generated by the // TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R3A // for U-ERICSSON\ethgry (ethgry@HU00078339) on Fri Aug 14 21:19:06 2015 // Copyright Ericsson Telecom AB 2000-2014 // You may modify this file. Add your attributes and prototypes of your // member functions here. #ifndef PkiPort_HH #define PkiPort_HH #include "LibItsPki_TestSystem.hh" namespace LibItsPki__TestSystem { class PkiPort : public PkiPort_BASE { public: PkiPort(const char *par_port_name = NULL); ~PkiPort(); void set_parameter(const char *parameter_name, const char *parameter_value); private: /* void Handle_Fd_Event(int fd, boolean is_readable, boolean is_writable, boolean is_error); */ void Handle_Fd_Event_Error(int fd); void Handle_Fd_Event_Writable(int fd); void Handle_Fd_Event_Readable(int fd); /* void Handle_Timeout(double time_since_last_call); */ protected: void user_map(const char *system_port); void user_unmap(const char *system_port); void user_start(); void user_stop(); void outgoing_send(const LibItsPki__TestSystem::PkiReq& send_par); }; } /* end of namespace */ #endif
ccsrc/Ports/LibIts_ports/RSUsSimulator_ports/ConfigRsuSimulatorLayer.cc +30 −5 Original line number Diff line number Diff line Loading @@ -85,19 +85,21 @@ void ConfigRsuSimulatorLayer::receive_data(OCTETSTRING& data, Params& params) unsigned char id = *(static_cast<const unsigned char*>(data)); if (id == 0x00) { // Receive an UtxxInitialise process_data(data, params); process_utinitialize_data(data, params); } else if (id == 0x00) { // Receive an UtCamChangeSpeed process_ut_cam_changespeed_data(data, params); } else { loggers::get_instance().warning("ConfigRsuSimulatorLayer::receive_data: Unsupported tag %02x", id); } } int ConfigRsuSimulatorLayer::process_data(OCTETSTRING& data, Params& params) { loggers::get_instance().log("ConfigRsuSimulatorLayer::process_data"); int ConfigRsuSimulatorLayer::process_utinitialize_data(OCTETSTRING& data, Params& params) { loggers::get_instance().log("ConfigRsuSimulatorLayer::process_utinitialize_data"); Params::const_iterator it = _params.find("ut"); if (it == _params.cend()) { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_data: CF layer's ut parameter is missing"); loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_utinitialize_data: CF layer's ut parameter is missing"); return -1; } Loading @@ -117,7 +119,30 @@ int ConfigRsuSimulatorLayer::process_data(OCTETSTRING& data, Params& params) { // Pass it to the ports if any to_all_upper_ports(p, params); } else { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_data: Unsupported protocol"); loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_utinitialize_data: Unsupported protocol"); return -1; } return 0; } int ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data(OCTETSTRING& data, Params& params) { loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data"); Params::const_iterator it = _params.find("ut"); if (it == _params.cend()) { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data: CF layer's ut parameter is missing"); return -1; } if (_params[std::string("ut")].compare("cam") == 0) { OCTETSTRING speed(data.lengthof() - 1, 1 + static_cast<const unsigned char*>(data)); LibItsCam__TypesAndValues::UtCamTrigger p; p.changeSpeed() = oct2int(speed); // Pass it to the ports if any to_all_upper_ports(p, params); } else { loggers::get_instance().warning("ConfigRsuSimulatorLayer::process_ut_cam_changespeed_data: Unsupported protocol"); return -1; } Loading
ccsrc/Ports/LibIts_ports/RSUsSimulator_ports/ConfigRsuSimulatorLayer.hh +2 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ public: virtual void receive_data(OCTETSTRING& data, Params& params); private: int process_data(OCTETSTRING& data, Params& params); int process_utinitialize_data(OCTETSTRING& data, Params& params); int process_ut_cam_changespeed_data(OCTETSTRING& data, Params& params); }; // End of class ConfigRsuSimulatorLayer