Я пытаюсь использовать AWS KMS для шифрования и дешифрования простой строки,
Для этого я использую AWS Javascript SDK,
Я могу зашифровать и несколько расшифровать строку, так как ошибок нет,
Но вывод метода расшифровки KMS не приводит к моей исходной строке, которую я пытался зашифровать.
Вот мой рабочий код -
var AWS = require('aws-sdk');
const util = require('util');
AWS.config.update({region:'us-east-1'});
var kms = new AWS.KMS({apiVersion: '2014-11-01'});
let test = async () => {
try {
let data = `test`;
var encryptionParams = {
KeyId: "someKMSKeyId",
Plaintext: data
};
let kmsEncrypt = util.promisify(kms.encrypt).bind(kms);
let encryptedData = await kmsEncrypt(encryptionParams);
//encryptedData contained 2 parts, CiphertextBlob and KeyId
console.log('encryptedData => \n', encryptedData);
console.log('\nencryptedData.CiphertextBlob => \n', encryptedData.CiphertextBlob);
console.log('\nencryptedData.KeyId => \n', encryptedData.KeyId);
var decryptionParams = {
CiphertextBlob : encryptedData.CiphertextBlob
};
let kmsDecrypt = util.promisify(kms.decrypt).bind(kms);
let decryptedData = await kmsDecrypt(decryptionParams);
//ndecryptedData contained 2 parts, Plaintext and KeyId
console.log('\ndecryptedData => \n', decryptedData);
console.log('\ndecryptedData.Plaintext => \n', decryptedData.Plaintext);
console.log('\ndecryptedData.KeyId => \n', decryptedData.KeyId);
} catch (error) {
console.log('\nerror => \n',error);
}
}
test();
Я ожидаю, что результат decryptedData.Plaintext
будет test ,
Но вывод что-то вроде - <Buffer 74 65 73 74>
,
Что я тут не так делаю?
Ссылка -
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/KMS.html#endpoint-property