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