summaryrefslogtreecommitdiff
path: root/ext/crypto/01_webidl.js
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2022-01-05 20:42:30 +0530
committerGitHub <noreply@github.com>2022-01-05 20:42:30 +0530
commitc74eb7a889322e88173cb044a670602d124fcc67 (patch)
treeb5502919639a3f1b6285e8c44dcb4e0465d530f1 /ext/crypto/01_webidl.js
parent9778545048a9908f62c24b93ae3ec0762e3db2d9 (diff)
feat(ext/crypto): implement AES-GCM encryption (#13119)
Diffstat (limited to 'ext/crypto/01_webidl.js')
-rw-r--r--ext/crypto/01_webidl.js31
1 files changed, 26 insertions, 5 deletions
diff --git a/ext/crypto/01_webidl.js b/ext/crypto/01_webidl.js
index 04315204f..52f212461 100644
--- a/ext/crypto/01_webidl.js
+++ b/ext/crypto/01_webidl.js
@@ -398,11 +398,23 @@
},
];
- webidl.converters.AesDerivedKeyParams = webidl
- .createDictionaryConverter("AesDerivedKeyParams", dictAesDerivedKeyParams);
-
- webidl.converters.AesCbcParams = webidl
- .createDictionaryConverter("AesCbcParams", dictAesCbcParams);
+ const dictAesGcmParams = [
+ ...dictAlgorithm,
+ {
+ key: "iv",
+ converter: webidl.converters["BufferSource"],
+ required: true,
+ },
+ {
+ key: "tagLength",
+ converter: (V, opts) =>
+ webidl.converters["unsigned long"](V, { ...opts, enforceRange: true }),
+ },
+ {
+ key: "additionalData",
+ converter: webidl.converters["BufferSource"],
+ },
+ ];
const dictAesCtrParams = [
...dictAlgorithm,
@@ -419,6 +431,15 @@
},
];
+ webidl.converters.AesDerivedKeyParams = webidl
+ .createDictionaryConverter("AesDerivedKeyParams", dictAesDerivedKeyParams);
+
+ webidl.converters.AesCbcParams = webidl
+ .createDictionaryConverter("AesCbcParams", dictAesCbcParams);
+
+ webidl.converters.AesGcmParams = webidl
+ .createDictionaryConverter("AesGcmParams", dictAesGcmParams);
+
webidl.converters.AesCtrParams = webidl
.createDictionaryConverter("AesCtrParams", dictAesCtrParams);