24#ifndef KEYRING_ENCRYPTION_SERVICE_IMPL_INCLUDED
25#define KEYRING_ENCRYPTION_SERVICE_IMPL_INCLUDED
33namespace service_definition {
50 size_t block_size,
size_t *out_size));
73 encrypt, (
const char *data_id,
const char *auth_id,
const char *
mode,
74 size_t block_size,
const unsigned char *iv,
int padding,
75 const unsigned char *data_buffer,
size_t data_buffer_length,
76 unsigned char *out_buffer,
size_t out_buffer_length,
100 decrypt, (
const char *data_id,
const char *auth_id,
const char *
mode,
101 size_t block_size,
const unsigned char *iv,
int padding,
102 const unsigned char *data_buffer,
size_t data_buffer_length,
103 unsigned char *out_buffer,
size_t out_buffer_length,
104 size_t *out_length));
110#define KEYRING_AES_IMPLEMENTOR(component_name) \
111 BEGIN_SERVICE_IMPLEMENTATION(component_name, keyring_aes) \
112 keyring_common::service_definition::Keyring_aes_service_impl::get_size, \
113 keyring_common::service_definition::Keyring_aes_service_impl::encrypt, \
114 keyring_common::service_definition::Keyring_aes_service_impl::decrypt \
115 END_SERVICE_IMPLEMENTATION()
Definition: keyring_encryption_service_definition.h:35
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:64
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:52
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:42
Specifies macros to define Components.
Definition: keyring_encryption_service_definition.h:32
mode
Definition: file_handle.h:60
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