24#include <openssl/conf.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;
64#if OPENSSL_VERSION_NUMBER >= 0x10100000L
87 Key_hkdf_function(vector<string> *kdf_options);
88 virtual ~Key_hkdf_function()
override {}
89 int derive_key(
const unsigned char *
key,
const unsigned int key_length,
90 unsigned char *rkey,
unsigned int key_size)
override;
121 int derive_key(
const unsigned char *
key,
const unsigned int key_length,
122 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 pbkdf2_hmac.
Definition: my_kdf.h:96
virtual ~Key_pbkdf2_hmac_function() override
Definition: my_kdf.h:120
string salt_
Definition: my_kdf.h:97
int validate_options() override
Definition: my_kdf.cc:161
Key_pbkdf2_hmac_function(vector< string > *kdf_options)
pbkdf2_hmac Constructor
Definition: my_kdf.cc:152
int derive_key(const unsigned char *key, const unsigned int key_length, unsigned char *rkey, unsigned int key_size) override
Definition: my_kdf.cc:184
int iterations_
Definition: my_kdf.h:98
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:46
std::vector< T, ut::allocator< T > > vector
Specialization of vector which uses allocator.
Definition: ut0new.h:2874
required string key
Definition: replication_asynchronous_connection_failover.proto:60