@aws-crypto/example-node
v4.0.1AWS Encryption SDK for Javascript Node.js examples
The AWS Encryption SDK for JavaScript is a client-side encryption library designed to make it easy for everyone to encrypt and decrypt data using industry standards and best practices. It uses a data format compatible with the AWS Encryption SDKs in other languages. For more information on the AWS Encryption SDKs in all languages, see the Developer Guide.
The CMKs in these examples are only for example. Replace these CMKs with your own.
About example-node
This repository includes examples for encrypting and decrypting in Node.js. These are not for production use.
KMS Simple
This is a simple example of using a KMS keyring to encrypt and decrypt using the AWS Encryption SDK for Javascript in Node.js. For more information, see kms_simple.ts.
KMS Stream
This is an example of using a KMS keyring to encrypt and decrypt a file stream. For a more detailed explanation, see kms_stream.ts.
KMS Regional Discovery
This is an example of using a KMS Regional Discovery Keyring that limits the AWS Encryption SDK to CMKs in a particular AWS Region(s). This is different from a KMS Discovery Keyring that doesn't specify any CMKs and will therefore use CMKs from any region available. For a more detailed explanation, see kms_regional_discovery.ts.
RSA Simple
This is an example of using a RSA key pair to encrypt and decrypt a simple string. This has some advantages for certain use cases, but we recommend that you use a keyring that protects your wrapping keys and performs cryptographic operations within a secure boundary. The KMS keyring uses AWS Key Management Service (AWS KMS) customer master keys (CMKs) that never leave AWS KMS unencrypted. For a more detailed explanation, see rsa_simple.ts.
AES Simple
This is an example of using a shared secret to encrypt and decrypt a simple string. This has some advantages for certain use cases, but we recommend that you use a keyring that protects your wrapping keys and performs cryptographic operations within a secure boundary. The KMS keyring uses AWS Key Management Service (AWS KMS) customer master keys (CMKs) that never leave AWS KMS unencrypted. For a more detailed explanation, see aes_simple.ts.
Multi Keyring
This is a simple example of combining an KMS keyring and a raw AES keyring to encrypt and decrypt using the AWS Encryption SDK for Javascript in Node.js This has some advantages for certain use cases, but we recommend that you use a keyring that protects your wrapping keys and performs cryptographic operations within a secure boundary. The KMS keyring uses AWS Key Management Service (AWS KMS) customer master keys (CMKs) that never leave AWS KMS unencrypted. For a more detailed explanation, see multi_keyring.ts.
How to Use
To see these examples in action, run npm test
.
Note: Remember to first run npm build
in the root of the project.
License
This SDK is distributed under the Apache License, Version 2.0, see LICENSE.txt and NOTICE.txt for more information.
Metadata
- Apache-2.0
- Whatever
- AWS Crypto Tools Team
- released 7/30/2024