tor-browser

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

test_WebCrypto_DH.html (2419B)


      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 // DH is not permitted, so ensure all entry point methods error
     25 // -----------------------------------------------------------------------------
     26 TestArray.addTest(
     27  "Generate a DH key",
     28  function() {
     29    var that = this;
     30    var alg = {
     31      name: "DH",
     32      prime: tv.dh.prime,
     33      generator: new Uint8Array([0x02]),
     34    };
     35    crypto.subtle.generateKey(alg, false, ["deriveKey", "deriveBits"])
     36      .then(error(that), complete(that));
     37  }
     38 );
     39 
     40 // -----------------------------------------------------------------------------
     41 TestArray.addTest(
     42  "Raw import/export of a public DH key",
     43  function() {
     44    var that = this;
     45    var alg = {
     46      name: "DH",
     47      prime: tv.dh_nist.prime,
     48      generator: tv.dh_nist.gen,
     49    };
     50 
     51    crypto.subtle.importKey("raw", tv.dh_nist.raw, alg, true, ["deriveBits"])
     52      .then(error(that), complete(that));
     53  }
     54 );
     55 
     56 // -----------------------------------------------------------------------------
     57 TestArray.addTest(
     58  "SPKI import/export of a public DH key",
     59  function() {
     60    var that = this;
     61 
     62    crypto.subtle.importKey("spki", tv.dh_nist.spki, "DH", true, ["deriveBits"])
     63      .then(error(that), complete(that));
     64  }
     65 );
     66 /* ]]>*/</script>
     67 </head>
     68 
     69 <body>
     70 
     71 <div id="content">
     72 <div id="head">
     73 	<b>Web</b>Crypto<br>
     74 </div>
     75 
     76    <div id="start" onclick="start();">RUN ALL</div>
     77 
     78    <div id="resultDiv" class="content">
     79    Summary:
     80    <span class="pass"><span id="passN">0</span> passed, </span>
     81    <span class="fail"><span id="failN">0</span> failed, </span>
     82    <span class="pending"><span id="pendingN">0</span> pending.</span>
     83    <br/>
     84    <br/>
     85 
     86    <table id="results">
     87        <tr>
     88            <th>Test</th>
     89            <th>Result</th>
     90            <th>Time</th>
     91        </tr>
     92    </table>
     93 
     94    </div>
     95 
     96    <div id="foot"></div>
     97 </div>
     98 
     99 </body>
    100 </html>