diff options
Diffstat (limited to 'src/libstate/engine/openssl')
-rw-r--r-- | src/libstate/engine/openssl/eng_ossl.h | 7 | ||||
-rw-r--r-- | src/libstate/engine/openssl/ossl_md.cpp | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/libstate/engine/openssl/eng_ossl.h b/src/libstate/engine/openssl/eng_ossl.h index c63179459..6eb5700d6 100644 --- a/src/libstate/engine/openssl/eng_ossl.h +++ b/src/libstate/engine/openssl/eng_ossl.h @@ -16,6 +16,11 @@ namespace Botan { class BOTAN_DLL OpenSSL_Engine : public Engine { public: + /** + * Return the provider name ("openssl") + */ + std::string provider_name() const { return "openssl"; } + #if defined(BOTAN_HAS_IF_PUBLIC_KEY_FAMILY) IF_Operation* if_op(const BigInt&, const BigInt&, const BigInt&, const BigInt&, const BigInt&, const BigInt&, @@ -45,7 +50,7 @@ class BOTAN_DLL OpenSSL_Engine : public Engine private: BlockCipher* find_block_cipher(const std::string&) const; StreamCipher* find_stream_cipher(const std::string&) const; - HashFunction* find_hash(const std::string&) const; + HashFunction* find_hash(const SCAN_Name&, Algorithm_Factory&) const; }; } diff --git a/src/libstate/engine/openssl/ossl_md.cpp b/src/libstate/engine/openssl/ossl_md.cpp index d009e4c42..04ef59f99 100644 --- a/src/libstate/engine/openssl/ossl_md.cpp +++ b/src/libstate/engine/openssl/ossl_md.cpp @@ -91,10 +91,9 @@ EVP_HashFunction::~EVP_HashFunction() /************************************************* * Look for an algorithm with this name * *************************************************/ -HashFunction* OpenSSL_Engine::find_hash(const std::string& algo_spec) const +HashFunction* OpenSSL_Engine::find_hash(const SCAN_Name& request, + Algorithm_Factory&) const { - SCAN_Name request(algo_spec); - if(request.algo_name() == "SHA-160") return new EVP_HashFunction(EVP_sha1(), "SHA-160"); |