小编NPC*_*PCR的帖子

解密aws kms密钥时Nodejs异步问题

我在node6中有一个lambda函数,它有5个env变量,全部用aws kms加密.我有以下方法,它采用加密密钥并返回解密密钥.

function decryptKMS(encryptedKey) {
console.log('inside decryptkms');
 const kms = new AWS.KMS();
    kms.decrypt({ CiphertextBlob: new Buffer(encryptedKey, 'base64') }, (err, data) => {
        if (err) {
            console.log('Decrypt error:', err);
            return callback(err);
        }
        var result = data.Plaintext.toString('ascii');
        return result;
});
}
Run Code Online (Sandbox Code Playgroud)

在我的处理程序中,我这样做是为了获取我的解密密钥.

decryptedkey1 = decryptKMS(encryptedkey1);
decryptedkey2 = decryptKMS(encryptedkey2);
decryptedkey3 = decryptKMS(encryptedkey3);
decryptedkey4 = decryptKMS(encryptedkey4);
decryptedkey5 = decryptKMS(encryptedkey5);
Run Code Online (Sandbox Code Playgroud)

但是,由于节点是异步的,因此在解密密钥之前,该功能会移至下一步.无论如何我可以使用节点承诺来组合所有密钥,或者有没有办法从kms一次解密多个密钥?

asynchronous node.js aws-lambda aws-kms

1
推荐指数
1
解决办法
1637
查看次数

标签 统计

asynchronous ×1

aws-kms ×1

aws-lambda ×1

node.js ×1