ice-client

0.7.1 • Public • Published

𝖨𝖢𝖤. 𝖨𝗇𝗍𝗋𝗎𝗂𝗌𝗂𝗈𝗇 𝖢𝗈𝗎𝗇𝗍𝖾𝗋𝗆𝖾𝖺𝗌𝗎𝗋𝖾𝗌 𝖤𝗅𝖾𝖼𝗍𝗋𝗈𝗇𝗂𝖼𝗌

Encrypt your secrets and sensitive data at rest.

QuickStart

  1. Create a Node.JS project with the ICE client

    $ git init ice-client-demo && cd ice-client-demo
    $ npm init -y
    $ npm install ice-client dotenv --save
    require('dotenv').config();
    var ice = require('ice-client');
     
    ice.encrypt("neuromancer", function(err, ciphertext) {
        console.log("ciphertext:", ciphertext.toString('base64'));
     
        ice.decrypt(ciphertext, function(err, plaintext) {
            console.log("plaintext:", plaintext.toString());
        });
    })
  2. Get an ICE access key. The fastest way is through the Heroku ICE Addon.

    $ heroku create ice-client-demo
    Creating ⬢ ice-client-demo... done
     
    $ heroku addons:add ice
    Creating ice on ⬢ ice-client-demo... free
    Created ice-corrugated-21355 as ICE_AWS_ACCESS_KEY_ID, ICE_AWS_SECRET_ACCESS_KEY, ICE_ENCRYPTION_CONTEXT, ICE_KEY_ARN
     
    $ heroku config -s
    ICE_AWS_ACCESS_KEY_ID=AKIAJ2CNXCVNUZ5UDZAQ
    ICE_AWS_SECRET_ACCESS_KEY='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'
    ICE_ENCRYPTION_CONTEXT='ctx=night-construct-1443'
    ICE_KEY_ARN='arn:aws:kms:us-east-1:178540880712:key/b6b5f625-6603-471a-a6dd-962fa51d4c0a'
     
    $ heroku config -s > .env
  3. Use the ICE client and backing cryptography service to encrypt and decrypt data.

    $ node index.js 
    ciphertext: AQECAHhUH3SgfMwR3l/3GhIC4MjA43IDifWWdSXIVR0nbqnHkwAAAGkwZwYJKoZIhvcNAQcGoFowWAIBADBTBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDJPX7Xptjiilx9m2AQIBEIAmUMLbAMoVZdoCTNLZMDDiwdt5A5rNx/TrQCvdj6/wTlBP39xBZH0=
    plaintext:  neuromancer

Authors

  • Noah Zoschke

License

Apache 2.0

Package Sidebar

Install

npm i ice-client

Weekly Downloads

2

Version

0.7.1

License

Apache-2.0

Last publish

Collaborators

  • nzoschke