4 <script src=
"../../../resources/js-test.js"></script>
5 <script src=
"../resources/common.js"></script>
8 <p id=
"description"></p>
9 <div id=
"console"></div>
12 description("Test generating an AES key using AES-CBC algorithm.");
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
) {
24 return crypto
.subtle
.generateKey({name
: "aes-cbc", length
: undefined}, extractable
, ["encrypt", "decrypt"]);
25 }).then(failAndFinishJSTest
, function(result
) {
27 return crypto
.subtle
.generateKey({name
: "aes-cbc", length
: {}}, extractable
, ["encrypt", "decrypt"]);
28 }).then(failAndFinishJSTest
, function(result
) {
30 return crypto
.subtle
.generateKey({name
: "aes-cbc", length
: 128}, extractable
, ["encrypt", "decrypt"]);
31 }).then(function(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
);