AWS SDK for C++  1.9.103
AWS SDK for C++
Public Member Functions | Protected Member Functions | List of all members
Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL Class Reference

#include <CryptoImpl.h>

+ Inheritance diagram for Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL:

Public Member Functions

 AES_KeyWrap_Cipher_OpenSSL (const CryptoBuffer &key)
 
 AES_KeyWrap_Cipher_OpenSSL (const AES_KeyWrap_Cipher_OpenSSL &)=delete
 
AES_KeyWrap_Cipher_OpenSSLoperator= (const AES_KeyWrap_Cipher_OpenSSL &)=delete
 
 AES_KeyWrap_Cipher_OpenSSL (AES_KeyWrap_Cipher_OpenSSL &&)=default
 
CryptoBuffer EncryptBuffer (const CryptoBuffer &) override
 
CryptoBuffer FinalizeEncryption () override
 
CryptoBuffer DecryptBuffer (const CryptoBuffer &) override
 
CryptoBuffer FinalizeDecryption () override
 
void Reset () override
 
- Public Member Functions inherited from Aws::Utils::Crypto::OpenSSLCipher
 OpenSSLCipher (const CryptoBuffer &key, size_t ivSize, bool ctrMode=false)
 
 OpenSSLCipher (CryptoBuffer &&key, CryptoBuffer &&initializationVector, CryptoBuffer &&tag=CryptoBuffer(0))
 
 OpenSSLCipher (const CryptoBuffer &key, const CryptoBuffer &initializationVector, const CryptoBuffer &tag=CryptoBuffer(0))
 
 OpenSSLCipher (const OpenSSLCipher &other)=delete
 
OpenSSLCipheroperator= (const OpenSSLCipher &other)=delete
 
 OpenSSLCipher (OpenSSLCipher &&toMove)
 
OpenSSLCipheroperator= (OpenSSLCipher &&toMove)=default
 
virtual ~OpenSSLCipher ()
 
- Public Member Functions inherited from Aws::Utils::Crypto::SymmetricCipher
 SymmetricCipher (const CryptoBuffer &key, size_t ivSize, bool ivGenerationInCtrMode=false)
 
 SymmetricCipher (const CryptoBuffer &key, const CryptoBuffer &initializationVector, const CryptoBuffer &tag=CryptoBuffer(0))
 
 SymmetricCipher (CryptoBuffer &&key, CryptoBuffer &&initializationVector, CryptoBuffer &&tag=CryptoBuffer(0))
 
 SymmetricCipher (const SymmetricCipher &other)=delete
 
SymmetricCipheroperator= (const SymmetricCipher &other)=delete
 
 SymmetricCipher (SymmetricCipher &&toMove)
 
SymmetricCipheroperator= (SymmetricCipher &&toMove)
 
virtual ~SymmetricCipher ()=default
 
virtual operator bool () const
 
const CryptoBufferGetIV () const
 
const CryptoBufferGetTag () const
 
bool Fail () const
 
bool Good () const
 

Protected Member Functions

size_t GetBlockSizeBytes () const override
 
size_t GetKeyLengthBits () const override
 
- Protected Member Functions inherited from Aws::Utils::Crypto::OpenSSLCipher
bool CheckKeyAndIVLength (size_t expectedKeyLength, size_t expectedIVLength)
 
- Protected Member Functions inherited from Aws::Utils::Crypto::SymmetricCipher
 SymmetricCipher ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Aws::Utils::Crypto::SymmetricCipher
static CryptoBuffer GenerateIV (size_t ivLengthBytes, bool ctrMode=false)
 
static CryptoBuffer GenerateKey (size_t keyLengthBytes=SYMMETRIC_KEY_LENGTH)
 
- Protected Attributes inherited from Aws::Utils::Crypto::OpenSSLCipher
EVP_CIPHER_CTX * m_encryptor_ctx
 
EVP_CIPHER_CTX * m_decryptor_ctx
 
- Protected Attributes inherited from Aws::Utils::Crypto::SymmetricCipher
CryptoBuffer m_key
 
CryptoBuffer m_initializationVector
 
CryptoBuffer m_tag
 
bool m_failure
 

Detailed Description

OpenSSL implementation for AES in Key Wrap mode. The key for the c_tor is the Kek, it either encrypts a CEK or decrypts it.

Definition at line 344 of file CryptoImpl.h.

Constructor & Destructor Documentation

◆ AES_KeyWrap_Cipher_OpenSSL() [1/3]

Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::AES_KeyWrap_Cipher_OpenSSL ( const CryptoBuffer key)

Create AES in Key Wrap mode off of a 256 bit key.

◆ AES_KeyWrap_Cipher_OpenSSL() [2/3]

Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::AES_KeyWrap_Cipher_OpenSSL ( const AES_KeyWrap_Cipher_OpenSSL )
delete

◆ AES_KeyWrap_Cipher_OpenSSL() [3/3]

Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::AES_KeyWrap_Cipher_OpenSSL ( AES_KeyWrap_Cipher_OpenSSL &&  )
default

Member Function Documentation

◆ DecryptBuffer()

CryptoBuffer Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::DecryptBuffer ( const CryptoBuffer encryptedData)
overridevirtual

Decrypt a buffer of data. Part of the contract for this interface is that intention that a user call this function multiple times for a large stream. As such, multiple calls to this function on the same instance should produce valid sequential output from an encrypted stream.

Reimplemented from Aws::Utils::Crypto::OpenSSLCipher.

◆ EncryptBuffer()

CryptoBuffer Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::EncryptBuffer ( const CryptoBuffer unEncryptedData)
overridevirtual

Encrypt a buffer of data. Part of the contract for this interface is that intention that a user call this function multiple times for a large stream. As such, multiple calls to this function on the same instance should produce valid sequential output for an encrypted stream.

Reimplemented from Aws::Utils::Crypto::OpenSSLCipher.

◆ FinalizeDecryption()

CryptoBuffer Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::FinalizeDecryption ( )
overridevirtual

Finalize Decryption, returns anything remaining in the last block

Reimplemented from Aws::Utils::Crypto::OpenSSLCipher.

◆ FinalizeEncryption()

CryptoBuffer Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::FinalizeEncryption ( )
overridevirtual

Finalize Encryption, returns anything remaining in the last block

Reimplemented from Aws::Utils::Crypto::OpenSSLCipher.

◆ GetBlockSizeBytes()

size_t Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::GetBlockSizeBytes ( ) const
inlineoverrideprotectedvirtual

Implements Aws::Utils::Crypto::OpenSSLCipher.

Definition at line 368 of file CryptoImpl.h.

◆ GetKeyLengthBits()

size_t Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::GetKeyLengthBits ( ) const
inlineoverrideprotectedvirtual

Implements Aws::Utils::Crypto::OpenSSLCipher.

Definition at line 370 of file CryptoImpl.h.

◆ operator=()

AES_KeyWrap_Cipher_OpenSSL& Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::operator= ( const AES_KeyWrap_Cipher_OpenSSL )
delete

◆ Reset()

void Aws::Utils::Crypto::AES_KeyWrap_Cipher_OpenSSL::Reset ( )
overridevirtual

Reimplemented from Aws::Utils::Crypto::OpenSSLCipher.


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