OLD | NEW |
| (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("Tests that a string can be passed in place of an AlgorithmIdentifie
r"); | |
13 | |
14 jsTestIsAsync = true; | |
15 | |
16 Promise.resolve(null).then(function() { | |
17 // Use a string algorithm identifier ("aes-cbc") as a parameter to importKey
(). | |
18 return crypto.subtle.importKey("raw", new Uint8Array(16), "aes-cbc", true, [
"encrypt"]); | |
19 }).then(function(result) { | |
20 // Verify that the key was imported correctly. | |
21 key = result; | |
22 shouldEvaluateAs("key.type", "secret"); | |
23 shouldEvaluateAs("key.algorithm.name", "AES-CBC"); | |
24 shouldEvaluateAs("key.algorithm.length", 128); | |
25 | |
26 // Use a string algorithm identifier ("sha-1") as a parameter to digest(). | |
27 return crypto.subtle.digest("sha-1", new Uint8Array(0)); | |
28 }).then(function(result) { | |
29 bytesShouldMatchHexString("sha-1 of empty string", "da39a3ee5e6b4b0d3255bfef
95601890afd80709", result); | |
30 | |
31 // Use a string algorithm identifier ("sha-256") for the hash property to hm
ac key import. | |
32 return crypto.subtle.importKey("raw", new Uint8Array(15), {name: "hmac", has
h: "sha-256"}, false, ["sign"]); | |
33 }).then(function(result) { | |
34 // Verify that the key was imported correctly. | |
35 key = result; | |
36 shouldEvaluateAs("key.type", "secret"); | |
37 shouldEvaluateAs("key.algorithm.name", "HMAC"); | |
38 shouldEvaluateAs("key.algorithm.hash.name", "SHA-256"); | |
39 shouldEvaluateAs("key.algorithm.length", 120); | |
40 }).then(finishJSTest, failAndFinishJSTest); | |
41 | |
42 </script> | |
43 | |
44 </body> | |
45 </html> | |
OLD | NEW |