1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00

fix(ext/crypto): optional additionalData in encrypt/decrypt (#13669)

This commit is contained in:
Divy Srivastava 2022-02-16 16:27:14 +05:30 committed by GitHub
parent 074f53234a
commit 77a9683425
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 6 deletions

View file

@ -1443,7 +1443,7 @@ Deno.test(async function testAesGcmEncrypt() {
const data = new Uint8Array([1, 2, 3]);
const cipherText = await crypto.subtle.encrypt(
{ name: "AES-GCM", iv, additionalData: new Uint8Array() },
{ name: "AES-GCM", iv },
key,
data,
);
@ -1457,7 +1457,7 @@ Deno.test(async function testAesGcmEncrypt() {
);
const plainText = await crypto.subtle.decrypt(
{ name: "AES-GCM", iv, additionalData: new Uint8Array() },
{ name: "AES-GCM", iv },
key,
cipherText,
);
@ -1655,14 +1655,14 @@ Deno.test(async function testAesGcmTagLength() {
// encrypt won't fail, it will simply truncate the tag
// as expected.
const encrypted = await crypto.subtle.encrypt(
{ name: "AES-GCM", iv, tagLength: 96, additionalData: new Uint8Array() },
{ name: "AES-GCM", iv, tagLength: 96 },
key,
new Uint8Array(32),
);
await assertRejects(async () => {
await crypto.subtle.decrypt(
{ name: "AES-GCM", iv, tagLength: 96, additionalData: new Uint8Array() },
{ name: "AES-GCM", iv, tagLength: 96 },
key,
encrypted,
);

View file

@ -691,7 +691,8 @@
algorithm: "AES-GCM",
length: key[_algorithm].length,
iv: normalizedAlgorithm.iv,
additionalData: normalizedAlgorithm.additionalData,
additionalData: normalizedAlgorithm.additionalData ||
null,
tagLength: normalizedAlgorithm.tagLength,
}, data);
@ -3825,7 +3826,7 @@
algorithm: "AES-GCM",
length: key[_algorithm].length,
iv: normalizedAlgorithm.iv,
additionalData: normalizedAlgorithm.additionalData,
additionalData: normalizedAlgorithm.additionalData || null,
tagLength: normalizedAlgorithm.tagLength,
}, data);