MADARA  3.4.1
AESBufferFilter.h
Go to the documentation of this file.
1 
2 
3 #ifndef _MADARA_FILTERS_SSL_AES_H_
4 #define _MADARA_FILTERS_SSL_AES_H_
5 
13 #ifdef _USE_SSL_
14 
15 #include <string>
16 
17 #include "madara/MadaraExport.h"
19 #include "../BufferFilter.h"
20 
21 namespace madara
22 {
23 namespace filters
24 {
29 class MADARA_EXPORT AESBufferFilter : public BufferFilter
30 {
31 public:
36 
41  AESBufferFilter(const AESBufferFilter& input);
42 
48  AESBufferFilter(unsigned char* key, int key_length);
49 
53  virtual ~AESBufferFilter();
54 
60  int generate_key(const std::string& password);
61 
69  virtual int encode(char* source, int size, int max_size) const;
70 
78  virtual int decode(char* source, int size, int max_size) const;
79 
84  virtual std::string get_id(void);
85 
90  virtual uint32_t get_version(void);
91 
92 private:
95 
98 };
99 }
100 }
101 
102 #endif // _USE_SSL_
103 
104 #endif // _MADARA_FILTERS_SSL_AES_H_
Encrypts a buffer with 256 bit AES via OpenSSL.
utility::ScopedArray< unsigned char > iv_
initialization vector
utility::ScopedArray< unsigned char > key_
the user's cypher key
Abstract base class for implementing buffer filters via a functor interface.
Definition: BufferFilter.h:27
constexpr string_t string
std::string get_version(void)
Gets the MADARA version number.
Definition: Utility.cpp:23
Copyright(c) 2020 Galois.