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: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