simple-kms-cryptor
v1.0.1
Published
Simple KMS Cryptor
Downloads
5
Maintainers
Readme
Simple KMS Cryptor
Simple cryptor library for encrypting object using AWS KMS key
Usage Example
Prepare the config
The config is compatible directly with the AWS.KMS options as specified here:
Example of config:
let config = {
region: '<your aws region here>',
accessKeyId: '<your aws access key id here>',
secretAccessKey: '<your aws secret access key>',
kms: {
KeyId: '<kms key ARN or KeyId>',
}
}
Creating instance
const KMSCrypt = require('simple-kms-crypto');
let kmscrypt = new KMSCrypt(config);
Encrypting object
encrypt
method will return a promise
- Encrypting
plaintext
to a byte array
let plaintext = 'secret text';
kmscrypt.encrypt(plaintext)
.then(ciphertext => {
/*
ciphertext will be a Buffer with holding the encrypted data as byte array
*/
})
.catch(err => {
/*
encryption failed
*/
})
- Encrypting
plaintext
to a byte array
let plaintext = 'secret text';
kmscrypt.encrypt(plaintext)
.then(ciphertext => {
/*
ciphertext will be a Buffer with holding the encrypted data as byte array
*/
})
.catch(err => {
/*
encryption failed
*/
})
Decrypting object
decrypt
method will return a promise
- If
ciphertext
is a byte array
kmscrypt.decrypt(ciphertext)
.then(plaintext => {
/*
plaintext is decrypted object
*/
})
.catch(err => {
/*
decryption failed
*/
})
- If
ciphertext
is base64 encoded
kmscrypt.decrypt(ciphertext, 'base64')
.then(plaintext => {
/*
plaintext is decrypted object
*/
})
.catch(err => {
/*
decryption failed
*/
})
Methods
encrypt(plaintext, encryptionType) => Promise
plaintext
is the object to be encrypted. Supported format:string
,object
,number
encryptionType
: base64 | binary (default)
decrypt(ciphertext, cipherType) => Promise
ciphertext
is the encrypted data formatted as binary or base64cipherType
is the type ofciphertext
which can be base64 or binary