template<typename HashT >
◆ CRC32CImpl
◆ CRC32Impl
◆ CRC64Impl
◆ CryptoOutcome
◆ FPOS_TYPE
◆ HashResult
◆ CipherMode
Which mode a cipher is being used for. Encryption or Decryption
| Enumerator |
|---|
| Encrypt | |
| Decrypt | |
Definition at line 24 of file CryptoBuf.h.
◆ ContentCryptoScheme
◆ CryptoErrors
| Enumerator |
|---|
| ENCRYPT_CONTENT_ENCRYPTION_KEY_FAILED | |
| DECRYPT_CONTENT_ENCRYPTION_KEY_FAILED | |
| GENERATE_CONTENT_ENCRYPTION_KEY_FAILED | |
Definition at line 20 of file EncryptionMaterials.h.
◆ KeyWrapAlgorithm
| Enumerator |
|---|
| KMS | |
| KMS_CONTEXT | |
| AES_KEY_WRAP | |
| AES_GCM | |
| NONE | |
Definition at line 15 of file KeyWrapAlgorithm.h.
◆ CleanupCrypto()
AWS_CORE_API void Aws::Utils::Crypto::CleanupCrypto
(
)
You need to call this upon program shutdown.
◆ ConvertToBuffer()
template<typename HashT >
ByteBuffer Aws::Utils::Crypto::ConvertToBuffer
(
HashT
value)
Definition at line 15 of file CRC.h.
◆ CreateAES_CBCImplementation() [1/3]
Create AES in CBC mode off of a 256 bit key. Auto Generates a 16 byte secure random IV
◆ CreateAES_CBCImplementation() [2/3]
Create AES in CBC mode off of a 256 bit key and 16 byte IV
◆ CreateAES_CBCImplementation() [3/3]
Create AES in CBC mode off of a 256 bit key and 16 byte IV
◆ CreateAES_CTRImplementation() [1/3]
Create AES in CTR mode off of a 256 bit key. Auto Generates a 16 byte IV in the format [nonce 4bytes ] [securely random iv 8 bytes] [ CTR init 4bytes ]
◆ CreateAES_CTRImplementation() [2/3]
Create AES in CTR mode off of a 256 bit key and 16 byte IV
◆ CreateAES_CTRImplementation() [3/3]
Create AES in CTR mode off of a 256 bit key and 16 byte IV
◆ CreateAES_GCMImplementation() [1/4]
Create AES in GCM mode off of a 256 bit key. Auto Generates a 12 byte secure random IV.
◆ CreateAES_GCMImplementation() [2/4]
Create AES in GCM mode off of a 256 bit key, a 12 byte secure random IV, and an optional 16 byte Tag. If you are using this cipher to decrypt an encrypted payload, you must set the tag here.
◆ CreateAES_GCMImplementation() [3/4]
Create AES in GCM mode off of a 256 bit key. Auto Generates a 12 byte secure random IV and aad.
◆ CreateAES_GCMImplementation() [4/4]
Create AES in GCM mode off of a 256 bit key, a 16 byte secure random IV, and an optional 16 byte Tag, as well an optional add. If you are using this cipher to decrypt an encrypted payload, you must set the tag here.
◆ CreateAES_KeyWrapImplementation()
Create AES in Key Wrap mode off of a 256 bit key.
◆ CreateCRC32CImplementation()
AWS_CORE_API std::shared_ptr< Hash > Aws::Utils::Crypto::CreateCRC32CImplementation
(
)
◆ CreateCRC32Implementation()
AWS_CORE_API std::shared_ptr< Hash > Aws::Utils::Crypto::CreateCRC32Implementation
(
)
◆ CreateCRC64Implementation()
AWS_CORE_API std::shared_ptr< Hash > Aws::Utils::Crypto::CreateCRC64Implementation
(
)
◆ CreateMD5Implementation()
AWS_CORE_API std::shared_ptr< Hash > Aws::Utils::Crypto::CreateMD5Implementation
(
)
◆ CreateSecureRandomBytesImplementation()
AWS_CORE_API std::shared_ptr< SecureRandomBytes > Aws::Utils::Crypto::CreateSecureRandomBytesImplementation
(
)
◆ CreateSha1Implementation()
AWS_CORE_API std::shared_ptr< Hash > Aws::Utils::Crypto::CreateSha1Implementation
(
)
◆ CreateSha256HMACImplementation()
AWS_CORE_API std::shared_ptr< HMAC > Aws::Utils::Crypto::CreateSha256HMACImplementation
(
)
Create a Sha256 HMACHash provider
◆ CreateSha256Implementation()
AWS_CORE_API std::shared_ptr< Hash > Aws::Utils::Crypto::CreateSha256Implementation
(
)
◆ CreateSha512Implementation()
AWS_CORE_API std::shared_ptr< Hash > Aws::Utils::Crypto::CreateSha512Implementation
(
)
◆ IncrementCTRCounter()
uint32_t
numberOfBlocks
)
◆ InitCrypto()
AWS_CORE_API void Aws::Utils::Crypto::InitCrypto
(
)
You need to call this before using any of the cryptography libs. Should be called after setting the factories.
◆ IsGCM()
◆ SetAES_CBCFactory()
AWS_CORE_API void Aws::Utils::Crypto::SetAES_CBCFactory
(
const std::shared_ptr< SymmetricCipherFactory > &
factory)
Set the global factory for AES in CBC mode providers
◆ SetAES_CTRFactory()
AWS_CORE_API void Aws::Utils::Crypto::SetAES_CTRFactory
(
const std::shared_ptr< SymmetricCipherFactory > &
factory)
Set the global factory for AES in CTR mode providers
◆ SetAES_GCMFactory()
AWS_CORE_API void Aws::Utils::Crypto::SetAES_GCMFactory
(
const std::shared_ptr< SymmetricCipherFactory > &
factory)
Set the global factory for AES in GCM mode providers
◆ SetAES_KeyWrapFactory()
AWS_CORE_API void Aws::Utils::Crypto::SetAES_KeyWrapFactory
(
const std::shared_ptr< SymmetricCipherFactory > &
factory)
Set the global factory for AES in Key Wrap mode providers
◆ SetCRC32CFactory()
AWS_CORE_API void Aws::Utils::Crypto::SetCRC32CFactory
(
const std::shared_ptr< HashFactory > &
factory)
◆ SetCRC32Factory()
AWS_CORE_API void Aws::Utils::Crypto::SetCRC32Factory
(
const std::shared_ptr< HashFactory > &
factory)
Set the global factory for CRC32 Hash providers
◆ SetCRC64Factory()
AWS_CORE_API void Aws::Utils::Crypto::SetCRC64Factory
(
const std::shared_ptr< HashFactory > &
factory)
Set the global factory for CRC32 Hash providers
◆ SetInitCleanupOpenSSLFlag()
AWS_CORE_API void Aws::Utils::Crypto::SetInitCleanupOpenSSLFlag
(
bool
initCleanupFlag)
OpenSSL infects everything with its global state. If it is being used then we automatically initialize and clean it up. If this is a problem for you, set this to false. Be aware that if you don't use our init and cleanup and you are using crypto functionality, you are responsible for installing thread locking, and loading strings and error messages.
◆ SetMD5Factory()
AWS_CORE_API void Aws::Utils::Crypto::SetMD5Factory
(
const std::shared_ptr< HashFactory > &
factory)
Set the global factory for MD5 Hash providers
◆ SetSecureRandomFactory()
AWS_CORE_API void Aws::Utils::Crypto::SetSecureRandomFactory
(
const std::shared_ptr< SecureRandomFactory > &
factory)
Set the global factory for secure random bytes
◆ SetSha1Factory()
AWS_CORE_API void Aws::Utils::Crypto::SetSha1Factory
(
const std::shared_ptr< HashFactory > &
factory)
Set the global factory for Sha1 Hash providers
◆ SetSha256Factory()
AWS_CORE_API void Aws::Utils::Crypto::SetSha256Factory
(
const std::shared_ptr< HashFactory > &
factory)
◆ SetSha256HMACFactory()
AWS_CORE_API void Aws::Utils::Crypto::SetSha256HMACFactory
(
const std::shared_ptr< HMACFactory > &
factory)
◆ DEFAULT_BUF_SIZE
const size_t Aws::Utils::Crypto::DEFAULT_BUF_SIZE = 1024
static
◆ MIN_IV_LENGTH
const size_t Aws::Utils::Crypto::MIN_IV_LENGTH = 12
static
◆ PUT_BACK_SIZE
const size_t Aws::Utils::Crypto::PUT_BACK_SIZE = 1
static
◆ SYMMETRIC_KEY_LENGTH
const size_t Aws::Utils::Crypto::SYMMETRIC_KEY_LENGTH = 32
static