MySQL 8.4.2
Source Code Documentation
keyring_common::service_definition::Keyring_aes_service_impl Class Reference

#include <keyring_encryption_service_definition.h>

Static Public Member Functions

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. More...
 
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. More...
 
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. More...
 

Member Function Documentation

◆ decrypt()

mysql_service_status_t keyring_lockable::keyring_common::service_definition::Keyring_aes_service_impl::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 
)
staticnoexcept

Decrypt given piece ciphertext.

Parameters
[in]data_idName of the key
[in]auth_idOwner of the key
[in]modeAES mode
[in]block_sizeAES block size information
[in]ivInitialization vector
[in]paddingpadding preference (0 implies no padding)
[in]data_bufferInput buffer
[in]data_buffer_lengthInput buffer length
[out]out_bufferOutput buffer
[in]out_buffer_lengthOutput buffer length
[out]out_lengthLength of decrypted data
Returns
status of the operation
Return values
falseSuccess
trueFailure

◆ encrypt()

mysql_service_status_t keyring_lockable::keyring_common::service_definition::Keyring_aes_service_impl::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 
)
staticnoexcept

Encrypt given piece of plaintext.

Parameters
[in]data_idName of the key
[in]auth_idOwner of the key
[in]modeAES mode
[in]block_sizeAES block size information
[in]ivInitialization vector
[in]paddingpadding preference (0 implies no padding)
[in]data_bufferInput buffer
[in]data_buffer_lengthInput buffer length
[out]out_bufferOutput buffer
[in]out_buffer_lengthOutput buffer length
[out]out_lengthLength of encrypted data
Returns
status of the operation
Return values
falseSuccess
trueFailure

◆ get_size()

mysql_service_status_t keyring_lockable::keyring_common::service_definition::Keyring_aes_service_impl::get_size ( size_t  input_length,
const char *  mode,
size_t  block_size,
size_t *  out_size 
)
staticnoexcept

Retrieve required out buffer length information.

Parameters
[in]input_lengthLength of input text
[in]modeAES mode
[in]block_sizeAES block size information
[out]out_sizeSize of output buffer
Returns
Output buffer length or error
Return values
falseSuccess
trueError processing given mode and/or block size

The documentation for this class was generated from the following files: