12#include <openssl/ossl_typ.h>
13#include <openssl/evp.h>
14#include <openssl/hmac.h>
15#include <openssl/rand.h>
33 void locking_fn(
int mode,
int n,
const char* file,
int line);
70 virtual void Update(
unsigned char*
buffer,
size_t bufferSize)
override;
90 virtual void Update(
unsigned char*
buffer,
size_t bufferSize)
override;
109 virtual void Update(
unsigned char*
buffer,
size_t bufferSize)
override;
209 bool m_emptyPlaintext =
false;
249 static size_t BlockSizeBytes;
250 static size_t KeyLengthBits;
291 static size_t BlockSizeBytes;
292 static size_t KeyLengthBits;
353 static size_t BlockSizeBytes;
354 static size_t IVLengthBytes;
355 static size_t KeyLengthBits;
356 static size_t TagLengthBytes;
394 static size_t BlockSizeBytes;
395 static size_t KeyLengthBits;
AES_CBC_Cipher_OpenSSL(const CryptoBuffer &key, const CryptoBuffer &initializationVector)
AES_CBC_Cipher_OpenSSL(const CryptoBuffer &key)
AES_CBC_Cipher_OpenSSL(CryptoBuffer &&key, CryptoBuffer &&initializationVector)
size_t GetKeyLengthBits() const override
AES_CBC_Cipher_OpenSSL & operator=(const AES_CBC_Cipher_OpenSSL &other)=delete
size_t GetBlockSizeBytes() const override
AES_CBC_Cipher_OpenSSL(const AES_CBC_Cipher_OpenSSL &other)=delete
AES_CBC_Cipher_OpenSSL(AES_CBC_Cipher_OpenSSL &&toMove)=default
AES_CTR_Cipher_OpenSSL(const CryptoBuffer &key)
size_t GetBlockSizeBytes() const override
AES_CTR_Cipher_OpenSSL(const AES_CTR_Cipher_OpenSSL &other)=delete
AES_CTR_Cipher_OpenSSL(CryptoBuffer &&key, CryptoBuffer &&initializationVector)
size_t GetKeyLengthBits() const override
AES_CTR_Cipher_OpenSSL(AES_CTR_Cipher_OpenSSL &&toMove)=default
AES_CTR_Cipher_OpenSSL & operator=(const AES_CTR_Cipher_OpenSSL &other)=delete
AES_CTR_Cipher_OpenSSL(const CryptoBuffer &key, const CryptoBuffer &initializationVector)
size_t GetTagLengthBytes() const
AES_GCM_Cipher_OpenSSL(const CryptoBuffer &key)
size_t GetBlockSizeBytes() const override
AES_GCM_Cipher_OpenSSL(CryptoBuffer &&key, CryptoBuffer &&initializationVector, CryptoBuffer &&tag=CryptoBuffer(0), CryptoBuffer &&aad=CryptoBuffer(0))
AES_GCM_Cipher_OpenSSL(AES_GCM_Cipher_OpenSSL &&toMove)=default
AES_GCM_Cipher_OpenSSL & operator=(const AES_GCM_Cipher_OpenSSL &other)=delete
AES_GCM_Cipher_OpenSSL(const AES_GCM_Cipher_OpenSSL &other)=delete
size_t GetKeyLengthBits() const override
CryptoBuffer FinalizeEncryption() override
AES_GCM_Cipher_OpenSSL(const CryptoBuffer &key, const CryptoBuffer &initializationVector, const CryptoBuffer &tag=CryptoBuffer(0), const CryptoBuffer &aad=CryptoBuffer(0))
AES_GCM_Cipher_OpenSSL(const CryptoBuffer &key, const CryptoBuffer *aad)
CryptoBuffer FinalizeDecryption() override
AES_KeyWrap_Cipher_OpenSSL & operator=(const AES_KeyWrap_Cipher_OpenSSL &)=delete
CryptoBuffer DecryptBuffer(const CryptoBuffer &) override
AES_KeyWrap_Cipher_OpenSSL(const AES_KeyWrap_Cipher_OpenSSL &)=delete
AES_KeyWrap_Cipher_OpenSSL(const CryptoBuffer &key)
AES_KeyWrap_Cipher_OpenSSL(AES_KeyWrap_Cipher_OpenSSL &&)=default
size_t GetBlockSizeBytes() const override
CryptoBuffer EncryptBuffer(const CryptoBuffer &) override
size_t GetKeyLengthBits() const override
CryptoBuffer FinalizeEncryption() override
virtual HashResult Calculate(const Aws::String &str) override
virtual void Update(unsigned char *buffer, size_t bufferSize) override
virtual ~MD5OpenSSLImpl()
virtual HashResult Calculate(Aws::IStream &stream) override
virtual HashResult GetHash() override
OpenSSLCipher(CryptoBuffer &&key, CryptoBuffer &&initializationVector, CryptoBuffer &&tag=CryptoBuffer(0))
CryptoBuffer FinalizeDecryption() override
virtual size_t GetBlockSizeBytes() const =0
OpenSSLCipher(const CryptoBuffer &key, const CryptoBuffer &initializationVector, const CryptoBuffer &tag=CryptoBuffer(0))
CryptoBuffer DecryptBuffer(const CryptoBuffer &encryptedData) override
virtual size_t GetKeyLengthBits() const =0
OpenSSLCipher & operator=(const OpenSSLCipher &other)=delete
CryptoBuffer FinalizeEncryption() override
OpenSSLCipher(const OpenSSLCipher &other)=delete
OpenSSLCipher & operator=(OpenSSLCipher &&toMove)=default
OpenSSLCipher(const CryptoBuffer &key, size_t ivSize, bool ctrMode=false)
CryptoBuffer EncryptBuffer(const CryptoBuffer &unEncryptedData) override
OpenSSLCipher(OpenSSLCipher &&toMove)
EVP_CIPHER_CTX * m_decryptor_ctx
EVP_CIPHER_CTX * m_encryptor_ctx
bool CheckKeyAndIVLength(size_t expectedKeyLength, size_t expectedIVLength)
SecureRandomBytes_OpenSSLImpl()
void GetBytes(unsigned char *buffer, size_t bufferSize) override
~SecureRandomBytes_OpenSSLImpl()=default
virtual HashResult Calculate(Aws::IStream &stream) override
virtual void Update(unsigned char *buffer, size_t bufferSize) override
virtual HashResult GetHash() override
virtual ~Sha1OpenSSLImpl()
virtual HashResult Calculate(const Aws::String &str) override
virtual HashResult Calculate(const ByteBuffer &toSign, const ByteBuffer &secret) override
virtual ~Sha256HMACOpenSSLImpl()=default
virtual HashResult GetHash() override
virtual HashResult Calculate(Aws::IStream &stream) override
virtual HashResult Calculate(const Aws::String &str) override
virtual void Update(unsigned char *buffer, size_t bufferSize) override
virtual ~Sha256OpenSSLImpl()
GetTheLights getTheLights
void cleanup_static_state()
void locking_fn(int mode, int n, const char *file, int line)
std::basic_istream< char, std::char_traits< char > > IStream
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String