aws / aws/aws-encryption-sdk-javascript
Examples for all new canonical examples
- Vorherrschende Sprache
- TypeScript
- Sterne
- 260
- Forks
- 68
- Ø Merge
- 22 Std. 19 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
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](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/onestep_defaults.py)
- [ ] [How to change the algorithm suite](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/onestep_unsigned.py)
- [ ] [How to encrypt and decrypt data streams in memory](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/in_memory_streaming_defaults.py)
- [ ] [How to encrypt and decrypt data streamed between files](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/file_streaming_defaults.py)
## Keyrings
### AWS KMS
- [ ] [How to use one AWS KMS CMK](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/aws_kms/single_cmk.py)
- [ ] [How to use multiple AWS KMS CMKs in different regions](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/aws_kms/multiple_regions.py)
- [ ] [How to decrypt when you don't know the CMK](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/aws_kms/discovery_decrypt.py)
- [ ] [How to decrypt within a region](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/aws_kms/discovery_decrypt_in_region_only.py)
- [ ] [How to decrypt with a preferred region but failover to others](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/aws_kms/discovery_decrypt_with_preferred_regions.py)
- [ ] [How to use AWS KMS clients with custom configuration](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/aws_kms/custom_kms_client_config.py) (details pending client supplier discussions)
- [ ] [How to use different AWS KMS client for different regions](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/aws_kms/custom_client_supplier.py) (details pending client supplier discussions)
### Raw keyrings
- [ ] [How to use a raw AES wrapping key](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/raw_aes/raw_aes.py)
- [ ] [How to use a raw RSA wrapping key](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/raw_rsa/keypair.py)
- [ ] [How to use a raw RSA wrapping key when the key is PEM or DER encoded](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/raw_rsa/keypair_from_pem.py)
- [ ] [How to encrypt with a raw RSA public key wrapping key without access to the private key](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/raw_rsa/public_private_key_separate.py)
### Multi-keyrings
- [ ] [How to combine AWS KMS with an offline escrow key](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/keyring/multi/aws_kms_with_escrow.py)
## Cryptographic Materials Managers
- [ ] [How to reuse data keys across multiple messages](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/crypto_materials_manager/caching/simple_cache.py)
- [ ] [How to restrict algorithm suites](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/crypto_materials_manager/custom/algorithm_suite_enforcement.py)
- [ ] [How to require encryption context fields](https://github.com/aws/aws-encryption-sdk-python/blob/master/examples/src/crypto_materials_manager/custom/requiring_encryption_context_fields.py)
[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
Beitragsleitfaden
Rechercherichtung
Beginne damit, die in der Checkliste verlinkten Python-Beispiele mit den entsprechenden Java-Beispielen zu vergleichen und die vorhandenen Beispiele im JavaScript-Repository zu prüfen. Arbeite die Abschnitte zu API, keyring und cryptographic materials manager durch und achte darauf, dass Formulierungen zu Voraussetzungen und einzelnen Schritten übereinstimmen. Erledigt bedeutet, dass jedes aufgeführte Beispiel implementiert ist und die Anforderungen der Checkliste erfüllt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- aws, typescript
- Bereich
- cryptography, documentation
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100