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 RSASSA-PKCS1-v1_5 parameters.");
16 keyUsages
= ['sign', 'verify'];
18 Promise
.resolve(null).then(function() {
19 debug("\ngenerateKey() with a modulusLength -30...");
20 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}, modulusLength
: -30}, extractable
, keyUsages
);
21 }).then(failAndFinishJSTest
, function(result
) {
24 debug("\ngenerateKey() with modulusLength NaN...");
25 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}, modulusLength
: NaN
}, extractable
, keyUsages
);
26 }).then(failAndFinishJSTest
, function(result
) {
29 debug("\ngenerateKey() without modulusLength...");
30 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}}, extractable
, keyUsages
);
31 }).then(failAndFinishJSTest
, function(result
) {
34 debug("\ngenerateKey() without publicExponent...");
35 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}, modulusLength
: 10}, extractable
, keyUsages
);
36 }).then(failAndFinishJSTest
, function(result
) {
39 debug("\ngenerateKey() with publicExponent that is an integer...");
40 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}, modulusLength
: 10, publicExponent
: 10}, extractable
, keyUsages
);
41 }).then(failAndFinishJSTest
, function(result
) {
44 debug("\ngenerateKey() with publicExponent that is null...");
45 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}, modulusLength
: 10, publicExponent
: null}, extractable
, keyUsages
);
46 }).then(failAndFinishJSTest
, function(result
) {
49 debug("\ngenerateKey() with modulusLength that is 10...");
50 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}, modulusLength
: 10, publicExponent
: new Uint8Array(0)}, extractable
, keyUsages
);
51 }).then(failAndFinishJSTest
, function(result
) {
54 debug("\ngenerateKey() with publicExponent that is 0 bytes long...");
55 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'sha-1'}, modulusLength
: 1024, publicExponent
: new Uint8Array(0)}, extractable
, keyUsages
);
56 }).then(failAndFinishJSTest
, function(result
) {
59 debug("\ngenerateKey() with invalid hash name...");
60 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', hash
: {name
: 'NOT-A-HASH'}, modulusLength
: 10, publicExponent
: new Uint8Array(3)}, extractable
, keyUsages
);
61 }).then(failAndFinishJSTest
, function(result
) {
64 debug("\ngenerateKey() without hash name...");
65 return crypto
.subtle
.generateKey({name
: 'RSASSA-PKCS1-v1_5', modulusLength
: 10, publicExponent
: new Uint8Array(3)}, extractable
, keyUsages
);
66 }).then(failAndFinishJSTest
, function(result
) {
68 }).then(finishJSTest
, failAndFinishJSTest
);