Commit e66c0a24 authored by YannGarcia's avatar YannGarcia
Browse files

Update TLS certificates support

parent a49d8dae
Loading
Loading
Loading
Loading
+17 −15
Original line number Diff line number Diff line
@@ -40,6 +40,8 @@ public: //! \publicsection
  static const std::string& use_ssl;      //! Set to 1 to use SSL to communicate with the HTTP server. Default: false
  static const std::string& mutual_auth;  //! Set to 1 to use mutual authentication. Default: false
  static const std::string& trusted_ca_list; //! List of trusted CA certificates
  static const std::string& certificate;  //! Chain of certificates 
  static const std::string& privkey;      //! Certificate private key
  static const std::string& server_mode;  //! Does the test sytem acting as a server. Default: 0
  static const std::string& local_port;   //! Local listener port. Default: 80

+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ const std::string& params::port = std::string("port");
const std::string& params::use_ssl      = std::string("use_ssl");
const std::string& params::mutual_auth  = std::string("mutual_auth");
const std::string& params::trusted_ca_list = std::string("trusted_ca_list");
const std::string& params::certificate  = std::string("certificate");
const std::string& params::privkey      = std::string("privkey");

const std::string& params::server_mode  = std::string("server_mode");
const std::string& params::local_port   = std::string("local_port");
+16 −7
Original line number Diff line number Diff line
@@ -97,23 +97,32 @@ void tcp_layer::init() {
    _params.insert(std::pair<std::string, std::string>(std::string("mutual_tls"), "0"));
    parameter_set(ssl_verifycertificate_name(), "no");
    it = _params.find(params::mutual_auth);
    if (it == _params.cend()) {
    if (it != _params.cend()) {
      if (_params[params::mutual_auth].compare("1") == 0) { // Use mutual authentication
        parameter_set(ssl_verifycertificate_name(), "yes");
        _params.insert(std::pair<std::string, std::string>(std::string("mutual_tls"), "1"));
      }
    }
    // Set trusted CA file
    it = _params.find(params::mutual_auth);
    if (it == _params.cend()) {
    it = _params.find(params::trusted_ca_list);
    if (it != _params.cend()) {
      parameter_set(ssl_trustedCAlist_file_name(), it->second.c_str());
      _params.insert(std::pair<std::string, std::string>(std::string("mutual_tls"), it->second));
    } else {
      parameter_set(ssl_trustedCAlist_file_name(), "/usr/share/ca-certificates/mozilla/Amazon_Root_CA_1.crt");
      parameter_set(ssl_trustedCAlist_file_name(), "/home/yann/var/ssl/archive/yanngarcia.ddns.net/fullchain1.pem");
    }
    // Set additional certificates
    //parameter_set(ssl_private_key_file_name(), "../certificates/out/privates/e5e11abad8003766e4a7b721afb175a189b5f4cc7046af9b0d8eaebb86f28c40_server_dsa.key.pem");
    //parameter_set(ssl_certificate_file_name(), "../certificates/out/certs/e5e11abad8003766e4a7b721afb175a189b5f4cc7046af9b0d8eaebb86f28c40_server_dsa.cert.pem");
    it = _params.find(params::privkey);
    if (it != _params.cend()) {
      parameter_set(ssl_private_key_file_name(), it->second.c_str());
    } else {
      parameter_set(ssl_private_key_file_name(), "/home/yann/var/ssl/archive/yanngarcia.ddns.net/privkey1.pem");
    }
    it = _params.find(params::certificate);
    if (it != _params.cend()) {
      parameter_set(ssl_certificate_file_name(), it->second.c_str());
    } else {
      parameter_set(ssl_certificate_file_name(), "/home/yann/var/ssl/archive/yanngarcia.ddns.net/fullchain1.pem");
    }
  }
  set_ttcn_buffer_usercontrol(false);
  set_handle_half_close(true);

ttcn/LibHttp/module.mk

0 → 120000
+1 −0
Original line number Diff line number Diff line
module_mec.mk
 No newline at end of file