AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
EncryptionMaterials.h
1
5#pragma once
6
7#include <aws/core/Core_EXPORTS.h>
8#include <aws/core/utils/crypto/CryptoBuf.h>
9#include <aws/core/utils/Outcome.h>
10#include <aws/core/client/AWSError.h>
11#include <aws/core/utils/crypto/ContentCryptoMaterial.h>
12#include <aws/core/NoResult.h>
13
14namespace Aws
15{
16 namespace Utils
17 {
18 namespace Crypto
19 {
20 enum class CryptoErrors
21 {
25 };
26
28
29 class AWS_CORE_API EncryptionMaterials
30 {
31 public:
33
34 /*
35 * Override this method to control how to encrypt the content encryption key (CEK). This occurs in place.
36 */
37 virtual CryptoOutcome EncryptCEK(ContentCryptoMaterial& contentCryptoMaterial) = 0;
38
39 /*
40 * Override this method to control how to decrypt the content encryption key (CEK). This occurs in place.
41 */
42 virtual CryptoOutcome DecryptCEK(ContentCryptoMaterial& contentCryptoMaterial) = 0;
43 };
44 }//namespace Crypto
45 }//namespace Utils
46}//namespace Aws
virtual CryptoOutcome DecryptCEK(ContentCryptoMaterial &contentCryptoMaterial)=0
virtual CryptoOutcome EncryptCEK(ContentCryptoMaterial &contentCryptoMaterial)=0
Outcome< Aws::NoResult, Aws::Client::AWSError< CryptoErrors > > CryptoOutcome