mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
encryption keys service
This commit is contained in:
@ -1,34 +0,0 @@
|
|||||||
|
|
||||||
#ifndef INCLUDE_MY_CRYPT_KEY_MANAGMENT_INCLUDED
|
|
||||||
#define INCLUDE_MY_CRYPT_KEY_MANAGMENT_INCLUDED
|
|
||||||
|
|
||||||
#include "my_global.h"
|
|
||||||
#include "my_pthread.h"
|
|
||||||
#include "mysql/psi/psi.h"
|
|
||||||
|
|
||||||
#ifndef DBUG_OFF
|
|
||||||
extern my_bool debug_use_static_encryption_keys;
|
|
||||||
|
|
||||||
#ifdef HAVE_PSI_INTERFACE
|
|
||||||
extern PSI_rwlock_key key_LOCK_dbug_encryption_key_version;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern mysql_rwlock_t LOCK_dbug_encryption_key_version;
|
|
||||||
extern uint opt_debug_encryption_key_version;
|
|
||||||
#endif /* DBUG_OFF */
|
|
||||||
|
|
||||||
C_MODE_START
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Functions to interact with key management
|
|
||||||
*/
|
|
||||||
|
|
||||||
uint get_latest_encryption_key_version();
|
|
||||||
uint has_encryption_key(uint version);
|
|
||||||
uint get_encryption_key_size(uint version);
|
|
||||||
int get_encryption_key(uint version, uchar* key, uint size);
|
|
||||||
int get_encryption_iv(uint version, uchar* iv, uint size);
|
|
||||||
|
|
||||||
C_MODE_END
|
|
||||||
|
|
||||||
#endif // INCLUDE_MY_CRYPT_KEY_MANAGMENT_INCLUDED
|
|
@ -197,6 +197,19 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
|
|||||||
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
||||||
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
||||||
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
||||||
|
#include <mysql/service_encryption_keys.h>
|
||||||
|
extern struct encryption_keys_service_st {
|
||||||
|
unsigned int (*get_latest_encryption_key_version_func)();
|
||||||
|
unsigned int (*has_encryption_key_func)(unsigned int);
|
||||||
|
unsigned int (*get_encryption_key_size_func)(unsigned int);
|
||||||
|
int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
int (*get_encryption_iv_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
} *encryption_keys_service;
|
||||||
|
unsigned int get_latest_encryption_key_version();
|
||||||
|
unsigned int has_encryption_key(unsigned int version);
|
||||||
|
unsigned int get_encryption_key_size(unsigned int version);
|
||||||
|
int get_encryption_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
|
||||||
|
int get_encryption_iv(unsigned int version, unsigned char* iv, unsigned int ivbufsize);
|
||||||
struct st_mysql_xid {
|
struct st_mysql_xid {
|
||||||
long formatID;
|
long formatID;
|
||||||
long gtrid_length;
|
long gtrid_length;
|
||||||
|
@ -197,6 +197,19 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
|
|||||||
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
||||||
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
||||||
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
||||||
|
#include <mysql/service_encryption_keys.h>
|
||||||
|
extern struct encryption_keys_service_st {
|
||||||
|
unsigned int (*get_latest_encryption_key_version_func)();
|
||||||
|
unsigned int (*has_encryption_key_func)(unsigned int);
|
||||||
|
unsigned int (*get_encryption_key_size_func)(unsigned int);
|
||||||
|
int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
int (*get_encryption_iv_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
} *encryption_keys_service;
|
||||||
|
unsigned int get_latest_encryption_key_version();
|
||||||
|
unsigned int has_encryption_key(unsigned int version);
|
||||||
|
unsigned int get_encryption_key_size(unsigned int version);
|
||||||
|
int get_encryption_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
|
||||||
|
int get_encryption_iv(unsigned int version, unsigned char* iv, unsigned int ivbufsize);
|
||||||
struct st_mysql_xid {
|
struct st_mysql_xid {
|
||||||
long formatID;
|
long formatID;
|
||||||
long gtrid_length;
|
long gtrid_length;
|
||||||
|
@ -197,6 +197,19 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
|
|||||||
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
||||||
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
||||||
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
||||||
|
#include <mysql/service_encryption_keys.h>
|
||||||
|
extern struct encryption_keys_service_st {
|
||||||
|
unsigned int (*get_latest_encryption_key_version_func)();
|
||||||
|
unsigned int (*has_encryption_key_func)(unsigned int);
|
||||||
|
unsigned int (*get_encryption_key_size_func)(unsigned int);
|
||||||
|
int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
int (*get_encryption_iv_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
} *encryption_keys_service;
|
||||||
|
unsigned int get_latest_encryption_key_version();
|
||||||
|
unsigned int has_encryption_key(unsigned int version);
|
||||||
|
unsigned int get_encryption_key_size(unsigned int version);
|
||||||
|
int get_encryption_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
|
||||||
|
int get_encryption_iv(unsigned int version, unsigned char* iv, unsigned int ivbufsize);
|
||||||
struct st_mysql_xid {
|
struct st_mysql_xid {
|
||||||
long formatID;
|
long formatID;
|
||||||
long gtrid_length;
|
long gtrid_length;
|
||||||
|
@ -197,6 +197,19 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
|
|||||||
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
||||||
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
||||||
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
||||||
|
#include <mysql/service_encryption_keys.h>
|
||||||
|
extern struct encryption_keys_service_st {
|
||||||
|
unsigned int (*get_latest_encryption_key_version_func)();
|
||||||
|
unsigned int (*has_encryption_key_func)(unsigned int);
|
||||||
|
unsigned int (*get_encryption_key_size_func)(unsigned int);
|
||||||
|
int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
int (*get_encryption_iv_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
} *encryption_keys_service;
|
||||||
|
unsigned int get_latest_encryption_key_version();
|
||||||
|
unsigned int has_encryption_key(unsigned int version);
|
||||||
|
unsigned int get_encryption_key_size(unsigned int version);
|
||||||
|
int get_encryption_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
|
||||||
|
int get_encryption_iv(unsigned int version, unsigned char* iv, unsigned int ivbufsize);
|
||||||
struct st_mysql_xid {
|
struct st_mysql_xid {
|
||||||
long formatID;
|
long formatID;
|
||||||
long gtrid_length;
|
long gtrid_length;
|
||||||
|
@ -197,6 +197,19 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
|
|||||||
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
void thd_key_delete(MYSQL_THD_KEY_T *key);
|
||||||
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
|
||||||
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
|
||||||
|
#include <mysql/service_encryption_keys.h>
|
||||||
|
extern struct encryption_keys_service_st {
|
||||||
|
unsigned int (*get_latest_encryption_key_version_func)();
|
||||||
|
unsigned int (*has_encryption_key_func)(unsigned int);
|
||||||
|
unsigned int (*get_encryption_key_size_func)(unsigned int);
|
||||||
|
int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
int (*get_encryption_iv_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
} *encryption_keys_service;
|
||||||
|
unsigned int get_latest_encryption_key_version();
|
||||||
|
unsigned int has_encryption_key(unsigned int version);
|
||||||
|
unsigned int get_encryption_key_size(unsigned int version);
|
||||||
|
int get_encryption_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
|
||||||
|
int get_encryption_iv(unsigned int version, unsigned char* iv, unsigned int ivbufsize);
|
||||||
struct st_mysql_xid {
|
struct st_mysql_xid {
|
||||||
long formatID;
|
long formatID;
|
||||||
long gtrid_length;
|
long gtrid_length;
|
||||||
|
60
include/mysql/service_cryptokeys.h
Normal file
60
include/mysql/service_cryptokeys.h
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#ifndef MYSQL_SERVICE_CRYPTOKEYS_INCLUDED
|
||||||
|
/* Copyright (c) 2015, MariaDB
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||||
|
|
||||||
|
/**
|
||||||
|
@file
|
||||||
|
cryptokeys service
|
||||||
|
|
||||||
|
Functions get cryptographical keys and IV from the cryptokey management plugin
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern struct cryptokeys_service_st {
|
||||||
|
unsigned int (*get_latest_crypto_key_version_func)();
|
||||||
|
unsigned int (*has_crypto_key_func)(unsigned int);
|
||||||
|
unsigned int (*get_crypto_key_size_func)(unsigned int);
|
||||||
|
int (*get_crypto_key_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
int (*get_crypto_iv_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
} *cryptokeys_service;
|
||||||
|
|
||||||
|
#ifdef MYSQL_DYNAMIC_PLUGIN
|
||||||
|
|
||||||
|
#define get_latest_crypto_key_version() cryptokeys_service->get_latest_crypto_key_version_func()
|
||||||
|
#define has_crypto_key(V) cryptokeys_service->has_crypto_key_func(V)
|
||||||
|
#define get_crypto_key_size(V) cryptokeys_service->get_crypto_key_size_func(V)
|
||||||
|
#define get_crypto_key(V,K,S) cryptokeys_service->get_crypto_key_func((V), (K), (S))
|
||||||
|
#define get_crypto_iv(V, I, S) cryptokeys_service->get_crypto_iv_func((V), (I), (S))
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
unsigned int get_latest_crypto_key_version();
|
||||||
|
unsigned int has_crypto_key(unsigned int version);
|
||||||
|
unsigned int get_crypto_key_size(unsigned int version);
|
||||||
|
int get_crypto_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
|
||||||
|
int get_crypto_iv(unsigned int version, unsigned char* iv, unsigned int ivbufsize);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MYSQL_SERVICE_CRYPTOKEYS_INCLUDED
|
||||||
|
#endif
|
||||||
|
|
60
include/mysql/service_encryption_keys.h
Normal file
60
include/mysql/service_encryption_keys.h
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#ifndef MYSQL_SERVICE_ENCRYPTION_KEYS_INCLUDED
|
||||||
|
/* Copyright (c) 2015, MariaDB
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||||
|
|
||||||
|
/**
|
||||||
|
@file
|
||||||
|
encryption keys service
|
||||||
|
|
||||||
|
Functions to get encryption keys and IV from the encryption key management plugin
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern struct encryption_keys_service_st {
|
||||||
|
unsigned int (*get_latest_encryption_key_version_func)();
|
||||||
|
unsigned int (*has_encryption_key_func)(unsigned int);
|
||||||
|
unsigned int (*get_encryption_key_size_func)(unsigned int);
|
||||||
|
int (*get_encryption_key_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
int (*get_encryption_iv_func)(unsigned int, unsigned char*, unsigned int);
|
||||||
|
} *encryption_keys_service;
|
||||||
|
|
||||||
|
#ifdef MYSQL_DYNAMIC_PLUGIN
|
||||||
|
|
||||||
|
#define get_latest_encryption_key_version() encryption_keys_service->get_latest_encryption_key_version_func()
|
||||||
|
#define has_encryption_key(V) encryption_keys_service->has_encryption_key_func(V)
|
||||||
|
#define get_encryption_key_size(V) encryption_keys_service->get_encryption_key_size_func(V)
|
||||||
|
#define get_encryption_key(V,K,S) encryption_keys_service->get_encryption_key_func((V), (K), (S))
|
||||||
|
#define get_encryption_iv(V, I, S) encryption_keys_service->get_encryption_iv_func((V), (I), (S))
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
unsigned int get_latest_encryption_key_version();
|
||||||
|
unsigned int has_encryption_key(unsigned int version);
|
||||||
|
unsigned int get_encryption_key_size(unsigned int version);
|
||||||
|
int get_encryption_key(unsigned int version, unsigned char* key, unsigned int keybufsize);
|
||||||
|
int get_encryption_iv(unsigned int version, unsigned char* iv, unsigned int ivbufsize);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MYSQL_SERVICE_ENCRYPTION_KEYS_INCLUDED
|
||||||
|
#endif
|
||||||
|
|
@ -32,6 +32,7 @@ extern "C" {
|
|||||||
#include <mysql/service_thd_autoinc.h>
|
#include <mysql/service_thd_autoinc.h>
|
||||||
#include <mysql/service_thd_error_context.h>
|
#include <mysql/service_thd_error_context.h>
|
||||||
#include <mysql/service_thd_specifics.h>
|
#include <mysql/service_thd_specifics.h>
|
||||||
|
#include <mysql/service_encryption_keys.h>
|
||||||
/*#include <mysql/service_wsrep.h>*/
|
/*#include <mysql/service_wsrep.h>*/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -35,4 +35,5 @@
|
|||||||
#define VERSION_thd_autoinc 0x0100
|
#define VERSION_thd_autoinc 0x0100
|
||||||
#define VERSION_thd_error_context 0x0100
|
#define VERSION_thd_error_context 0x0100
|
||||||
#define VERSION_thd_specifics 0x0100
|
#define VERSION_thd_specifics 0x0100
|
||||||
|
#define VERSION_encryption_keys 0x0100
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ SET(MYSQLSERVICES_SOURCES
|
|||||||
my_sha1_service.c
|
my_sha1_service.c
|
||||||
my_md5_service.c
|
my_md5_service.c
|
||||||
wsrep_service.c
|
wsrep_service.c
|
||||||
|
encryption_keys_service.c
|
||||||
kill_statement_service.c
|
kill_statement_service.c
|
||||||
logger_service.c)
|
logger_service.c)
|
||||||
|
|
||||||
|
17
libservices/cryptokeys_service.c
Normal file
17
libservices/cryptokeys_service.c
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright (c) 2015 MariaDB
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||||
|
|
||||||
|
#include <service_versions.h>
|
||||||
|
SERVICE_VERSION cryptokeys_service= (void*)VERSION_cryptokeys;
|
17
libservices/encryption_keys_service.c
Normal file
17
libservices/encryption_keys_service.c
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright (c) 2015 MariaDB
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||||
|
|
||||||
|
#include <service_versions.h>
|
||||||
|
SERVICE_VERSION encryption_keys_service= (void*)VERSION_encryption_keys;
|
@ -22,7 +22,6 @@
|
|||||||
#include "mysys_priv.h"
|
#include "mysys_priv.h"
|
||||||
#include <m_string.h>
|
#include <m_string.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
|
|
||||||
pthread_key(struct st_my_thread_var*, THR_KEY_mysys);
|
pthread_key(struct st_my_thread_var*, THR_KEY_mysys);
|
||||||
mysql_mutex_t THR_LOCK_malloc, THR_LOCK_open,
|
mysql_mutex_t THR_LOCK_malloc, THR_LOCK_open,
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
#include <mysql_version.h>
|
#include <mysql_version.h>
|
||||||
#include <mysql/plugin_encryption_key_management.h>
|
#include <mysql/plugin_encryption_key_management.h>
|
||||||
#include <my_aes.h>
|
#include <my_aes.h>
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
#include "sql_class.h"
|
#include "sql_class.h"
|
||||||
#include "KeySingleton.h"
|
#include "KeySingleton.h"
|
||||||
#include "EncKeys.h"
|
#include "EncKeys.h"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include <my_global.h>
|
#include <my_global.h>
|
||||||
#include <mysql/plugin_encryption_key_management.h>
|
#include <mysql/plugin_encryption_key_management.h>
|
||||||
#include <my_crypt_key_management.h>
|
#include "encryption_keys.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "sql_plugin.h"
|
#include "sql_plugin.h"
|
||||||
|
|
||||||
|
11
sql/encryption_keys.h
Normal file
11
sql/encryption_keys.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#ifndef SQL_CRYPTOKEY_INCLUDED
|
||||||
|
#define SQL_CRYPTOKEY_INCLUDED
|
||||||
|
|
||||||
|
#include "my_global.h"
|
||||||
|
|
||||||
|
#ifndef DBUG_OFF
|
||||||
|
extern my_bool debug_use_static_encryption_keys;
|
||||||
|
extern uint opt_debug_encryption_key_version;
|
||||||
|
#endif /* DBUG_OFF */
|
||||||
|
|
||||||
|
#endif // SQL_CRYPTOKEY_INCLUDED
|
@ -139,6 +139,15 @@ static struct wsrep_service_st wsrep_handler = {
|
|||||||
wsrep_unlock_rollback
|
wsrep_unlock_rollback
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct encryption_keys_service_st encryption_keys_handler=
|
||||||
|
{
|
||||||
|
get_latest_encryption_key_version,
|
||||||
|
has_encryption_key,
|
||||||
|
get_encryption_key_size,
|
||||||
|
get_encryption_key,
|
||||||
|
get_encryption_iv
|
||||||
|
};
|
||||||
|
|
||||||
static struct thd_specifics_service_st thd_specifics_handler=
|
static struct thd_specifics_service_st thd_specifics_handler=
|
||||||
{
|
{
|
||||||
thd_key_create,
|
thd_key_create,
|
||||||
@ -161,6 +170,7 @@ static struct st_service_ref list_of_services[]=
|
|||||||
{ "logger_service", VERSION_logger, &logger_service_handler },
|
{ "logger_service", VERSION_logger, &logger_service_handler },
|
||||||
{ "thd_autoinc_service", VERSION_thd_autoinc, &thd_autoinc_handler },
|
{ "thd_autoinc_service", VERSION_thd_autoinc, &thd_autoinc_handler },
|
||||||
{ "wsrep_service", VERSION_wsrep, &wsrep_handler },
|
{ "wsrep_service", VERSION_wsrep, &wsrep_handler },
|
||||||
|
{ "encryption_keys_service", VERSION_encryption_keys, &encryption_keys_handler },
|
||||||
{ "thd_specifics_service", VERSION_thd_specifics, &thd_specifics_handler },
|
{ "thd_specifics_service", VERSION_thd_specifics, &thd_specifics_handler },
|
||||||
{ "thd_error_context_service", VERSION_thd_error_context, &thd_error_conext_handler },
|
{ "thd_error_context_service", VERSION_thd_error_context, &thd_error_conext_handler },
|
||||||
};
|
};
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
#include "sql_repl.h"
|
#include "sql_repl.h"
|
||||||
#include "opt_range.h"
|
#include "opt_range.h"
|
||||||
#include "rpl_parallel.h"
|
#include "rpl_parallel.h"
|
||||||
#include <my_crypt_key_management.h>
|
#include "encryption_keys.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The rule for this file: everything should be 'static'. When a sys_var
|
The rule for this file: everything should be 'static'. When a sys_var
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
#include "fil0pageencryption.h"
|
#include "fil0pageencryption.h"
|
||||||
|
|
||||||
#include <my_crypt.h>
|
#include <my_crypt.h>
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
|
|
||||||
#include <my_aes.h>
|
#include <my_aes.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
@ -25,7 +25,6 @@ Created 08/28/2014
|
|||||||
|
|
||||||
#include "fsp0fsp.h"
|
#include "fsp0fsp.h"
|
||||||
#include "fil0pageencryption.h"
|
#include "fil0pageencryption.h"
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************************************//**
|
/********************************************************************//**
|
||||||
|
@ -12,7 +12,6 @@ Created 11/25/2013 Minli Zhu
|
|||||||
#include "ut0lst.h"
|
#include "ut0lst.h"
|
||||||
#include "ut0rnd.h"
|
#include "ut0rnd.h"
|
||||||
#include "my_aes.h"
|
#include "my_aes.h"
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
|
|
||||||
#define PURPOSE_BYTE_LEN MY_AES_BLOCK_SIZE - 1
|
#define PURPOSE_BYTE_LEN MY_AES_BLOCK_SIZE - 1
|
||||||
#define PURPOSE_BYTE_OFFSET 0
|
#define PURPOSE_BYTE_OFFSET 0
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
#include "fil0pageencryption.h"
|
#include "fil0pageencryption.h"
|
||||||
|
|
||||||
#include <my_crypt.h>
|
#include <my_crypt.h>
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
|
|
||||||
#include <my_aes.h>
|
#include <my_aes.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
@ -25,7 +25,6 @@ Created 08/28/2014
|
|||||||
|
|
||||||
#include "fsp0fsp.h"
|
#include "fsp0fsp.h"
|
||||||
#include "fil0pageencryption.h"
|
#include "fil0pageencryption.h"
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
|
|
||||||
/********************************************************************//**
|
/********************************************************************//**
|
||||||
Determine if the tablespace is page encrypted from dict_table_t::flags.
|
Determine if the tablespace is page encrypted from dict_table_t::flags.
|
||||||
|
@ -12,7 +12,6 @@ Created 11/25/2013 Minli Zhu
|
|||||||
#include "ut0lst.h"
|
#include "ut0lst.h"
|
||||||
#include "ut0rnd.h"
|
#include "ut0rnd.h"
|
||||||
#include "my_aes.h"
|
#include "my_aes.h"
|
||||||
#include <my_crypt_key_management.h>
|
|
||||||
|
|
||||||
#define PURPOSE_BYTE_LEN MY_AES_BLOCK_SIZE - 1
|
#define PURPOSE_BYTE_LEN MY_AES_BLOCK_SIZE - 1
|
||||||
#define PURPOSE_BYTE_OFFSET 0
|
#define PURPOSE_BYTE_OFFSET 0
|
||||||
|
Reference in New Issue
Block a user