Table of Contents

Namespace Amazon.Extensions.S3.Encryption

Classes

AmazonCryptoException

Exception thrown by the SDK for errors that occur within the SDK for crypto operations.

AmazonS3CryptoConfigurationBase

Base class for AmazonS3CryptoConfiguration configs Encapsulates common properties and methods of the AmazonS3CryptoConfiguration configurations

AmazonS3CryptoConfigurationV2

AmazonS3CryptoConfigurationV2 allows customers to set storage mode for encryption credentials for AmazonS3EncryptionClientV2

AmazonS3CryptoConfigurationV4

AmazonS3CryptoConfigurationV4 allows customers to configure key commitment policy, security profile, and storage mode for encryption credentials for AmazonS3EncryptionClientV4

AmazonS3EncryptionClientBase

Base class for AmazonS3Encryption clients Encapsulates common properties and methods of the encryption clients

AmazonS3EncryptionClientV2

This class extends the AmazonS3Client and implements IAmazonS3Encryption Provides client side encryption when reading or writing S3 objects. Supported content ciphers: AES/GCM - Encryption and decryption (Encrypted block size can be bigger than the input block size) AES/GCM with key commitment - Decryption only AES/CBC - Decryption only

AmazonS3EncryptionClientV4

This class extends the AmazonS3Client and implements IAmazonS3Encryption Provides client side encryption when reading or writing S3 objects. Supported content ciphers: AES/GCM with key commitment - Encryption and Decryption AES/GCM - Encryption and Decryption AES/CBC - Decryption only

EncryptionInstructions

Encryption Instructions store the encryption credentials

EncryptionMaterialsBase

Base class for EncryptionMaterials materials Encapsulates common properties and methods of the encryption materials

EncryptionMaterialsV2

The "key encrypting key" materials used in encrypt/decryption. These materials may be an asymmetric key, a symmetric key, or a KMS key ID. Every material has its unique type such as RsaOaepSha1, AesGcm or KmsContext respectively.

EncryptionMaterialsV4

The "key encrypting key" materials used in V4 encrypt/decryption with key commitment support. These materials may be an asymmetric key, a symmetric key, or a KMS key ID. Every material has its unique type such as RsaOaepSha1, AesGcm or KmsContext respectively.

Enums

CommitmentPolicy

Defines the key commitment policy for S3 encryption operations Key commitment protects against key substitution attacks by cryptographically binding the encryption key to the ciphertext.

ContentEncryptionAlgorithm

Defines the content encryption algorithm for S3 encryption operations The Content Encryption Algorithm determines which algorithm suite the object is encrypted with.

CryptoStorageMode

Mode for string the encryption information for an object.

SecurityProfile

SecurityProfile enables a newer client version to downgrade to an older version of content encryption and key wrap schemas For example, V4AndLegacy enables AmazonS3EncryptionClientV4 to read objects encrypted by AmazonS3EncryptionClient (V1 and V2)