Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise Examples #108

Closed
6 of 15 tasks
ttjsu-aws opened this issue May 24, 2019 · 0 comments
Closed
6 of 15 tasks

Revise Examples #108

ttjsu-aws opened this issue May 24, 2019 · 0 comments

Comments

@ttjsu-aws
Copy link

ttjsu-aws commented May 24, 2019

The AWS Encryption SDK Examples in Java 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 :

  1. Encrypt/Decrypt using one KMS CMK
  2. Encrypt/Decrypt using multiple KMS CMKs in Multiple Regions
  3. Decrypt using KMS CMK with the client provider
  4. Decrypt using KMS Discovery with region limits/filters
  5. Decrypt using KMS generic discovery
  6. Encrypt/Decrypt using Multi-KR/Multi-MKP
  7. Caching 1:1 local cache: caching cmm
  8. Caching 1:n local cache: caching cmm

Once we have the Keyring Implementation: #102

  1. Encrypt/ Decrypt using Raw AES Keyring
  2. Encrypt using Raw RSA Keyring (public-key)
  3. Decrypt using Raw RSA Keyring (public and private)
  4. Encrypt/Decrypt using KMS Keyring
  5. Encrypt/Decrypt using Multi-Keyring

B. Types of data for encryption/decryption:

  1. One shot/ string
  2. Streaming data

C. Commonly used Algorithm Suite:

  1. Default Algorithm Suite AES_256_GCM_IV12_TAG16_HKDF_SHA384_ECDSA_P384 with P-384 and SHA-384
  2. Default w/o signing AES256_GCM_IV12_TAG16_HKDF_SHA256

Examples:

Note: Be sure to include/update the README to help navigate through the examples.

WesleyRosenblum added a commit that referenced this issue Oct 28, 2019
*Description of changes:*

Add a basic example for encrypting and decrypting with a KMS CMK.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

# Check any applicable:
- [ ] Were any files moved? Moving files changes their URL, which breaks all hyperlinks to the files.
WesleyRosenblum added a commit that referenced this issue Oct 29, 2019
*Description of changes:*

Add a basic example for encrypting and decrypting with a KMS CMK.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

# Check any applicable:
- [ ] Were any files moved? Moving files changes their URL, which breaks all hyperlinks to the files.
mattsb42-aws pushed a commit that referenced this issue Oct 29, 2019
* *Issue #, if available:* #108

*Description of changes:*

Add a basic example for encrypting and decrypting with a KMS CMK.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

# Check any applicable:
- [ ] Were any files moved? Moving files changes their URL, which breaks all hyperlinks to the files.

* Add test and Maven plugin to include examples directory as test source
WesleyRosenblum added a commit that referenced this issue Nov 7, 2019
* *Issue #, if available:* #108

*Description of changes:*

Add a basic example for encrypting and decrypting with a KMS CMK.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

# Check any applicable:
- [ ] Were any files moved? Moving files changes their URL, which breaks all hyperlinks to the files.

* Add test and Maven plugin to include examples directory as test source
WesleyRosenblum added a commit that referenced this issue Apr 7, 2020
* Add a basic example for encrypting and decrypting with a KMS CMK (#136)

* *Issue #, if available:* #108

*Description of changes:*

Add a basic example for encrypting and decrypting with a KMS CMK.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

# Check any applicable:
- [ ] Were any files moved? Moving files changes their URL, which breaks all hyperlinks to the files.

* Add test and Maven plugin to include examples directory as test source

* Update docs in prep for 1.6.1 (#133)

* Update docs in prep for 1.6.1
* Actually bump version for release

* Fix for new versions of gpg

* Refactor JceMasterKey to extract logic to be shared by raw keyrings. (#139)

* Refactor JceMasterKey to extract logic to be shared by raw keyrings.

*Issue #, if available:* #102

*Description of changes:*

In anticipation of the RawAesKeyring and RawRsaKeyring needing logic currently embedded in the JceMasterKey, this change extracts that logic into the JceKeyCipher class so it may be shared.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

- [ ] Were any files moved? Moving files changes their URL, which breaks all hyperlinks to the files.

* fix: The final frame can not be larger than the Frame Length (#166)

* Add validation to ensure the length of the final frame in the final
frame header does not exceed the frame size specified in the message
header.

* Validate that frame length is positive for framed data

* Reverting removal of variable frame length code

* Reverting removal of variable frame length code

* Fix spacing after if

Co-authored-by: SalusaSecondus <[email protected]>
Co-authored-by: Greg Rubin <[email protected]>
@lavaleri lavaleri closed this as completed Dec 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants