test_WebCrypto_Reject_Generating_Keys_Without_Usages.html (1973B)
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <title>WebCrypto Test Suite</title> 6 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 7 <link rel="stylesheet" href="./test_WebCrypto.css"/> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 10 <!-- Utilities for manipulating ABVs --> 11 <script src="util.js"></script> 12 13 <!-- A simple wrapper around IndexedDB --> 14 <script src="simpledb.js"></script> 15 16 <!-- Test vectors drawn from the literature --> 17 <script src="./test-vectors.js"></script> 18 19 <!-- General testing framework --> 20 <script src="./test-array.js"></script> 21 22 <script>/* <![CDATA[*/ 23 "use strict"; 24 25 // Generating 2048-bit keys takes some time. 26 SimpleTest.requestLongerTimeout(2); 27 28 TestArray.addTest( 29 "Test that we reject generating keys without any usage", 30 function() { 31 var that = this; 32 var alg = { 33 name: "RSA-OAEP", 34 hash: "SHA-256", 35 modulusLength: 2048, 36 publicExponent: new Uint8Array([0x01, 0x00, 0x01]), 37 }; 38 39 function generateKey(usages) { 40 return crypto.subtle.generateKey(alg, false, usages); 41 } 42 43 generateKey(["encrypt", "decrypt"]).then(function() { 44 return generateKey(["decrypt"]); 45 }).then(function() { 46 return Promise.any([generateKey(["encrypt"]), generateKey(["sign"])]); 47 }, error(that)).then(error(that), complete(that)); 48 } 49 ); 50 /* ]]>*/</script> 51 </head> 52 53 <body> 54 55 <div id="content"> 56 <div id="head"> 57 <b>Web</b>Crypto<br> 58 </div> 59 60 <div id="start" onclick="start();">RUN ALL</div> 61 62 <div id="resultDiv" class="content"> 63 Summary: 64 <span class="pass"><span id="passN">0</span> passed, </span> 65 <span class="fail"><span id="failN">0</span> failed, </span> 66 <span class="pending"><span id="pendingN">0</span> pending.</span> 67 <br/> 68 <br/> 69 70 <table id="results"> 71 <tr> 72 <th>Test</th> 73 <th>Result</th> 74 <th>Time</th> 75 </tr> 76 </table> 77 78 </div> 79 80 <div id="foot"></div> 81 </div> 82 83 </body> 84 </html>