I am using the following, but can't seem to get it working in Node 9. Any help would be appreciated.
let generateDataKey = () => {
return new Promise((resolve, reject) => {
crypto.randomBytes(32, (err, buf) => {
if (err) throw err;
resolve(buf);
});
});
};
let generateNonce = () => {
return new Promise((resolve, reject) => {
crypto.randomBytes(16, (err, buf) => {
if(err) throw err;
resolve(buf);
});
});
};
async function encryptText(plainText) {
// get new datakey
const dataKey = await generateDataKey();
//get nonce
const nonce = await generateNonce();
// get encryptor
let encryptor = await miscreant.SIV.importKey(dataKey, "AES-SIV", new miscreant.PolyfillCryptoProvider());
let stringBuffer = Buffer.from(plainText, 'utf8');
let cipherText = await encryptor.seal(stringBuffer, dataKey, nonce);
let decrypted = await encryptor.open(cipherText, nonce)
}
I am using the following, but can't seem to get it working in Node 9. Any help would be appreciated.