@aws-crypto/example-node
TypeScript icon, indicating that this package has built-in type declarations

4.0.0 • Public • Published

AWS 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.

Readme

Keywords

none

Package Sidebar

Install

npm i @aws-crypto/example-node

Weekly Downloads

2

Version

4.0.0

License

Apache-2.0

Unpacked Size

162 kB

Total Files

82

Last publish

Collaborators

  • amzn-oss
  • seebees
  • agray256
  • lavaleri
  • salkeldr
  • aws-crypto-tools-ci-bot
  • mattsb42-aws
  • farleyb-aws