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("Tests generateKey() with bad AES-CBC parameters.");
16 keyUsages = ['encrypt', 'decrypt'];
18 Promise.resolve(null).then(function() {
20 return crypto.subtle.generateKey({ name: 'aes-cbc', length: 1024 }, extractable, -1);
21 }).then(failAndFinishJSTest, function(result) {
25 return crypto.subtle.generateKey({ name: 'aes-cbc', length: 1024 }, extractable, null);
26 }).then(failAndFinishJSTest, function(result) {
29 // Bad key usage "boo".
30 return crypto.subtle.generateKey({ name: 'aes-cbc', length: 1024 }, extractable, ['boo']);
31 }).then(failAndFinishJSTest, function(result) {
34 return crypto.subtle.generateKey({ name: 'aes-cbc' }, extractable, keyUsages);
35 }).then(failAndFinishJSTest, function(result) {
38 return crypto.subtle.generateKey({ name: 'aes-cbc', length: 70000 }, extractable, keyUsages);
39 }).then(failAndFinishJSTest, function(result) {
42 return crypto.subtle.generateKey({ name: 'aes-cbc', length: -3 }, extractable, keyUsages);
43 }).then(failAndFinishJSTest, function(result) {
46 return crypto.subtle.generateKey({ name: 'aes-cbc', length: -Infinity }, extractable, keyUsages);
47 }).then(failAndFinishJSTest, function(result) {
49 }).then(finishJSTest, failAndFinishJSTest);