24#include <openssl/opensslv.h>
48 unsigned char *rkey,
unsigned int rkey_size,
49 vector<string> *kdf_options);
59 const unsigned int key_length,
unsigned char *rkey,
60 unsigned int key_size) = 0;
87 int derive_key(
const unsigned char *
key,
const unsigned int key_length,
88 unsigned char *rkey,
unsigned int key_size)
override;
118 int derive_key(
const unsigned char *
key,
const unsigned int key_length,
119 unsigned char *rkey,
unsigned int key_size)
override;
virtual int validate_options()=0
virtual ~Key_derivation_function()
Definition: my_kdf.h:57
bool options_valid_
Definition: my_kdf.h:54
virtual int derive_key(const unsigned char *key, const unsigned int key_length, unsigned char *rkey, unsigned int key_size)=0
vector< string > * kdf_options_
Definition: my_kdf.h:53
Class to implement KDF method hkdf.
Definition: my_kdf.h:65
virtual ~Key_hkdf_function() override
Definition: my_kdf.h:86
Key_hkdf_function(vector< string > *kdf_options)
hkdf Constructor.
Definition: my_kdf.cc:72
string info_
Definition: my_kdf.h:67
int derive_key(const unsigned char *key, const unsigned int key_length, unsigned char *rkey, unsigned int key_size) override
Definition: my_kdf.cc:92
int validate_options() override
Definition: my_kdf.cc:80
string salt_
Definition: my_kdf.h:66
Class to implement KDF method pbkdf2_hmac.
Definition: my_kdf.h:93
virtual ~Key_pbkdf2_hmac_function() override
Definition: my_kdf.h:117
string salt_
Definition: my_kdf.h:94
int validate_options() override
Definition: my_kdf.cc:156
Key_pbkdf2_hmac_function(vector< string > *kdf_options)
pbkdf2_hmac Constructor.
Definition: my_kdf.cc:147
int derive_key(const unsigned char *key, const unsigned int key_length, unsigned char *rkey, unsigned int key_size) override
Definition: my_kdf.cc:179
int iterations_
Definition: my_kdf.h:95
int create_kdf_key(const unsigned char *key, const unsigned int key_length, unsigned char *rkey, unsigned int rkey_size, vector< string > *kdf_options)
Creates the required size of key using supplied key and KDF options.
Definition: my_kdf.cc:47
std::vector< T, ut::allocator< T > > vector
Specialization of vector which uses allocator.
Definition: ut0new.h:2724
required string key
Definition: replication_asynchronous_connection_failover.proto:60