OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../resources/js-test.js"></script> | 4 <script src="../resources/js-test.js"></script> |
5 <script src="resources/common.js"></script> | 5 <script src="resources/common.js"></script> |
6 </head> | 6 </head> |
7 <body> | 7 <body> |
8 <p id="description"></p> | 8 <p id="description"></p> |
9 <div id="console"></div> | 9 <div id="console"></div> |
10 | 10 |
11 <script> | 11 <script> |
12 description("Tests structured cloning of AES keys"); | 12 description("Tests structured cloning of AES keys"); |
13 | 13 |
14 jsTestIsAsync = true; | 14 jsTestIsAsync = true; |
15 | 15 |
16 // Tests the 48 permutations of keys generated by: | 16 // Tests the 32 permutations of keys generated by: |
17 // kPossibleAlgorithms x kPossibleExtractable x kPossibleKeyUsages x kPossible
KeyData | 17 // kPossibleAlgorithms x kPossibleExtractable x kPossibleKeyUsages x kPossible
KeyData |
18 // | 18 // |
19 // For practical reasons these tests are not exhaustive. | 19 // For practical reasons these tests are not exhaustive. |
20 | 20 |
21 var k128BitData = "30112233445566778899aabbccddeeff" | 21 var k128BitData = "30112233445566778899aabbccddeeff" |
22 var k192BitData = "800102030405060708090a0b0c0d0e0f1011121314151617"; | |
23 var k256BitData = "00112233445546778899aabbccddeeff000102030405060708090a0b0c0d0
e0f"; | 22 var k256BitData = "00112233445546778899aabbccddeeff000102030405060708090a0b0c0d0
e0f"; |
24 | 23 |
25 var kPossibleAlgorithms = ['AES-CBC', 'AES-GCM']; | 24 var kPossibleAlgorithms = ['AES-CBC', 'AES-GCM']; |
26 var kPossibleExtractable = [true, false]; | 25 var kPossibleExtractable = [true, false]; |
27 var kPossibleKeyUsages = [[], ['encrypt'], ['decrypt', 'wrapKey'], ['encrypt', '
wrapKey', 'unwrapKey']]; | 26 var kPossibleKeyUsages = [[], ['encrypt'], ['decrypt', 'wrapKey'], ['encrypt', '
wrapKey', 'unwrapKey']]; |
28 var kPossibleKeyData = [k128BitData, k192BitData, k256BitData]; | 27 var kPossibleKeyData = [k128BitData, k256BitData]; |
29 | 28 |
30 function runTest(algorithmName, extractable, keyUsages, keyData) | 29 function runTest(algorithmName, extractable, keyUsages, keyData) |
31 { | 30 { |
32 var importData = hexStringToUint8Array(keyData); | 31 var importData = hexStringToUint8Array(keyData); |
33 var importAlgorithm = { name: algorithmName }; | 32 var importAlgorithm = { name: algorithmName }; |
34 | 33 |
35 var results = {}; | 34 var results = {}; |
36 | 35 |
37 return crypto.subtle.importKey('raw', importData, importAlgorithm, extractab
le, keyUsages).then(function(importedKey) { | 36 return crypto.subtle.importKey('raw', importData, importAlgorithm, extractab
le, keyUsages).then(function(importedKey) { |
38 results.importedKey = importedKey; | 37 results.importedKey = importedKey; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 }); | 82 }); |
84 }); | 83 }); |
85 }); | 84 }); |
86 | 85 |
87 lastPromise.then(finishJSTest, failAndFinishJSTest); | 86 lastPromise.then(finishJSTest, failAndFinishJSTest); |
88 | 87 |
89 </script> | 88 </script> |
90 | 89 |
91 </body> | 90 </body> |
92 </html> | 91 </html> |
OLD | NEW |