diff options
Diffstat (limited to 'cli/tests/unit/webcrypto_test.ts')
-rw-r--r-- | cli/tests/unit/webcrypto_test.ts | 31 |
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, + ); +}); |