Closed
Description
The AWS Encryption SDK Examples in Python is not intuitive/simple to understand. The API usage is not immediately apparent and is buried in a lot of details.
It would be useful to have examples that are a combination of the commonly used APIs, algorithm suites and the type of data (string/stream) to be encrypted/decrypted.
A. Commonly used APIs :
- Encrypt/Decrypt using one KMS CMK
- Encrypt/Decrypt using multiple KMS CMKs in Multiple Regions
- Decrypt using KMS CMK with the client provider
- Decrypt using KMS Discovery with region limits/filters
- Decrypt using KMS generic discovery
- Encrypt/Decrypt using Multi-KR/Multi-MKP
- Caching 1:1 local cache: caching cmm
- Caching 1:n local cache: caching cmm
Once we have the Keyring Implementation: #146
- Encrypt/ Decrypt using Raw AES Keyring
- Encrypt using Raw RSA Keyring (public-key)
- Decrypt using Raw RSA Keyring (public and private)
- Encrypt/Decrypt using KMS Keyring
- Encrypt/Decrypt using Multi-Keyring
B. Types of data for encryption/decryption:
- One shot/ string
- Streaming data
C. Commonly used Algorithm Suite:
- Default Algorithm Suite AES_256_GCM_IV12_TAG16_HKDF_SHA384_ECDSA_P384 with P-384 and SHA-384
- Default w/o signing AES256_GCM_IV12_TAG16_HKDF_SHA256
Examples:
- A1.B1.C1 docs: add master key provider examples #236
- A1.B2.C1 docs: add master key provider examples #236
- A1.B1.C2 docs: add master key provider examples #236
- A2.B1.C1 Example for using multiple keys in multiple regions #177
- A3.B1.C1 docs: add master key provider examples #236
- A4.B1.C1 docs: add master key provider examples #236
- A5.B1.C1 docs: add master key provider examples #236
- A6.B1.C1 docs: add master key provider examples #236
- A7.B1.C1 docs: add CMM examples #239
- A8.B1.C1 docs: add CMM examples #239
- A9.B1.C1 docs: add keyring examples #221
- A10.B1.C1 docs: add keyring examples #221
- A11.B1.C1 docs: add keyring examples #221
- A12.B1.C1 docs: add keyring examples #221
- A13.B1.C1 docs: add keyring examples #221
Also, be sure to include/update the README to help navigate through the examples.