diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2021-08-04 00:54:02 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-03 21:24:02 +0200 |
commit | 86f89f922296c3c9e082268d01044f2e04a2e210 (patch) | |
tree | df754928b43318c22341d4f95b7aac21a62a7dc1 /extensions/crypto/01_webidl.js | |
parent | d7d452efc158d7b1ea89b6f92237cea3b29f88db (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.js | 24 |
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, |