Loading ccsrc/Protocols/Security/security_cache.hh +8 −8 Original line number Diff line number Diff line Loading @@ -31,14 +31,14 @@ public: /*! \publicsection */ */ virtual ~security_cache(); int get_certificate_id(const OCTETSTRING& p_hashed_id8, std::string& p_certifcate_id) const; int get_certificate_id_by_issuer(const OCTETSTRING& p_issuer, std::string& p_certifcate_id) const; int get_certificate(const std::string& p_certifcate_id, OCTETSTRING& p_certificate) const; int get_certificate(const std::string& p_certifcate_id, IEEE1609dot2::CertificateBase& p_certificate) const; int get_issuer(const std::string& p_certifcate_id, OCTETSTRING& p_hashed_id_issuer) const; int get_hashed_id(const std::string& p_certifcate_id, OCTETSTRING& p_hashed_id) const; int get_private_key(const std::string& p_certifcate_id, OCTETSTRING& p_private_key) const; int get_public_keys(const std::string& p_certifcate_id, OCTETSTRING& p_public_key_x, OCTETSTRING& p_public_key_y) const; int get_certificate_id(const OCTETSTRING& p_hashed_id8, std::string& p_certificate_id) const; int get_certificate_id_by_issuer(const OCTETSTRING& p_issuer, std::string& p_certificate_id) const; int get_certificate(const std::string& p_certificate_id, OCTETSTRING& p_certificate) const; int get_certificate(const std::string& p_certificate_id, IEEE1609dot2::CertificateBase& p_certificate) const; int get_issuer(const std::string& p_certificate_id, OCTETSTRING& p_hashed_id_issuer) const; int get_hashed_id(const std::string& p_certificate_id, OCTETSTRING& p_hashed_id) const; int get_private_key(const std::string& p_certificate_id, OCTETSTRING& p_private_key) const; int get_public_keys(const std::string& p_certificate_id, OCTETSTRING& p_public_key_x, OCTETSTRING& p_public_key_y) const; virtual int store_certificate(const CHARSTRING& p_cert_id, const OCTETSTRING& p_cert, const OCTETSTRING& p_private_key, const OCTETSTRING& p_public_key_x, const OCTETSTRING& p_public_key_y, const OCTETSTRING& p_hashid8, const OCTETSTRING& p_issuer); Loading ccsrc/Protocols/Security/security_services.cc +14 −1 Original line number Diff line number Diff line Loading @@ -26,11 +26,12 @@ security_services::security_services() : _ec_keys(nullptr), _security_cache(new } // End of ctor int security_services::setup(Params& p_params) { // FIXME Rename this method loggers::get_instance().log("security_services::setup"); loggers::get_instance().log(">>> security_services::setup"); p_params.log(); _security_db.reset(new security_db(p_params[Params::sec_db_path])); if (_security_db.get() == nullptr) { // Memory allocation issue loggers::get_instance().warning("security_services::setup: _security_db pointer is NULL"); return -1; } Loading Loading @@ -589,3 +590,15 @@ int security_services::verify_sign_ecdsa_nistp256(const OCTETSTRING& p_hash, con return -1; } int security_services::read_certificate(const CHARSTRING& p_certificate_id, OCTETSTRING& p_certificate) const { return _security_db.get()->get_certificate(std::string(static_cast<const char*>(p_certificate_id)), p_certificate); } int security_services::read_certificate_digest(const CHARSTRING& p_certificate_id, OCTETSTRING& p_digest) const { return _security_db.get()->get_hashed_id(std::string(static_cast<const char*>(p_certificate_id)), p_digest); } int security_services::read_private_key(const CHARSTRING& p_certificate_id, OCTETSTRING& p_private_key) const { return _security_db.get()->get_private_key(std::string(static_cast<const char*>(p_certificate_id)), p_private_key); } ccsrc/Protocols/Security/security_services.hh +5 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include "ec_keys.hh" class OCTETSTRING; class CHARSTRING; namespace IEEE1609dot2BaseTypes { class HashAlgorithm; Loading Loading @@ -88,6 +89,10 @@ public: /*! \publicsection */ inline void set_position(const int p_latitude, const int p_longitude, const int p_elevation = 0) { _latitude = p_latitude; _longitude = p_longitude; _elevation = p_elevation; }; int read_certificate(const CHARSTRING& p_certificate_id, OCTETSTRING& p_certificate) const; int read_certificate_digest(const CHARSTRING& p_certificate_id, OCTETSTRING& p_digest) const; int read_private_key(const CHARSTRING& p_certificate_id, OCTETSTRING& p_private_key) const; private: /*! * \brief Decrypt (if required), verify and extract the unsecured payload from the IEEE1609dot2::Ieee1609Dot2Content data structure Loading @@ -105,5 +110,4 @@ private: int hash_sha384(const OCTETSTRING& p_data, OCTETSTRING& p_hash_data); int sign_ecdsa_nistp256(const OCTETSTRING& p_hash, IEEE1609dot2BaseTypes::Signature& p_signature, Params& p_params); int verify_sign_ecdsa_nistp256(const OCTETSTRING& p_hash, const IEEE1609dot2BaseTypes::Signature& p_signature, const std::string& p_certificate_id, Params& p_params); }; // End of class security_services Loading
ccsrc/Protocols/Security/security_cache.hh +8 −8 Original line number Diff line number Diff line Loading @@ -31,14 +31,14 @@ public: /*! \publicsection */ */ virtual ~security_cache(); int get_certificate_id(const OCTETSTRING& p_hashed_id8, std::string& p_certifcate_id) const; int get_certificate_id_by_issuer(const OCTETSTRING& p_issuer, std::string& p_certifcate_id) const; int get_certificate(const std::string& p_certifcate_id, OCTETSTRING& p_certificate) const; int get_certificate(const std::string& p_certifcate_id, IEEE1609dot2::CertificateBase& p_certificate) const; int get_issuer(const std::string& p_certifcate_id, OCTETSTRING& p_hashed_id_issuer) const; int get_hashed_id(const std::string& p_certifcate_id, OCTETSTRING& p_hashed_id) const; int get_private_key(const std::string& p_certifcate_id, OCTETSTRING& p_private_key) const; int get_public_keys(const std::string& p_certifcate_id, OCTETSTRING& p_public_key_x, OCTETSTRING& p_public_key_y) const; int get_certificate_id(const OCTETSTRING& p_hashed_id8, std::string& p_certificate_id) const; int get_certificate_id_by_issuer(const OCTETSTRING& p_issuer, std::string& p_certificate_id) const; int get_certificate(const std::string& p_certificate_id, OCTETSTRING& p_certificate) const; int get_certificate(const std::string& p_certificate_id, IEEE1609dot2::CertificateBase& p_certificate) const; int get_issuer(const std::string& p_certificate_id, OCTETSTRING& p_hashed_id_issuer) const; int get_hashed_id(const std::string& p_certificate_id, OCTETSTRING& p_hashed_id) const; int get_private_key(const std::string& p_certificate_id, OCTETSTRING& p_private_key) const; int get_public_keys(const std::string& p_certificate_id, OCTETSTRING& p_public_key_x, OCTETSTRING& p_public_key_y) const; virtual int store_certificate(const CHARSTRING& p_cert_id, const OCTETSTRING& p_cert, const OCTETSTRING& p_private_key, const OCTETSTRING& p_public_key_x, const OCTETSTRING& p_public_key_y, const OCTETSTRING& p_hashid8, const OCTETSTRING& p_issuer); Loading
ccsrc/Protocols/Security/security_services.cc +14 −1 Original line number Diff line number Diff line Loading @@ -26,11 +26,12 @@ security_services::security_services() : _ec_keys(nullptr), _security_cache(new } // End of ctor int security_services::setup(Params& p_params) { // FIXME Rename this method loggers::get_instance().log("security_services::setup"); loggers::get_instance().log(">>> security_services::setup"); p_params.log(); _security_db.reset(new security_db(p_params[Params::sec_db_path])); if (_security_db.get() == nullptr) { // Memory allocation issue loggers::get_instance().warning("security_services::setup: _security_db pointer is NULL"); return -1; } Loading Loading @@ -589,3 +590,15 @@ int security_services::verify_sign_ecdsa_nistp256(const OCTETSTRING& p_hash, con return -1; } int security_services::read_certificate(const CHARSTRING& p_certificate_id, OCTETSTRING& p_certificate) const { return _security_db.get()->get_certificate(std::string(static_cast<const char*>(p_certificate_id)), p_certificate); } int security_services::read_certificate_digest(const CHARSTRING& p_certificate_id, OCTETSTRING& p_digest) const { return _security_db.get()->get_hashed_id(std::string(static_cast<const char*>(p_certificate_id)), p_digest); } int security_services::read_private_key(const CHARSTRING& p_certificate_id, OCTETSTRING& p_private_key) const { return _security_db.get()->get_private_key(std::string(static_cast<const char*>(p_certificate_id)), p_private_key); }
ccsrc/Protocols/Security/security_services.hh +5 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include "ec_keys.hh" class OCTETSTRING; class CHARSTRING; namespace IEEE1609dot2BaseTypes { class HashAlgorithm; Loading Loading @@ -88,6 +89,10 @@ public: /*! \publicsection */ inline void set_position(const int p_latitude, const int p_longitude, const int p_elevation = 0) { _latitude = p_latitude; _longitude = p_longitude; _elevation = p_elevation; }; int read_certificate(const CHARSTRING& p_certificate_id, OCTETSTRING& p_certificate) const; int read_certificate_digest(const CHARSTRING& p_certificate_id, OCTETSTRING& p_digest) const; int read_private_key(const CHARSTRING& p_certificate_id, OCTETSTRING& p_private_key) const; private: /*! * \brief Decrypt (if required), verify and extract the unsecured payload from the IEEE1609dot2::Ieee1609Dot2Content data structure Loading @@ -105,5 +110,4 @@ private: int hash_sha384(const OCTETSTRING& p_data, OCTETSTRING& p_hash_data); int sign_ecdsa_nistp256(const OCTETSTRING& p_hash, IEEE1609dot2BaseTypes::Signature& p_signature, Params& p_params); int verify_sign_ecdsa_nistp256(const OCTETSTRING& p_hash, const IEEE1609dot2BaseTypes::Signature& p_signature, const std::string& p_certificate_id, Params& p_params); }; // End of class security_services