AWS Certified Developer Associate (#150)

An application under development is required to store hundreds of video files. The data must be encrypted within the application prior to storage, with a unique key for each video file. How should the Developer code the application?

Use the KMS
Encrypt
API to encrypt the data. Store the encrypted data key and data.
Use a cryptography library to generate an encryption key for the application. Use the encryption key to encrypt the data. Store the encrypted data.
Use the KMS
GenerateDataKey
API to get a data key. Encrypt the data with the data key. Store the encrypted data key and data.
Upload the data to an S3 bucket using server side-encryption with an AWS KMS key.