24#ifndef KEYRING_ENCRYPTION_SERVICE_IMPL_INCLUDED
25#define KEYRING_ENCRYPTION_SERVICE_IMPL_INCLUDED
49 size_t block_size,
size_t *out_size));
72 encrypt, (
const char *data_id,
const char *auth_id,
const char *
mode,
73 size_t block_size,
const unsigned char *iv,
int padding,
74 const unsigned char *data_buffer,
size_t data_buffer_length,
75 unsigned char *out_buffer,
size_t out_buffer_length,
99 decrypt, (
const char *data_id,
const char *auth_id,
const char *
mode,
100 size_t block_size,
const unsigned char *iv,
int padding,
101 const unsigned char *data_buffer,
size_t data_buffer_length,
102 unsigned char *out_buffer,
size_t out_buffer_length,
103 size_t *out_length));
108#define KEYRING_AES_IMPLEMENTOR(component_name) \
109 BEGIN_SERVICE_IMPLEMENTATION(component_name, keyring_aes) \
110 keyring_common::service_definition::Keyring_aes_service_impl::get_size, \
111 keyring_common::service_definition::Keyring_aes_service_impl::encrypt, \
112 keyring_common::service_definition::Keyring_aes_service_impl::decrypt \
113 END_SERVICE_IMPLEMENTATION()
Definition: keyring_encryption_service_definition.h:34
static mysql_service_status_t decrypt(const char *data_id, const char *auth_id, const char *mode, size_t block_size, const unsigned char *iv, int padding, const unsigned char *data_buffer, size_t data_buffer_length, unsigned char *out_buffer, size_t out_buffer_length, size_t *out_length) noexcept
Decrypt given piece ciphertext.
Definition: keyring_encryption_service_definition.cc:66
static mysql_service_status_t encrypt(const char *data_id, const char *auth_id, const char *mode, size_t block_size, const unsigned char *iv, int padding, const unsigned char *data_buffer, size_t data_buffer_length, unsigned char *out_buffer, size_t out_buffer_length, size_t *out_length) noexcept
Encrypt given piece of plaintext.
Definition: keyring_encryption_service_definition.cc:53
static mysql_service_status_t get_size(size_t input_length, const char *mode, size_t block_size, size_t *out_size) noexcept
Retrieve required out buffer length information.
Definition: keyring_encryption_service_definition.cc:43
Specifies macros to define Components.
Definition: keyring_encryption_service_definition.h:32
mode
Definition: file_handle.h:61
Specifies macros to define Service Implementations.
#define DEFINE_BOOL_METHOD(name, args)
A short macro to define method that returns bool, which is the most common case.
Definition: service_implementation.h:88