1
我有一個node6中的lambda函數,其中有5個env變量全部用aws kms加密。我有以下方法採用加密密鑰並返回解密密鑰。解密aws kms密鑰時Nodejs異步問題
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;
});
}
而在我的處理程序中,我這樣做是爲了得到我的解密密鑰。
decryptedkey1 = decryptKMS(encryptedkey1);
decryptedkey2 = decryptKMS(encryptedkey2);
decryptedkey3 = decryptKMS(encryptedkey3);
decryptedkey4 = decryptKMS(encryptedkey4);
decryptedkey5 = decryptKMS(encryptedkey5);
但是,由於節點是異步的,函數在解密密鑰之前移動到下一步。無論如何,我可以使用所有組合鍵的節點承諾,還是有任何方法可以從kms一次解密多個鍵?
它的工作就像一個魅力結合起來!謝謝! – NPCRNPCR