26 #if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__)) 28 #define WIN32_NO_STATUS 33 #undef WIN32_NO_STATUS 34 #endif // AWS_SDK_PLATFORM_WINDOWS 49 void GetBytes(
unsigned char* buffer,
size_t bufferSize)
override;
51 BCRYPT_ALG_HANDLE m_algHandle;
54 class BCryptHashContext;
86 HashResult HashData(
const BCryptHashContext& context, PBYTE data, ULONG dataLength);
89 void* m_algorithmHandle;
91 DWORD m_hashBufferLength;
94 DWORD m_hashObjectLength;
99 std::mutex m_algorithmMutex;
232 void Reset()
override;
238 virtual void InitEncryptor_Internal() = 0;
239 virtual void InitDecryptor_Internal() = 0;
240 virtual size_t GetBlockSizeBytes()
const = 0;
241 virtual size_t GetKeyLengthBits()
const = 0;
243 void CheckInitEncryptor();
244 void CheckInitDecryptor();
293 void Reset()
override;
296 void InitEncryptor_Internal()
override;
297 void InitDecryptor_Internal()
override;
298 size_t GetBlockSizeBytes()
const override;
299 size_t GetKeyLengthBits()
const override;
306 static size_t BlockSizeBytes;
307 static size_t KeyLengthBits;
343 void Reset()
override;
346 void InitEncryptor_Internal()
override;
347 void InitDecryptor_Internal()
override;
349 size_t GetBlockSizeBytes()
const override;
350 size_t GetKeyLengthBits()
const override;
359 static size_t BlockSizeBytes;
360 static size_t KeyLengthBits;
392 m_authInfo(
std::move(toMove.m_authInfo)) {}
399 void Reset()
override;
402 void InitEncryptor_Internal()
override;
403 void InitDecryptor_Internal()
override;
405 size_t GetBlockSizeBytes()
const override;
406 size_t GetKeyLengthBits()
const override;
407 size_t GetTagLengthBytes()
const;
412 static size_t BlockSizeBytes;
413 static size_t NonceSizeBytes;
414 static size_t KeyLengthBits;
415 static size_t TagLengthBytes;
419 BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO m_authInfo;
~SecureRandomBytes_BCrypt()
static const char * SecureRandom_BCrypt_Tag
void GetBytes(unsigned char *buffer, size_t bufferSize) override
AES_CBC_Cipher_BCrypt(AES_CBC_Cipher_BCrypt &&toMove)
std::vector< T, Aws::Allocator< T > > Vector
BCRYPT_ALG_HANDLE m_algHandle
std::basic_istream< char, std::char_traits< char > > IStream
AES_GCM_Cipher_BCrypt(AES_GCM_Cipher_BCrypt &&toMove)
PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO m_authInfoPtr
virtual ~Sha256HMACBcryptImpl()
virtual ~Sha256BcryptImpl()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
BCRYPT_KEY_HANDLE m_keyHandle
AES_CTR_Cipher_BCrypt(AES_CTR_Cipher_BCrypt &&toMove)
JSON (JavaScript Object Notation).
SecureRandomBytes_BCrypt()