Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(300)

Side by Side Diff: LayoutTests/crypto/subtle/hmac-import-jwk.html

Issue 957713004: [WebCrypto] Split LayoutTests/crypto/subtle into per-algorithm directories (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated to latest master Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 <script src="resources/common.js"></script>
6 </head>
7 <body>
8 <p id="description"></p>
9 <div id="console"></div>
10
11 <script>
12 description("Test importing a JWK key for HMAC.");
13
14 jsTestIsAsync = true;
15
16 var nonExtractable = false;
17 var extractable = true;
18
19 var hmacKey = {
20 "kty": "oct",
21 "alg": "HS256",
22 "use": "sig",
23 "ext": false,
24 "k": "ahjkn-_387fgnsibf23qsvahjkn-_387fgnsibf23qs"
25 };
26
27 debug("Importing a key...\n");
28 crypto.subtle.importKey("jwk", hmacKey, {name: "HMAC", hash: {name: "SHA-256"}}, nonExtractable, ["sign", "verify"]).then(function(result) {
29 key = result;
30
31 shouldBe("key.type", "'secret'");
32 shouldBe("key.extractable", "false");
33 shouldBe("key.algorithm.name", "'HMAC'");
34 shouldBe("key.algorithm.length", "256");
35 shouldBe("key.usages", '["sign", "verify"]');
36
37 debug("\nUsing the key to sign message 'foo'...");
38 return crypto.subtle.sign(key.algorithm, key, asciiToUint8Array('foo'));
39 }).then(function(result) {
40 signature = result;
41 shouldBe("bytesToHexString(new Uint8Array(signature))", "'e03736fe098892b2a2 da77812431f7c014d32e2fd69f3bcff883ac923a8fa2da'");
42
43 debug("\nVerifying the signature...");
44 return crypto.subtle.verify(key.algorithm, key, result, asciiToUint8Array('f oo'));
45 }).then(function(result) {
46 verificationResult = result;
47 shouldBe("verificationResult", "true");
48 }).then(finishJSTest, failAndFinishJSTest);
49 </script>
50
51 </body>
52 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698