diff options
Diffstat (limited to 'modules/engine/openssl/eng_ossl.h')
-rw-r--r-- | modules/engine/openssl/eng_ossl.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/modules/engine/openssl/eng_ossl.h b/modules/engine/openssl/eng_ossl.h new file mode 100644 index 000000000..a1886662f --- /dev/null +++ b/modules/engine/openssl/eng_ossl.h @@ -0,0 +1,40 @@ +/************************************************* +* OpenSSL Engine Header File * +* (C) 1999-2007 Jack Lloyd * +*************************************************/ + +#ifndef BOTAN_EXT_ENGINE_OPENSSL_H__ +#define BOTAN_EXT_ENGINE_OPENSSL_H__ + +#include <botan/engine.h> +#include <botan/mutex.h> + +namespace Botan { + +/************************************************* +* OpenSSL Engine * +*************************************************/ +class OpenSSL_Engine : public Engine + { + public: + IF_Operation* if_op(const BigInt&, const BigInt&, const BigInt&, + const BigInt&, const BigInt&, const BigInt&, + const BigInt&, const BigInt&) const; + DSA_Operation* dsa_op(const DL_Group&, const BigInt&, + const BigInt&) const; + NR_Operation* nr_op(const DL_Group&, const BigInt&, const BigInt&) const; + ELG_Operation* elg_op(const DL_Group&, const BigInt&, + const BigInt&) const; + DH_Operation* dh_op(const DL_Group&, const BigInt&) const; + + Modular_Exponentiator* mod_exp(const BigInt&, + Power_Mod::Usage_Hints) const; + private: + BlockCipher* find_block_cipher(const std::string&) const; + StreamCipher* find_stream_cipher(const std::string&) const; + HashFunction* find_hash(const std::string&) const; + }; + +} + +#endif |