| 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 </head> |  | 
|   7 <body> |  | 
|   8 <p id="description"></p> |  | 
|   9 <div id="console"></div> |  | 
|  10  |  | 
|  11 <script> |  | 
|  12 description("Tests that an unextractable key cannot be wrapped."); |  | 
|  13  |  | 
|  14 jsTestIsAsync = true; |  | 
|  15  |  | 
|  16 function importWrappingKey() |  | 
|  17 { |  | 
|  18     var data = new Uint8Array(16); |  | 
|  19     var extractable = true; |  | 
|  20     var keyUsages = ['wrapKey']; |  | 
|  21  |  | 
|  22     return crypto.subtle.importKey('raw', data, {name: 'AES-CBC'}, extractable, 
    keyUsages); |  | 
|  23 } |  | 
|  24  |  | 
|  25 function importUnextractableKeyToWrap() |  | 
|  26 { |  | 
|  27     var data = new Uint8Array(16); |  | 
|  28     var extractable = false; |  | 
|  29     var keyUsages = ['sign']; |  | 
|  30  |  | 
|  31     return crypto.subtle.importKey('raw', data, {name: 'HMAC', hash: {name: 'SHA
    -1'}}, extractable, keyUsages); |  | 
|  32 } |  | 
|  33  |  | 
|  34 importWrappingKey().then(function(result) { |  | 
|  35     wrappingKey = result; |  | 
|  36     return importUnextractableKeyToWrap(); |  | 
|  37 }).then(function(result) { |  | 
|  38     key = result; |  | 
|  39  |  | 
|  40     shouldEvaluateAs("key.extractable", false); |  | 
|  41  |  | 
|  42     wrapAlgorithm = {name: 'aes-cbc', iv: new Uint8Array(16)}; |  | 
|  43     return crypto.subtle.wrapKey('raw', key, wrappingKey, wrapAlgorithm); |  | 
|  44 }).then(failAndFinishJSTest, function(result) { |  | 
|  45     logError(result); |  | 
|  46 }).then(finishJSTest, failAndFinishJSTest); |  | 
|  47  |  | 
|  48 </script> |  | 
|  49  |  | 
|  50 </body> |  | 
|  51 </html> |  | 
| OLD | NEW |