MADARA  3.2.3
madara::filters::AESBufferFilter Class Reference

Encrypts a buffer with 256 bit AES via OpenSSL. More...

#include <AESBufferFilter.h>

Inheritance diagram for madara::filters::AESBufferFilter:
madara::filters::BufferFilter

Public Member Functions

 AESBufferFilter ()
 Constructor. More...
 
 AESBufferFilter (const AESBufferFilter &input)
 Copy constructor. More...
 
 AESBufferFilter (unsigned char *key, int key_length)
 256 bit key constructor More...
 
virtual ~AESBufferFilter ()
 Destructor. More...
 
virtual int decode (unsigned char *source, int size, int max_size) const
 Decodes the buffer in place using AES encryption. More...
 
virtual int encode (unsigned char *source, int size, int max_size) const
 Encodes the buffer in place using AES encryption. More...
 
int generate_key (const std::string &password)
 Generates a 256 bit key from a password. More...
 

Private Attributes

utility::ScopedArray< unsigned char > iv_
 initialization vector More...
 
utility::ScopedArray< unsigned char > key_
 the user's cypher key More...
 

Detailed Description

Encrypts a buffer with 256 bit AES via OpenSSL.

Definition at line 29 of file AESBufferFilter.h.

Constructor & Destructor Documentation

madara::filters::AESBufferFilter::AESBufferFilter ( )

Constructor.

Definition at line 14 of file AESBufferFilter.cpp.

madara::filters::AESBufferFilter::AESBufferFilter ( const AESBufferFilter input)

Copy constructor.

Parameters
inputthe buffer filter to copy

Definition at line 21 of file AESBufferFilter.cpp.

madara::filters::AESBufferFilter::AESBufferFilter ( unsigned char *  key,
int  key_length 
)

256 bit key constructor

Parameters
keythe key to use for encryption
key_lengththe length of the key

Definition at line 29 of file AESBufferFilter.cpp.

madara::filters::AESBufferFilter::~AESBufferFilter ( )
virtual

Destructor.

Definition at line 37 of file AESBufferFilter.cpp.

Member Function Documentation

int madara::filters::AESBufferFilter::decode ( unsigned char *  source,
int  size,
int  max_size 
) const
virtual

Decodes the buffer in place using AES encryption.

Parameters
sourcethe source and destination buffer
sizethe amount of data in the buffer in bytes
max_sizethe amount of bytes the buffer can hold
Returns
the new size after decoding

decryption context

Implements madara::filters::BufferFilter.

Definition at line 150 of file AESBufferFilter.cpp.

int madara::filters::AESBufferFilter::encode ( unsigned char *  source,
int  size,
int  max_size 
) const
virtual

Encodes the buffer in place using AES encryption.

Parameters
sourcethe source and destination buffer
sizethe amount of data in the buffer in bytes
max_sizethe amount of bytes the buffer can hold
Returns
the new size after encoding

encryption context

Implements madara::filters::BufferFilter.

Definition at line 69 of file AESBufferFilter.cpp.

int madara::filters::AESBufferFilter::generate_key ( const std::string &  password)

Generates a 256 bit key from a password.

Parameters
passworda password to seed the key with
Returns
0 on success, -1 on error

Definition at line 41 of file AESBufferFilter.cpp.

Member Data Documentation

utility::ScopedArray<unsigned char> madara::filters::AESBufferFilter::iv_
private

initialization vector

Definition at line 86 of file AESBufferFilter.h.

utility::ScopedArray<unsigned char> madara::filters::AESBufferFilter::key_
private

the user's cypher key

Definition at line 83 of file AESBufferFilter.h.


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