Examples for all new canonical examples
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- aws, typescript
- Domain
- cryptography, documentation
Research direction
Start by comparing the Python examples linked in the checklist with the corresponding Java examples and inspect the JavaScript repository's existing examples. Work through the API, keyring, and cryptographic materials manager sections, keeping premise and step-by-step wording aligned. Done means every listed example is implemented and the checklist requirements are satisfied.
Written by the indexing model from the issue text.
Description
We are standardizing examples across all implementations. We started with Python[1] and Java[2], so all new implementations need to match those examples.
Related to https://github.com/awslabs/aws-encryption-sdk-specification/issues/103, it is important that these examples be as near as possible direct copies. The premise wording needs to be the same, wording of the step-by-step comments need to be the same, and we need to hit all the major points in the example.
Necessary Examples
API
- How to encrypt and decrypt
- How to change the algorithm suite
- How to encrypt and decrypt data streams in memory
- How to encrypt and decrypt data streamed between files
Keyrings
AWS KMS
- How to use one AWS KMS CMK
- How to use multiple AWS KMS CMKs in different regions
- How to decrypt when you don't know the CMK
- How to decrypt within a region
- How to decrypt with a preferred region but failover to others
- How to use AWS KMS clients with custom configuration (details pending client supplier discussions)
- How to use different AWS KMS client for different regions (details pending client supplier discussions)
Raw keyrings
- How to use a raw AES wrapping key
- How to use a raw RSA wrapping key
- How to use a raw RSA wrapping key when the key is PEM or DER encoded
- How to encrypt with a raw RSA public key wrapping key without access to the private key
Multi-keyrings
Cryptographic Materials Managers
- How to reuse data keys across multiple messages
- How to restrict algorithm suites
- How to require encryption context fields
[1] https://github.com/aws/aws-encryption-sdk-python/tree/master/examples
[2] https://github.com/aws/aws-encryption-sdk-java/tree/master/src/examples
- Dominant language
- TypeScript
- Stars
- 260
- Forks
- 68
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from aws/aws-encryption-sdk-javascript
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
aws/aws-encryption-sdk-javascript#1656 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 68/100
aws/aws-encryption-sdk-javascript#1691 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
aws/aws-encryption-sdk-javascript#1665 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
aws/aws-encryption-sdk-javascript#1663 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
aws/aws-encryption-sdk-javascript#1520 · 1 comment ·
All issues in aws/aws-encryption-sdk-javascript
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
copse-dev/agent-pane#2953 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·