Loading ccsrc/EncDec/LibItsPki_Encdec.cc 0 → 100644 +64 −0 Original line number Diff line number Diff line #include "LibItsPki_EncdecDeclarations.hh" #include "etsi_ts102941_types_enrolment_inner_request.hh" #include "etsi_ts102941_types_enrolment_inner_response.hh" #include "loggers.hh" namespace LibItsPki__EncdecDeclarations { BITSTRING fx_enc_InnerEcRequest(const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request) { loggers::get_instance().log_msg(">>> fx_enc_InnerEcRequest: ", p_inner_request); etsi_ts102941_types_enrolment_inner_request codec; OCTETSTRING os; if (codec.encode(p_inner_request, os) == -1) { loggers::get_instance().warning("fx_enc_InnerEcRequest: -1 result code was returned"); return int2bit(0, 1); } return oct2bit(os); } INTEGER fx_dec_InnerEcRequest(BITSTRING& b, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request) { loggers::get_instance().log_msg(">>> fx_dec_InnerEcRequest: ", b); etsi_ts102941_types_enrolment_inner_request codec; OCTETSTRING is = bit2oct(b); if (codec.decode(is, p_inner_request) == -1) { loggers::get_instance().warning("fx_dec_InnerEcRequest: -1 result code was returned"); return -1; } loggers::get_instance().log_msg("<<< fx_dec_InnerEcRequest: ", p_inner_request); return 0; } BITSTRING fx_enc_InnerEcResponse(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response) { loggers::get_instance().log_msg(">>> fx_enc_InnerEcResponse: ", p_inner_response); etsi_ts102941_types_enrolment_inner_response codec; OCTETSTRING os; if (codec.encode(p_inner_response, os) == -1) { loggers::get_instance().warning("fx_enc_InnerEcResponse: -1 result code was returned"); return int2bit(0, 1); } return oct2bit(os); } INTEGER fx_dec_InnerEcResponse(BITSTRING& b, EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response) { loggers::get_instance().log_msg(">>> fx_dec_InnerEcResponse: ", b); etsi_ts102941_types_enrolment_inner_response codec; OCTETSTRING is = bit2oct(b); if (codec.decode(is, p_inner_response) == -1) { loggers::get_instance().warning("fx_dec_InnerEcResponse: -1 result code was returned"); return -1; } loggers::get_instance().log_msg("<<< fx_dec_InnerEcResponse: ", p_inner_response); return 0; } } // End of namespace LibItsPki__EncdecDeclarations ccsrc/Externals/LibItsSecurity_externals.cc +4 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,10 @@ namespace LibItsSecurity__Functions const OCTETSTRING& p__certificateIssuer, const OCTETSTRING& p__privateKey ) { loggers::get_instance().log_msg(">>> fx__signWithEcdsaNistp256WithSha256: data=", p__toBeSignedSecuredMessage); loggers::get_instance().log_msg(">>> fx__signWithEcdsaNistp256WithSha256: issuer=", p__certificateIssuer); loggers::get_instance().log_msg(">>> fx__signWithEcdsaNistp256WithSha256: private key=", p__privateKey); // Sanity checks if (p__certificateIssuer.lengthof() != 32) { loggers::get_instance().log("fx__signWithEcdsaNistp256WithSha256: Wrong parameters"); Loading ccsrc/Protocols/Security/certificates_loader.hh +9 −34 Original line number Diff line number Diff line Loading @@ -21,8 +21,8 @@ #include "security_db_record.hh" namespace IEEE1609dot2BaseTypes { class EccP256CurvePoint; class EccP384CurvePoint; class EccP256CurvePoint; //! Declare TITAN class class EccP384CurvePoint; //! Declare TITAN class } /*! Loading @@ -31,44 +31,19 @@ namespace IEEE1609dot2BaseTypes { * \remark Singleton pattern */ class certificates_loader { std::string _certificateExt; std::string _privateKeyExt; std::string _privateEncKeyExt; std::string _certificateExt; //! COER encoding certificate extension. Default: .oer std::string _privateKeyExt; //! Private signing key extension. Default: .vkey std::string _privateEncKeyExt; //! Private cyphering key extension. Default: .ekey std::string _publicKeysExt; std::string _publicCompKeysExt; std::string _publicEncKeysExt; std::string _hashedidDigestExt; std::string _issuerDigestExt; std::string _publicEncCompKeysExt; /*! * \brief The full folder path to load certificates */ std::experimental::filesystem::path _full_path; /*! * \brief Set to true when certificates are successfully loaded from file system */ bool _is_cache_initialized; /*! * \brief Directory filter (for local development purposes only */ std::set<std::string> _directory_filter; /*! * \brief Unique static object reference of this class */ static certificates_loader* instance; std::experimental::filesystem::path _full_path; //! The full folder path to load certificates bool _is_cache_initialized; //! Set to true when certificates are successfully loaded from file system std::set<std::string> _directory_filter; //! Directory filter (for local development purposes only) static certificates_loader* instance; //! Unique static object reference of this class /*! * \brief Default private ctor Loading ccsrc/Protocols/Security/etsi_ts102941_types_enrolment_inner_request.cc 0 → 100644 +30 −0 Original line number Diff line number Diff line #include "etsi_ts102941_types_enrolment_inner_request.hh" #include "loggers.hh" int etsi_ts102941_types_enrolment_inner_request::encode (const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, OCTETSTRING& p_data) { loggers::get_instance().log(">>> etsi_ts102941_types_enrolment_inner_request::encode: %s", p_inner_request.get_descriptor()->name); BITSTRING b; TTCN_EncDec::clear_error(); TTCN_Buffer buffer; p_inner_request.encode(*p_inner_request.get_descriptor(), buffer, TTCN_EncDec::CT_OER); p_data = OCTETSTRING(buffer.get_len(), buffer.get_data()); loggers::get_instance().log_msg("etsi_ts102941_types_enrolment_inner_request::encode: ", data); return 0; } int etsi_ts102941_types_enrolment_inner_request::decode (const OCTETSTRING& p_data, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, params* p_params) { loggers::get_instance().log_msg(">>> etsi_ts102941_types_enrolment_inner_request::decode: ", p_data); TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(data); _params = params; p_inner_request.decode(*p_inner_request.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER); loggers::get_instance().log_msg("<<< etsi_ts102941_types_enrolment_inner_request::decode: ", (const Base_Type&)p_inner_request); return 0; } ccsrc/Protocols/Security/etsi_ts102941_types_enrolment_inner_request.hh 0 → 100644 +17 −0 Original line number Diff line number Diff line #pragma once #include "codec.hh" #include "params.hh" #include "EtsiTs102941TypesEnrolment.hh" class etsi_ts102941_types_enrolment_inner_request : public codec<EtsiTs102941TypesEnrolment::InnerEcRequest, EtsiTs102941TypesEnrolment::InnerEcRequest> { public: explicit etsi_ts102941_types_enrolment_inner_request() : codec<EtsiTs102941TypesEnrolment::InnerEcRequest, EtsiTs102941TypesEnrolment::InnerEcRequest>() { }; virtual ~etsi_ts102941_types_enrolment_inner_request() { }; virtual int encode (const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, OCTETSTRING& p_data); virtual int decode (const OCTETSTRING& p_data, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, params* p_params = NULL); }; // End of class etsi_ts102941_types_enrolment_inner_request Loading
ccsrc/EncDec/LibItsPki_Encdec.cc 0 → 100644 +64 −0 Original line number Diff line number Diff line #include "LibItsPki_EncdecDeclarations.hh" #include "etsi_ts102941_types_enrolment_inner_request.hh" #include "etsi_ts102941_types_enrolment_inner_response.hh" #include "loggers.hh" namespace LibItsPki__EncdecDeclarations { BITSTRING fx_enc_InnerEcRequest(const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request) { loggers::get_instance().log_msg(">>> fx_enc_InnerEcRequest: ", p_inner_request); etsi_ts102941_types_enrolment_inner_request codec; OCTETSTRING os; if (codec.encode(p_inner_request, os) == -1) { loggers::get_instance().warning("fx_enc_InnerEcRequest: -1 result code was returned"); return int2bit(0, 1); } return oct2bit(os); } INTEGER fx_dec_InnerEcRequest(BITSTRING& b, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request) { loggers::get_instance().log_msg(">>> fx_dec_InnerEcRequest: ", b); etsi_ts102941_types_enrolment_inner_request codec; OCTETSTRING is = bit2oct(b); if (codec.decode(is, p_inner_request) == -1) { loggers::get_instance().warning("fx_dec_InnerEcRequest: -1 result code was returned"); return -1; } loggers::get_instance().log_msg("<<< fx_dec_InnerEcRequest: ", p_inner_request); return 0; } BITSTRING fx_enc_InnerEcResponse(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response) { loggers::get_instance().log_msg(">>> fx_enc_InnerEcResponse: ", p_inner_response); etsi_ts102941_types_enrolment_inner_response codec; OCTETSTRING os; if (codec.encode(p_inner_response, os) == -1) { loggers::get_instance().warning("fx_enc_InnerEcResponse: -1 result code was returned"); return int2bit(0, 1); } return oct2bit(os); } INTEGER fx_dec_InnerEcResponse(BITSTRING& b, EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response) { loggers::get_instance().log_msg(">>> fx_dec_InnerEcResponse: ", b); etsi_ts102941_types_enrolment_inner_response codec; OCTETSTRING is = bit2oct(b); if (codec.decode(is, p_inner_response) == -1) { loggers::get_instance().warning("fx_dec_InnerEcResponse: -1 result code was returned"); return -1; } loggers::get_instance().log_msg("<<< fx_dec_InnerEcResponse: ", p_inner_response); return 0; } } // End of namespace LibItsPki__EncdecDeclarations
ccsrc/Externals/LibItsSecurity_externals.cc +4 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,10 @@ namespace LibItsSecurity__Functions const OCTETSTRING& p__certificateIssuer, const OCTETSTRING& p__privateKey ) { loggers::get_instance().log_msg(">>> fx__signWithEcdsaNistp256WithSha256: data=", p__toBeSignedSecuredMessage); loggers::get_instance().log_msg(">>> fx__signWithEcdsaNistp256WithSha256: issuer=", p__certificateIssuer); loggers::get_instance().log_msg(">>> fx__signWithEcdsaNistp256WithSha256: private key=", p__privateKey); // Sanity checks if (p__certificateIssuer.lengthof() != 32) { loggers::get_instance().log("fx__signWithEcdsaNistp256WithSha256: Wrong parameters"); Loading
ccsrc/Protocols/Security/certificates_loader.hh +9 −34 Original line number Diff line number Diff line Loading @@ -21,8 +21,8 @@ #include "security_db_record.hh" namespace IEEE1609dot2BaseTypes { class EccP256CurvePoint; class EccP384CurvePoint; class EccP256CurvePoint; //! Declare TITAN class class EccP384CurvePoint; //! Declare TITAN class } /*! Loading @@ -31,44 +31,19 @@ namespace IEEE1609dot2BaseTypes { * \remark Singleton pattern */ class certificates_loader { std::string _certificateExt; std::string _privateKeyExt; std::string _privateEncKeyExt; std::string _certificateExt; //! COER encoding certificate extension. Default: .oer std::string _privateKeyExt; //! Private signing key extension. Default: .vkey std::string _privateEncKeyExt; //! Private cyphering key extension. Default: .ekey std::string _publicKeysExt; std::string _publicCompKeysExt; std::string _publicEncKeysExt; std::string _hashedidDigestExt; std::string _issuerDigestExt; std::string _publicEncCompKeysExt; /*! * \brief The full folder path to load certificates */ std::experimental::filesystem::path _full_path; /*! * \brief Set to true when certificates are successfully loaded from file system */ bool _is_cache_initialized; /*! * \brief Directory filter (for local development purposes only */ std::set<std::string> _directory_filter; /*! * \brief Unique static object reference of this class */ static certificates_loader* instance; std::experimental::filesystem::path _full_path; //! The full folder path to load certificates bool _is_cache_initialized; //! Set to true when certificates are successfully loaded from file system std::set<std::string> _directory_filter; //! Directory filter (for local development purposes only) static certificates_loader* instance; //! Unique static object reference of this class /*! * \brief Default private ctor Loading
ccsrc/Protocols/Security/etsi_ts102941_types_enrolment_inner_request.cc 0 → 100644 +30 −0 Original line number Diff line number Diff line #include "etsi_ts102941_types_enrolment_inner_request.hh" #include "loggers.hh" int etsi_ts102941_types_enrolment_inner_request::encode (const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, OCTETSTRING& p_data) { loggers::get_instance().log(">>> etsi_ts102941_types_enrolment_inner_request::encode: %s", p_inner_request.get_descriptor()->name); BITSTRING b; TTCN_EncDec::clear_error(); TTCN_Buffer buffer; p_inner_request.encode(*p_inner_request.get_descriptor(), buffer, TTCN_EncDec::CT_OER); p_data = OCTETSTRING(buffer.get_len(), buffer.get_data()); loggers::get_instance().log_msg("etsi_ts102941_types_enrolment_inner_request::encode: ", data); return 0; } int etsi_ts102941_types_enrolment_inner_request::decode (const OCTETSTRING& p_data, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, params* p_params) { loggers::get_instance().log_msg(">>> etsi_ts102941_types_enrolment_inner_request::decode: ", p_data); TTCN_EncDec::clear_error(); TTCN_Buffer decoding_buffer(data); _params = params; p_inner_request.decode(*p_inner_request.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER); loggers::get_instance().log_msg("<<< etsi_ts102941_types_enrolment_inner_request::decode: ", (const Base_Type&)p_inner_request); return 0; }
ccsrc/Protocols/Security/etsi_ts102941_types_enrolment_inner_request.hh 0 → 100644 +17 −0 Original line number Diff line number Diff line #pragma once #include "codec.hh" #include "params.hh" #include "EtsiTs102941TypesEnrolment.hh" class etsi_ts102941_types_enrolment_inner_request : public codec<EtsiTs102941TypesEnrolment::InnerEcRequest, EtsiTs102941TypesEnrolment::InnerEcRequest> { public: explicit etsi_ts102941_types_enrolment_inner_request() : codec<EtsiTs102941TypesEnrolment::InnerEcRequest, EtsiTs102941TypesEnrolment::InnerEcRequest>() { }; virtual ~etsi_ts102941_types_enrolment_inner_request() { }; virtual int encode (const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, OCTETSTRING& p_data); virtual int decode (const OCTETSTRING& p_data, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, params* p_params = NULL); }; // End of class etsi_ts102941_types_enrolment_inner_request