|
Botan
1.10.17
|
#include <algo_factory.h>
Classes | |
| class | Engine_Iterator |
Public Member Functions | |
| void | add_block_cipher (BlockCipher *algo, const std::string &provider) |
| void | add_engine (Engine *engine) |
| void | add_hash_function (HashFunction *algo, const std::string &provider) |
| void | add_mac (MessageAuthenticationCode *algo, const std::string &provider) |
| void | add_pbkdf (PBKDF *algo, const std::string &provider) |
| void | add_stream_cipher (StreamCipher *algo, const std::string &provider) |
| Algorithm_Factory (Mutex_Factory &mf) | |
| void | clear_caches () |
| BlockCipher * | make_block_cipher (const std::string &algo_spec, const std::string &provider="") |
| HashFunction * | make_hash_function (const std::string &algo_spec, const std::string &provider="") |
| MessageAuthenticationCode * | make_mac (const std::string &algo_spec, const std::string &provider="") |
| PBKDF * | make_pbkdf (const std::string &algo_spec, const std::string &provider="") |
| StreamCipher * | make_stream_cipher (const std::string &algo_spec, const std::string &provider="") |
| const BlockCipher * | prototype_block_cipher (const std::string &algo_spec, const std::string &provider="") |
| const HashFunction * | prototype_hash_function (const std::string &algo_spec, const std::string &provider="") |
| const MessageAuthenticationCode * | prototype_mac (const std::string &algo_spec, const std::string &provider="") |
| const PBKDF * | prototype_pbkdf (const std::string &algo_spec, const std::string &provider="") |
| const StreamCipher * | prototype_stream_cipher (const std::string &algo_spec, const std::string &provider="") |
| std::vector< std::string > | providers_of (const std::string &algo_spec) |
| void | set_preferred_provider (const std::string &algo_spec, const std::string &provider) |
| ~Algorithm_Factory () | |
Friends | |
| class | Engine_Iterator |
Algorithm Factory
Definition at line 34 of file algo_factory.h.
| Botan::Algorithm_Factory::Algorithm_Factory | ( | Mutex_Factory & | mf | ) |
Constructor
| mf | a mutex factory |
Definition at line 97 of file algo_factory.cpp.
References Botan::Mutex_Factory::make().
| Botan::Algorithm_Factory::~Algorithm_Factory | ( | ) |
Destructor
Definition at line 109 of file algo_factory.cpp.
| void Botan::Algorithm_Factory::add_block_cipher | ( | BlockCipher * | algo, |
| const std::string & | provider | ||
| ) |
| algo | the algorithm to add |
| provider | the provider of this algorithm |
Definition at line 309 of file algo_factory.cpp.
References Botan::Algorithm::name().
| void Botan::Algorithm_Factory::add_engine | ( | Engine * | engine | ) |
| engine | to add (Algorithm_Factory takes ownership) |
Definition at line 129 of file algo_factory.cpp.
References clear_caches().
Referenced by Botan::Library_State::initialize().
| void Botan::Algorithm_Factory::add_hash_function | ( | HashFunction * | algo, |
| const std::string & | provider | ||
| ) |
| algo | the algorithm to add |
| provider | the provider of this algorithm |
Definition at line 327 of file algo_factory.cpp.
References Botan::Algorithm::name().
| void Botan::Algorithm_Factory::add_mac | ( | MessageAuthenticationCode * | algo, |
| const std::string & | provider | ||
| ) |
| algo | the algorithm to add |
| provider | the provider of this algorithm |
Definition at line 336 of file algo_factory.cpp.
| void Botan::Algorithm_Factory::add_pbkdf | ( | PBKDF * | algo, |
| const std::string & | provider | ||
| ) |
| algo | the algorithm to add |
| provider | the provider of this algorithm |
Definition at line 345 of file algo_factory.cpp.
References Botan::Algorithm::name().
| void Botan::Algorithm_Factory::add_stream_cipher | ( | StreamCipher * | algo, |
| const std::string & | provider | ||
| ) |
| algo | the algorithm to add |
| provider | the provider of this algorithm |
Definition at line 318 of file algo_factory.cpp.
References Botan::Algorithm::name().
| void Botan::Algorithm_Factory::clear_caches | ( | ) |
Clear out any cached objects
Definition at line 120 of file algo_factory.cpp.
Referenced by add_engine().
| BlockCipher * Botan::Algorithm_Factory::make_block_cipher | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 250 of file algo_factory.cpp.
References Botan::BlockCipher::clone(), and prototype_block_cipher().
Referenced by Botan::Core_Engine::find_mac(), and Botan::get_block_cipher().
| HashFunction * Botan::Algorithm_Factory::make_hash_function | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 274 of file algo_factory.cpp.
References Botan::HashFunction::clone(), and prototype_hash_function().
Referenced by Botan::Core_Engine::find_mac(), Botan::Core_Engine::find_pbkdf(), Botan::get_eme(), Botan::get_emsa(), Botan::get_hash(), Botan::get_kdf(), and Botan::Hash_Filter::Hash_Filter().
| MessageAuthenticationCode * Botan::Algorithm_Factory::make_mac | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 286 of file algo_factory.cpp.
References Botan::MessageAuthenticationCode::clone(), and prototype_mac().
Referenced by Botan::Core_Engine::find_pbkdf(), Botan::get_mac(), Botan::MAC_Filter::MAC_Filter(), Botan::Record_Writer::set_keys(), and Botan::Record_Reader::set_keys().
| PBKDF * Botan::Algorithm_Factory::make_pbkdf | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 298 of file algo_factory.cpp.
References Botan::PBKDF::clone(), and prototype_pbkdf().
Referenced by Botan::get_pbkdf().
| StreamCipher * Botan::Algorithm_Factory::make_stream_cipher | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 262 of file algo_factory.cpp.
References Botan::StreamCipher::clone(), and prototype_stream_cipher().
Referenced by Botan::get_stream_cipher(), and Botan::StreamCipher_Filter::StreamCipher_Filter().
| const BlockCipher * Botan::Algorithm_Factory::prototype_block_cipher | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 193 of file algo_factory.cpp.
Referenced by Botan::block_size_of(), Botan::Core_Engine::find_block_cipher(), Botan::get_pbe(), Botan::have_algorithm(), Botan::have_block_cipher(), Botan::keylength_multiple_of(), make_block_cipher(), Botan::max_keylength_of(), Botan::min_keylength_of(), providers_of(), Botan::retrieve_block_cipher(), and set_preferred_provider().
| const HashFunction * Botan::Algorithm_Factory::prototype_hash_function | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 215 of file algo_factory.cpp.
Referenced by Botan::block_size_of(), Botan::Core_Engine::find_block_cipher(), Botan::Core_Engine::find_hash(), Botan::get_pbe(), Botan::have_algorithm(), Botan::have_hash(), make_hash_function(), Botan::output_length_of(), providers_of(), Botan::retrieve_hash(), and set_preferred_provider().
| const MessageAuthenticationCode * Botan::Algorithm_Factory::prototype_mac | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 226 of file algo_factory.cpp.
Referenced by Botan::Core_Engine::find_pbkdf(), Botan::have_algorithm(), Botan::have_mac(), make_mac(), providers_of(), Botan::retrieve_mac(), and set_preferred_provider().
| const PBKDF * Botan::Algorithm_Factory::prototype_pbkdf | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 238 of file algo_factory.cpp.
Referenced by make_pbkdf(), providers_of(), and set_preferred_provider().
| const StreamCipher * Botan::Algorithm_Factory::prototype_stream_cipher | ( | const std::string & | algo_spec, |
| const std::string & | provider = "" |
||
| ) |
| algo_spec | the algorithm we want |
| provider | the provider we would like to use |
Definition at line 204 of file algo_factory.cpp.
Referenced by Botan::have_algorithm(), Botan::have_stream_cipher(), Botan::keylength_multiple_of(), make_stream_cipher(), Botan::max_keylength_of(), Botan::min_keylength_of(), providers_of(), Botan::retrieve_stream_cipher(), and set_preferred_provider().
| std::vector< std::string > Botan::Algorithm_Factory::providers_of | ( | const std::string & | algo_spec | ) |
| algo_spec | the algorithm we are querying |
Definition at line 168 of file algo_factory.cpp.
References prototype_block_cipher(), prototype_hash_function(), prototype_mac(), prototype_pbkdf(), and prototype_stream_cipher().
| void Botan::Algorithm_Factory::set_preferred_provider | ( | const std::string & | algo_spec, |
| const std::string & | provider | ||
| ) |
| algo_spec | the algorithm we are setting a provider for |
| provider | the provider we would like to use |
Definition at line 138 of file algo_factory.cpp.
References prototype_block_cipher(), prototype_hash_function(), prototype_mac(), prototype_pbkdf(), and prototype_stream_cipher().
|
friend |
Definition at line 207 of file algo_factory.h.
1.8.14