| 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 |