OLD | NEW |
1 function importTestKeys() | 1 function importTestKeys() |
2 { | 2 { |
3 var keyFormat = "raw"; | 3 var keyFormat = "raw"; |
4 var data = asciiToUint8Array("16 bytes of key!"); | 4 var data = asciiToUint8Array("16 bytes of key!"); |
5 var extractable = true; | 5 var extractable = true; |
6 var keyUsages = ['wrapKey', 'unwrapKey', 'encrypt', 'decrypt', 'sign', 'veri
fy']; | 6 var keyUsages = ['wrapKey', 'unwrapKey', 'encrypt', 'decrypt', 'sign', 'veri
fy']; |
7 | 7 |
8 var hmacPromise = crypto.subtle.importKey(keyFormat, data, {name: 'hmac', ha
sh: {name: 'sha-1'}}, extractable, keyUsages); | 8 var hmacPromise = crypto.subtle.importKey(keyFormat, data, {name: 'hmac', ha
sh: {name: 'sha-1'}}, extractable, keyUsages); |
9 var aesCbcPromise = crypto.subtle.importKey(keyFormat, data, {name: 'AES-CBC
'}, extractable, keyUsages); | 9 var aesCbcPromise = crypto.subtle.importKey(keyFormat, data, {name: 'AES-CBC
'}, extractable, keyUsages); |
10 var aesCbcJustDecrypt = crypto.subtle.importKey(keyFormat, data, {name: 'AES
-CBC'}, false, ['decrypt']); | 10 var aesCbcJustDecrypt = crypto.subtle.importKey(keyFormat, data, {name: 'AES
-CBC'}, false, ['decrypt']); |
11 // FIXME: use AES-CTR key type once it's implemented | 11 // FIXME: use AES-CTR key type once it's implemented |
12 var aesCtrPromise = crypto.subtle.importKey(keyFormat, data, {name: 'AES-CBC
'}, extractable, keyUsages); | 12 var aesCtrPromise = crypto.subtle.importKey(keyFormat, data, {name: 'AES-CBC
'}, extractable, keyUsages); |
| 13 var aesGcmPromise = crypto.subtle.importKey(keyFormat, data, {name: 'AES-GCM
'}, extractable, keyUsages); |
13 | 14 |
14 return Promise.all([hmacPromise, aesCbcPromise, aesCbcJustDecrypt, aesCtrPro
mise]).then(function(results) { | 15 return Promise.all([hmacPromise, aesCbcPromise, aesCbcJustDecrypt, aesCtrPro
mise, aesGcmPromise]).then(function(results) { |
15 return { | 16 return { |
16 hmacSha1: results[0], | 17 hmacSha1: results[0], |
17 aesCbc: results[1], | 18 aesCbc: results[1], |
18 aesCbcJustDecrypt: results[2], | 19 aesCbcJustDecrypt: results[2], |
19 aesCtr: results[3], | 20 aesCtr: results[3], |
| 21 aesGcm: results[4], |
20 }; | 22 }; |
21 }); | 23 }); |
22 } | 24 } |
23 | 25 |
24 // Verifies that the given "bytes" holds the same value as "expectedHexString". | 26 // Verifies that the given "bytes" holds the same value as "expectedHexString". |
25 // "bytes" can be anything recognized by "bytesToHexString()". | 27 // "bytes" can be anything recognized by "bytesToHexString()". |
26 function bytesShouldMatchHexString(testDescription, expectedHexString, bytes) | 28 function bytesShouldMatchHexString(testDescription, expectedHexString, bytes) |
27 { | 29 { |
28 expectedHexString = "[" + expectedHexString.toLowerCase() + "]"; | 30 expectedHexString = "[" + expectedHexString.toLowerCase() + "]"; |
29 var actualHexString = "[" + bytesToHexString(bytes) + "]"; | 31 var actualHexString = "[" + bytesToHexString(bytes) + "]"; |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 debug("PASS: '" + code + "' accepted with " + result); | 141 debug("PASS: '" + code + "' accepted with " + result); |
140 } | 142 } |
141 | 143 |
142 function rejectCallback(result) | 144 function rejectCallback(result) |
143 { | 145 { |
144 debug("FAIL: '" + code + "' rejected with " + result); | 146 debug("FAIL: '" + code + "' rejected with " + result); |
145 } | 147 } |
146 | 148 |
147 addTask(promise.then(acceptCallback, rejectCallback)); | 149 addTask(promise.then(acceptCallback, rejectCallback)); |
148 } | 150 } |
OLD | NEW |