6#include <aws/core/Aws.h>
7#include <aws/core/utils/crypto/ContentCryptoMaterial.h>
8#include <aws/s3-encryption/s3Encryption_EXPORTS.h>
9#include <aws/s3/model/GetObjectResult.h>
10#include <aws/s3/model/PutObjectRequest.h>
11#include <aws/s3/model/HeadObjectResult.h>
15 namespace S3Encryption
virtual void PopulateRequest(Aws::S3::Model::PutObjectRequest &request, const Aws::Utils::Crypto::ContentCryptoMaterial &contentCryptoMaterial)=0
virtual Aws::Utils::Crypto::ContentCryptoMaterial ReadContentCryptoMaterial(Aws::S3::Model::GetObjectResult &result)=0
const Aws::String SerializeMap(const Aws::Map< Aws::String, Aws::String > ¤tMap)
Aws::Utils::Crypto::ContentCryptoMaterial ReadMetadata(const Aws::Map< Aws::String, Aws::String > &metadata)
const Aws::Map< Aws::String, Aws::String > DeserializeMap(const Aws::String &jsonString)
static const size_t AES_GCM_IV_BYTES
static const char *const CRYPTO_TAG_LENGTH_HEADER
static const size_t AES_GCM_KEY_BYTES
static const char *const IV_HEADER
static const size_t AES_GCM_TAG_BYTES
static const char *const MetadataHandler_Tag
static const char *const MATERIALS_DESCRIPTION_HEADER
static const char *const DEPRECATED_CONTENT_KEY_HEADER
static const char *const KEY_WRAP_ALGORITHM
static const char *const INSTRUCTION_FILE_HEADER
static const char *const CONTENT_CRYPTO_SCHEME_HEADER
static const size_t AES_KEY_WRAP_ENCRYPTED_CEK_BYTES
static const char *const CONTENT_KEY_HEADER
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String