diff options
Diffstat (limited to 'ext/crypto')
-rw-r--r-- | ext/crypto/00_crypto.js | 5 | ||||
-rw-r--r-- | ext/crypto/lib.deno_crypto.d.ts | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/ext/crypto/00_crypto.js b/ext/crypto/00_crypto.js index 5fdbe6ebc..115271dab 100644 --- a/ext/crypto/00_crypto.js +++ b/ext/crypto/00_crypto.js @@ -577,16 +577,17 @@ const handle = key[_handle]; // 2. - const bits = WeakMapPrototypeGet(KEY_STORE, handle); + const innerKey = WeakMapPrototypeGet(KEY_STORE, handle); switch (key[_algorithm].name) { case "HMAC": { - if (bits == null) { + if (innerKey == null) { throw new DOMException("Key is not available", "OperationError"); } switch (format) { // 3. case "raw": { + const bits = innerKey.data; for (let _i = 7 & (8 - bits.length % 8); _i > 0; _i--) { bits.push(0); } diff --git a/ext/crypto/lib.deno_crypto.d.ts b/ext/crypto/lib.deno_crypto.d.ts index b89b62f2e..09273e78a 100644 --- a/ext/crypto/lib.deno_crypto.d.ts +++ b/ext/crypto/lib.deno_crypto.d.ts @@ -107,6 +107,7 @@ interface SubtleCrypto { extractable: boolean, keyUsages: KeyUsage[], ): Promise<CryptoKey>; + exportKey(format: "raw", key: CryptoKey): Promise<ArrayBuffer>; sign( algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, |