diff options
author | René Korthaus <[email protected]> | 2016-07-04 14:21:40 +0200 |
---|---|---|
committer | René Korthaus <[email protected]> | 2016-07-04 17:40:06 +0200 |
commit | 1fc4b37302c0b595153bfa96dab9d765d027839a (patch) | |
tree | f9e1d30145799821022e03ef3801b20555b8d90d /src/lib/tls/tls_handshake_hash.cpp | |
parent | 696a8319d1f0652a301b6340bf4f0229090139f4 (diff) |
Various fixes with bsi module policy
Diffstat (limited to 'src/lib/tls/tls_handshake_hash.cpp')
-rw-r--r-- | src/lib/tls/tls_handshake_hash.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/tls/tls_handshake_hash.cpp b/src/lib/tls/tls_handshake_hash.cpp index 00b8d744c..4f78bebbc 100644 --- a/src/lib/tls/tls_handshake_hash.cpp +++ b/src/lib/tls/tls_handshake_hash.cpp @@ -21,14 +21,19 @@ secure_vector<byte> Handshake_Hash::final(Protocol_Version version, { auto choose_hash = [=]() { if(!version.supports_ciphersuite_specific_prf()) - return "Parallel(MD5,SHA-160)";; + return "Parallel(MD5,SHA-160)"; if(mac_algo == "MD5" || mac_algo == "SHA-1") return "SHA-256"; return mac_algo.c_str(); }; - std::unique_ptr<HashFunction> hash(HashFunction::create(choose_hash())); + const std::string hash_algo = choose_hash(); + std::unique_ptr<HashFunction> hash(HashFunction::create(hash_algo)); + if(!hash) + { + throw Algorithm_Not_Found(hash_algo); + } hash->update(m_data); return hash->final(); } |