summaryrefslogtreecommitdiff
path: root/extensions/crypto/01_webidl.js
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2021-08-04 00:54:02 +0530
committerGitHub <noreply@github.com>2021-08-03 21:24:02 +0200
commit86f89f922296c3c9e082268d01044f2e04a2e210 (patch)
treedf754928b43318c22341d4f95b7aac21a62a7dc1 /extensions/crypto/01_webidl.js
parentd7d452efc158d7b1ea89b6f92237cea3b29f88db (diff)
feat(extensions/crypto): implement importKey and exportKey for raw HMAC keys (#11367)
This commit introduces "SubtleCrypto.importKey()" and "SubtleCrypto.exportKey()" APIs.
Diffstat (limited to 'extensions/crypto/01_webidl.js')
-rw-r--r--extensions/crypto/01_webidl.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/extensions/crypto/01_webidl.js b/extensions/crypto/01_webidl.js
index d8a9f19cc..7e78170b4 100644
--- a/extensions/crypto/01_webidl.js
+++ b/extensions/crypto/01_webidl.js
@@ -24,6 +24,13 @@
"secret",
]);
+ webidl.converters.KeyFormat = webidl.createEnumConverter("KeyFormat", [
+ "raw",
+ "pkcs8",
+ "spki",
+ "jwk",
+ ]);
+
webidl.converters.KeyUsage = webidl.createEnumConverter("KeyUsage", [
"encrypt",
"decrypt",
@@ -143,6 +150,23 @@
webidl.converters["EcdsaParams"] = webidl
.createDictionaryConverter("EcdsaParams", dictEcdsaParams);
+ const dictHmacImportParams = [
+ ...dictAlgorithm,
+ {
+ key: "hash",
+ converter: webidl.converters.HashAlgorithmIdentifier,
+ required: true,
+ },
+ {
+ key: "length",
+ converter: (V, opts) =>
+ webidl.converters["unsigned long"](V, { ...opts, enforceRange: true }),
+ },
+ ];
+
+ webidl.converters.HmacImportParams = webidl
+ .createDictionaryConverter("HmacImportParams", dictHmacImportParams);
+
webidl.converters.CryptoKey = webidl.createInterfaceConverter(
"CryptoKey",
CryptoKey,