summaryrefslogtreecommitdiff
path: root/cli/tests/unit/webcrypto_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/webcrypto_test.ts')
-rw-r--r--cli/tests/unit/webcrypto_test.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/cli/tests/unit/webcrypto_test.ts b/cli/tests/unit/webcrypto_test.ts
index 988cd61f6..23a4e0c57 100644
--- a/cli/tests/unit/webcrypto_test.ts
+++ b/cli/tests/unit/webcrypto_test.ts
@@ -159,3 +159,34 @@ unitTest(async function testSignRSASSAKey() {
assert(signature);
});
+
+unitTest(async function subtleCryptoHmacImport() {
+ // deno-fmt-ignore
+ const rawKey = new Uint8Array([
+ 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16
+ ]);
+ const key = await crypto.subtle.importKey(
+ "raw",
+ rawKey,
+ { name: "HMAC", hash: "SHA-256" },
+ true,
+ ["sign"],
+ );
+ const actual = await crypto.subtle.sign(
+ { name: "HMAC" },
+ key,
+ new Uint8Array([1, 2, 3, 4]),
+ );
+ // deno-fmt-ignore
+ const expected = new Uint8Array([
+ 59, 170, 255, 216, 51, 141, 51, 194,
+ 213, 48, 41, 191, 184, 40, 216, 47,
+ 130, 165, 203, 26, 163, 43, 38, 71,
+ 23, 122, 222, 1, 146, 46, 182, 87,
+ ]);
+ assertEquals(
+ new Uint8Array(actual),
+ expected,
+ );
+});