diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2022-01-05 20:42:30 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-05 20:42:30 +0530 |
commit | c74eb7a889322e88173cb044a670602d124fcc67 (patch) | |
tree | b5502919639a3f1b6285e8c44dcb4e0465d530f1 /ext/crypto/01_webidl.js | |
parent | 9778545048a9908f62c24b93ae3ec0762e3db2d9 (diff) |
feat(ext/crypto): implement AES-GCM encryption (#13119)
Diffstat (limited to 'ext/crypto/01_webidl.js')
-rw-r--r-- | ext/crypto/01_webidl.js | 31 |
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); |