summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@yahoo.com>2017-04-25 23:03:29 +0200
committerJoel Klinghed <the_jk@yahoo.com>2017-04-25 23:03:29 +0200
commit0f0ce429a4e73dd07cad61c8e06a8d4d2e746629 (patch)
tree120e981d242549706a9c9488239e8c8d8d3ca914 /src
parent2a14dd944545e9da8a3c4445bb3f5c6aafa40dd8 (diff)
Make SSL interception behave as per config documentation
Diffstat (limited to 'src')
-rw-r--r--src/mitm.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mitm.cc b/src/mitm.cc
index 7e0fd19..f809afd 100644
--- a/src/mitm.cc
+++ b/src/mitm.cc
@@ -134,14 +134,17 @@ public:
}
bool load(Config* config, std::string const& cwd) {
+ auto bundle_file = config->get("ssl_cert_bundle", nullptr);
+ auto ca_cert_file = config->get("ssl_ca_cert", nullptr);
+ auto ca_key_file = config->get("ssl_ca_key", nullptr);
+ if (!bundle_file || !ca_cert_file || !ca_key_file) return false;
entropy_.reset(SSLEntropy::create(logger_));
if (!entropy_) return false;
- store_.reset(SSLCertStore::create(
- logger_, config->get("ssl_cert_bundle", "")));
+ store_.reset(SSLCertStore::create(logger_, bundle_file));
if (!store_) return false;
std::string ca_cert, ca_key;
- if (!load_file(config->get("ssl_ca_cert", ""), cwd, &ca_cert)) return false;
- if (!load_file(config->get("ssl_ca_key", ""), cwd, &ca_key)) return false;
+ if (!load_file(ca_cert_file, cwd, &ca_cert)) return false;
+ if (!load_file(ca_key_file, cwd, &ca_key)) return false;
unsecure_ = config->get("ssl_unsecure", false);
issuer_cert_.reset(SSLCert::load(logger_, ca_cert));
if (!issuer_cert_) return false;