I am using @aws-sdk/client-kms
to encrypt the data. I was getting the base64 string as a response. Now I am getting Uint8Array
.
const encryptedBlob = await kms.encrypt({
KeyId: kmsKey,
Plaintext: Buffer.from(JSON.stringify('data to encrypt')),
});
The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. Mentioned in AWS docs
Is there any way to get base64 as response in nodeJs.
As mentioned in AWS SDK v3 docs Docs - Only HTTP API and CLI will get the base64 data. Other mediums will get
Uint8Array
as response.So, we need some extra data conversion to achieve encryption and decryption using SDK.