MySQL 8.0.40
Source Code Documentation
os0enc.cc File Reference

Encryption code. More...

#include "os0enc.h"
#include "fil0fil.h"
#include "log0files_io.h"
#include "mach0data.h"
#include "os0file.h"
#include "page0page.h"
#include "ut0crc32.h"
#include "ut0mem.h"
#include <errno.h>
#include <mysql/components/services/keyring_generator.h>
#include <mysql/components/services/keyring_reader_with_status.h>
#include <mysql/components/services/keyring_writer.h>
#include <scope_guard.h>
#include "keyring_operations_helper.h"
#include "my_aes.h"
#include "my_rnd.h"
#include "mysql/service_mysql_keyring.h"
#include "mysqld.h"

Namespaces

namespace  innobase
 
namespace  innobase::encryption
 

Functions

bool innobase::encryption::init_keyring_services (const mysql_service_registry_t *reg_srv)
 Initialize keyring component service handles. More...
 
void innobase::encryption::deinit_keyring_services (const mysql_service_registry_t *reg_srv)
 Deinitialize keyring component service handles. More...
 
bool innobase::encryption::generate_key (const char *key_id, const char *key_type, size_t key_length)
 Generate a new key. More...
 
void innobase::encryption::remove_key (const char *key_id)
 Remove a key from keyring. More...
 

Variables

const mysql_service_keyring_reader_with_status_tinnobase::encryption::keyring_reader_service = nullptr
 
const mysql_service_keyring_writer_tinnobase::encryption::keyring_writer_service = nullptr
 
const mysql_service_keyring_generator_tinnobase::encryption::keyring_generator_service = nullptr
 
constexpr size_t MIN_ENCRYPTION_LEN = 2 * MY_AES_BLOCK_SIZE + FIL_PAGE_DATA
 Minimum length needed for encryption. More...
 
constexpr char innodb_key_type [] = "AES"
 Key type. More...
 

Detailed Description

Encryption code.

Variable Documentation

◆ innodb_key_type

constexpr char innodb_key_type[] = "AES"
constexpr

Key type.

◆ MIN_ENCRYPTION_LEN

constexpr size_t MIN_ENCRYPTION_LEN = 2 * MY_AES_BLOCK_SIZE + FIL_PAGE_DATA
constexpr

Minimum length needed for encryption.