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 <script src="resources/keys.js"></script> | |
7 </head> | |
8 <body> | |
9 <p id="description"></p> | |
10 <div id="console"></div> | |
11 | |
12 <script> | |
13 description("Tests that importing keys with invalid usages should fail with Synt
axError."); | |
14 | |
15 jsTestIsAsync = true; | |
16 | |
17 function importPkcs8ForDecryption() | |
18 { | |
19 var keyData = hexStringToUint8Array(kKeyData.rsa1.pkcs8); | |
20 var usages = ['decrypt']; | |
21 var extractable = false; | |
22 var algorithm = {name: 'RSASSA-PKCS1-v1_5', hash: {name: 'sha-1'}}; | |
23 | |
24 return crypto.subtle.importKey('pkcs8', keyData, algorithm, extractable, usa
ges); | |
25 } | |
26 | |
27 function importSpkiForEncryption() | |
28 { | |
29 var keyData = hexStringToUint8Array(kKeyData.rsa1.spki); | |
30 var usages = ['encrypt']; | |
31 var extractable = false; | |
32 var algorithm = {name: 'RSASSA-PKCS1-v1_5', hash: {name: 'sha-1'}}; | |
33 | |
34 return crypto.subtle.importKey('spki', keyData, algorithm, extractable, usag
es); | |
35 } | |
36 | |
37 function importJwkPublicKeyForSigning() | |
38 { | |
39 var keyData = kKeyData.jwkRSAPublicKeyJSON; | |
40 var usages = ['sign']; | |
41 var extractable = false; | |
42 var algorithm = {name: 'RSASSA-PKCS1-v1_5', hash: {name: "sha-1"}}; | |
43 | |
44 return crypto.subtle.importKey('jwk', keyData, algorithm, extractable, usage
s); | |
45 } | |
46 | |
47 function importJwkPrivateKeyForEncryption() | |
48 { | |
49 var keyData = kKeyData.jwkRSAPrivateKeyJSON; | |
50 var usages = ['encrypt']; | |
51 var extractable = false; | |
52 var algorithm = {name: 'RSASSA-PKCS1-v1_5', hash: {name: "sha-1"}}; | |
53 | |
54 return crypto.subtle.importKey('jwk', keyData, algorithm, extractable, usage
s); | |
55 } | |
56 | |
57 importPkcs8ForDecryption().then(failAndFinishJSTest, function(result) { | |
58 logError(result); | |
59 | |
60 return importSpkiForEncryption(); | |
61 }).then(failAndFinishJSTest, function(result) { | |
62 logError(result); | |
63 | |
64 return importJwkPublicKeyForSigning(); | |
65 }).then(failAndFinishJSTest, function(result) { | |
66 logError(result); | |
67 | |
68 return importJwkPrivateKeyForEncryption(); | |
69 }).then(failAndFinishJSTest, function(result) { | |
70 logError(result); | |
71 }).then(finishJSTest, failAndFinishJSTest); | |
72 </script> | |
73 | |
74 </body> | |
75 </html> | |
OLD | NEW |