tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>