| OLD | NEW |
| 1 function importTestKeys() | 1 function importTestKeys() |
| 2 { | 2 { |
| 3 var keyFormat = "spki"; | 3 var keyFormat = "raw"; |
| 4 var data = new Uint8Array([]); | 4 var data = asciiToArrayBuffer("16 bytes of key!"); |
| 5 var extractable = true; | 5 var extractable = true; |
| 6 var keyUsages = ['encrypt', 'decrypt', 'sign', 'verify']; | 6 var keyUsages = ['encrypt', 'decrypt', 'sign', 'verify']; |
| 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 rsaSsaPromise = crypto.subtle.importKey(keyFormat, data, {name: 'RSASSA-
PKCS1-v1_5', hash: {name: 'sha-1'}}, extractable, keyUsages); | |
| 10 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); |
| 11 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']); |
| 12 | 11 |
| 13 return Promise.all([hmacPromise, rsaSsaPromise, aesCbcPromise, aesCbcJustDec
rypt]).then(function(results) { | 12 return Promise.all([hmacPromise, aesCbcPromise, aesCbcJustDecrypt]).then(fun
ction(results) { |
| 14 return { | 13 return { |
| 15 hmacSha1: results[0], | 14 hmacSha1: results[0], |
| 16 rsaSsaSha1: results[1], | 15 aesCbc: results[1], |
| 17 aesCbc: results[2], | 16 aesCbcJustDecrypt: results[2], |
| 18 aesCbcJustDecrypt: results[3], | |
| 19 }; | 17 }; |
| 20 }); | 18 }); |
| 21 } | 19 } |
| 22 | 20 |
| 23 // Builds a hex string representation of any array-like input (array or | 21 // Builds a hex string representation of any array-like input (array or |
| 24 // ArrayBufferView). The output looks like this: | 22 // ArrayBufferView). The output looks like this: |
| 25 // [ab 03 4c 99] | 23 // [ab 03 4c 99] |
| 26 function byteArrayToHexString(bytes) | 24 function byteArrayToHexString(bytes) |
| 27 { | 25 { |
| 28 var hexBytes = []; | 26 var hexBytes = []; |
| 29 | 27 |
| 30 for (var i = 0; i < bytes.length; ++i) { | 28 for (var i = 0; i < bytes.length; ++i) { |
| 31 var byteString = bytes[i].toString(16); | 29 var byteString = bytes[i].toString(16); |
| 32 if (byteString.length < 2) | 30 if (byteString.length < 2) |
| 33 byteString = "0" + byteString; | 31 byteString = "0" + byteString; |
| 34 hexBytes.push(byteString); | 32 hexBytes.push(byteString); |
| 35 } | 33 } |
| 36 | 34 |
| 37 return "[" + hexBytes.join(" ") + "]"; | 35 return "[" + hexBytes.join(" ") + "]"; |
| 38 } | 36 } |
| 39 | 37 |
| 38 function arrayBufferToHexString(buffer) |
| 39 { |
| 40 return byteArrayToHexString(new Uint8Array(buffer)); |
| 41 } |
| 42 |
| 40 function asciiToArrayBuffer(str) | 43 function asciiToArrayBuffer(str) |
| 41 { | 44 { |
| 42 var chars = []; | 45 var chars = []; |
| 43 for (var i = 0; i < str.length; ++i) | 46 for (var i = 0; i < str.length; ++i) |
| 44 chars.push(str.charCodeAt(i)); | 47 chars.push(str.charCodeAt(i)); |
| 45 return new Uint8Array(chars); | 48 return new Uint8Array(chars); |
| 46 } | 49 } |
| 47 | 50 |
| 48 function failAndFinishJSTest(error) | 51 function failAndFinishJSTest(error) |
| 49 { | 52 { |
| 50 if (error) | 53 if (error) |
| 51 debug(error); | 54 debug(error); |
| 52 finishJSTest(); | 55 finishJSTest(); |
| 53 } | 56 } |
| OLD | NEW |