Commit b3e32ae4 authored by YannGarcia's avatar YannGarcia
Browse files

Finalyze signature process

parent 07e483b6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57,6 +57,6 @@ int xml_converters::xml_canonicalization(const std::string& p_to_canonical, std:
}

int xml_converters::xml_node_set_contains_callback(void* p_user_data, xmlNodePtr p_node, xmlNodePtr p_parent) {
  loggers::get_instance().log("xml_converters::xml_node_set_contains_callback");
  //loggers::get_instance().log("xml_converters::xml_node_set_contains_callback");
  return 1;
}
+9 −7
Original line number Diff line number Diff line
@@ -68,6 +68,8 @@ public: /*! \publicsection */
   */
  int get_public_keys(const std::string& p_certificate_id, const EVP_PKEY** p_public_key);

  int get_certificate_pem(const std::string& p_certificate_id, std::string& p_certificate_pem);

  virtual int store_certificate(const std::string& p_certificate_name, const std::string& p_certificate, const EVP_PKEY* p_private_key);

  /*!
+6 −3
Original line number Diff line number Diff line
@@ -23,20 +23,22 @@ class certs_db_record {
  std::string _certificate_id;   /*!< Certificate name */
  X509*       _certificate;      /*!< X509 Certificate */
  EVP_PKEY*   _private_key;      /*!< Private key */
  std::string _pem;              /*!< Certificate PEM format */

public: /*! \publicsection */
  /*!
   * \brief Default ctor
   */
  explicit certs_db_record()
    : _certificate_id(nullptr), _certificate(nullptr), _private_key(nullptr) {};
    : _certificate_id(nullptr), _certificate(nullptr), _private_key(nullptr), _pem{} {};
  /*!
   * \brief Specialised ctor
   * \param[in] p_certificate_id The certificate identifier
   * \param[in] p_certificate The X509 certificate in openssl format
   * \param[in] p_private_key The certificate's private key in openssl format
   * \param[in] p_certificate_pem The certificate's PEM format
   */
  certs_db_record(const std::string &p_certificate_id, X509* p_certificate, EVP_PKEY* p_private_key);
  certs_db_record(const std::string& p_certificate_id, X509* p_certificate, EVP_PKEY* p_private_key, const std::string& p_certificate_pem);

  /*!
   * \brief Default dtor
@@ -59,4 +61,5 @@ public: /*! \publicsection */
  inline const X509* certificate() const { return _certificate; };
  inline const EVP_PKEY* private_key() const { return _private_key; };
  inline const EVP_PKEY* public_key() const { return ::X509_get_pubkey(_certificate); };
  inline const std::string& pem() const { return _pem; };
}; // End of class certs_db_record
+21 −6
Original line number Diff line number Diff line
@@ -137,6 +137,21 @@ int certs_cache::get_public_keys(const std::string &p_certificate_id, const EVP_
  return 0;
}

int certs_cache::get_certificate_pem(const std::string& p_certificate_id, std::string& p_certificate_pem) {
  loggers::get_instance().log(">>> certs_cache::get_certificate_pem: '%s'", p_certificate_id.c_str());

  const certs_db_record* record;
  if (load_certificate(p_certificate_id, &record) == -1) {
    loggers::get_instance().warning("certs_cache::get_certificate_pem: Failed to load certificate");
    return -1;
  }

  p_certificate_pem = record->pem();
  loggers::get_instance().log("certs_cache::get_certificate_pem: p_certificate_pem: '%s'", p_certificate_pem);

  return 0;
}

int certs_cache::store_certificate(const std::string& p_certificate_name, const std::string& p_certificate, const EVP_PKEY* p_private_key) {
  loggers::get_instance().log(">>> certs_cache::store_certificate: '%s'", p_certificate_name.c_str());

+5 −4
Original line number Diff line number Diff line
@@ -15,10 +15,11 @@

#include "certs_db_record.hh"

certs_db_record::certs_db_record(const std::string &p_certificate_id, X509* p_certificate, EVP_PKEY* p_private_key) : _certificate_id(p_certificate_id), _certificate(p_certificate), _private_key(p_private_key) {
  loggers::get_instance().log(">>> certs_db_record::certs_db_record: p_certificate_id: '%s'", p_certificate_id.c_str());
  loggers::get_instance().log(">>> certs_db_record::certs_db_record: p_certificate: '%p'", p_certificate);
  loggers::get_instance().log(">>> certs_db_record::certs_db_record: p_private_key: '%p'", p_private_key);
certs_db_record::certs_db_record(const std::string& p_certificate_id, X509* p_certificate, EVP_PKEY* p_private_key, const std::string& p_certificate_pem) : _certificate_id(p_certificate_id), _certificate(p_certificate), _private_key(p_private_key), _pem(p_certificate_pem) {
  loggers::get_instance().log(">>> certs_db_record::certs_db_record: p_certificate_id: '%s'", _certificate_id.c_str());
  loggers::get_instance().log(">>> certs_db_record::certs_db_record: p_certificate: '%p'", _certificate_id);
  loggers::get_instance().log(">>> certs_db_record::certs_db_record: p_private_key: '%p'", _private_key);
  loggers::get_instance().log(">>> certs_db_record::certs_db_record: p_private_key: '%s'", _pem);
}

certs_db_record::~certs_db_record() {
Loading