Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / crypto / subtle / aes-cbc / generate-key.html
blobb9912c2b5a2c9bd75d7c0057a9cae4285d34e344
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>
11 <script>
12 description("Test generating an AES key using AES-CBC algorithm.");
14 jsTestIsAsync = true;
16 var extractable = true;
18 debug("Generating a key...");
20 Promise.resolve(null).then(function(result) {
21 return crypto.subtle.generateKey({name: "aes-cbc"}, extractable, ["encrypt", "decrypt"]);
22 }).then(failAndFinishJSTest, function(result) {
23 logError(result);
24 return crypto.subtle.generateKey({name: "aes-cbc", length: undefined}, extractable, ["encrypt", "decrypt"]);
25 }).then(failAndFinishJSTest, function(result) {
26 logError(result);
27 return crypto.subtle.generateKey({name: "aes-cbc", length: {}}, extractable, ["encrypt", "decrypt"]);
28 }).then(failAndFinishJSTest, function(result) {
29 logError(result);
30 return crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["encrypt", "decrypt"]);
31 }).then(function(result) {
32 key = result;
34 shouldBe("key.type", "'secret'");
35 shouldBe("key.extractable", "true");
36 shouldBe("key.algorithm.name", "'AES-CBC'");
37 shouldBe("key.algorithm.length", "128");
38 shouldBe("key.usages", "['encrypt', 'decrypt']");
39 }).then(finishJSTest, failAndFinishJSTest);
40 </script>
42 </body>
43 </html>