6#include <aws/core/utils/crypto/EncryptionMaterials.h>
7#include <aws/core/utils/crypto/ContentCryptoMaterial.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/kms/KMSClient.h>
10#include <aws/s3-encryption/s3Encryption_EXPORTS.h>
12#if defined(_MSC_VER) && (_MSC_VER <= 1900 )
13#pragma warning (disable : 4996)
17 namespace S3Encryption
76 AWS_DEPRECATED(
"This class is in the maintenance mode, no new updates will be released, use KMSWithContextEncryptionMaterials. Please see https://docs.aws.amazon.com/general/latest/gr/aws_sdk_cryptography.html for more information.")
100 SetKMSDecryptWithAnyCMK(
false);
106 SetKMSDecryptWithAnyCMK(
false);
bool m_allowDecryptWithAnyCMK
void SetKMSDecryptWithAnyCMK(bool allow)
std::shared_ptr< Aws::KMS::KMSClient > m_kmsClient
KMSEncryptionMaterialsBase(const Aws::String &customerMasterKeyID, const std::shared_ptr< Aws::KMS::KMSClient > &kmsClient)
Aws::String m_customerMasterKeyID
virtual bool ValidateDecryptCEKMaterials(const Aws::Utils::Crypto::ContentCryptoMaterial &contentCryptoMaterial) const
Aws::Utils::Crypto::CryptoOutcome EncryptCEK(Aws::Utils::Crypto::ContentCryptoMaterial &contentCryptoMaterial) override
Aws::Utils::Crypto::CryptoOutcome DecryptCEK(Aws::Utils::Crypto::ContentCryptoMaterial &contentCryptoMaterial) override
KMSEncryptionMaterialsBase(const Aws::String &customerMasterKeyID, const Aws::Client::ClientConfiguration &clientConfig=Aws::Client::ClientConfiguration())
bool IsKMSDecryptWithAnyCMKAllowed() const
KMSEncryptionMaterials(const Aws::String &customerMasterKeyID, const Aws::Client::ClientConfiguration &clientConfig=Aws::Client::ClientConfiguration())
KMSEncryptionMaterials(const Aws::String &customerMasterKeyID, const std::shared_ptr< Aws::KMS::KMSClient > &kmsClient)
KMSWithContextEncryptionMaterials(const Aws::String &customerMasterKeyID, const std::shared_ptr< Aws::KMS::KMSClient > &kmsClient)
Aws::Utils::Crypto::CryptoOutcome EncryptCEK(Aws::Utils::Crypto::ContentCryptoMaterial &contentCryptoMaterial) override
KMSWithContextEncryptionMaterials(const Aws::String &customerMasterKeyID, const Aws::Client::ClientConfiguration &clientConfig=Aws::Client::ClientConfiguration())
AWS_S3ENCRYPTION_API const char * cmkID_Identifier
AWS_S3ENCRYPTION_API const char * kmsEncryptionContextKey
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String