tor-browser

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

accept-signature.parser-inserted.html (4151B)


      1 <!doctype html>
      2 <html>
      3 <head>
      4  <script src="/resources/testharness.js"></script>
      5  <script src="/resources/testharnessreport.js"></script>
      6 </head>
      7 <body>
      8  <!--
      9    The following tests replicate the requests made in
     10    `accept-signature.window.js`, but do so via script blocks inline in the HTML
     11    document. Some user agents have different loading paths for parser-initiated
     12    scripts and scripts inserted via other scripts, and we should verify both.
     13  -->
     14 
     15  <!--
     16    {
     17      integrity: `ed25519-${kValidKeys['rfc']}`,
     18      header: `sig0=("unencoded-digest";sf);keyid="${kValidKeys['rfc']}";tag="ed25519-integrity"`,
     19    }
     20  -->
     21  <script integrity="ed25519-JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs="
     22          src="/subresource-integrity/signatures/accept-signature-script.py?header=sig0%3D%28%22unencoded-digest%22%3Bsf%29%3Bkeyid%3D%22JrQLj5P%2F89iXES9%2BvFgrIy29clF9CC%2FoPPsw3c5D0bs%3D%22%3Btag%3D%22ed25519-integrity%22&counter=1"
     23          id="test1"
     24  ></script>
     25  <script>
     26    test(_ => {
     27      let matched = document.querySelector(`#test1`).getAttribute('matched');
     28      assert_equals(matched, 'true');
     29    }, "Single, valid integrity assertion.");
     30  </script>
     31 
     32  <!--
     33    {
     34      integrity: `ed25519-${kValidKeys['rfc']} malformed-thing`,
     35      header: `sig0=("unencoded-digest";sf);keyid="${kValidKeys['rfc']}";tag="ed25519-integrity"`,
     36    }
     37  -->
     38  <script integrity="ed25519-JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs= malformed-thing"
     39          src="/subresource-integrity/signatures/accept-signature-script.py?header=sig0%3D%28%22unencoded-digest%22%3Bsf%29%3Bkeyid%3D%22JrQLj5P%2F89iXES9%2BvFgrIy29clF9CC%2FoPPsw3c5D0bs%3D%22%3Btag%3D%22ed25519-integrity%22&counter=2"
     40          id="test2"
     41  ></script>
     42  <script>
     43    test(_ => {
     44      let matched = document.querySelector(`#test2`).getAttribute('matched');
     45      assert_equals(matched, 'true');
     46    }, "One matching + malformed integrity assertion.");
     47  </script>
     48 
     49  <!--
     50    {
     51      integrity: `ed25519-${kValidKeys['arbitrary']} ed25519-${kValidKeys['rfc']}`,
     52      header: `sig0=("unencoded-digest";sf);keyid="${kValidKeys['arbitrary']}";tag="ed25519-integrity", ` +
     53              `sig1=("unencoded-digest";sf);keyid="${kValidKeys['rfc']}";tag="ed25519-integrity"`,
     54    }
     55  -->
     56  <script integrity="ed25519-xDnP380zcL4rJ76rXYjeHlfMyPZEOqpJYjsjEppbuXE= ed25519-JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs="
     57          src="/subresource-integrity/signatures/accept-signature-script.py?header=sig0%3D%28%22unencoded-digest%22%3Bsf%29%3Bkeyid%3D%22xDnP380zcL4rJ76rXYjeHlfMyPZEOqpJYjsjEppbuXE%3D%22%3Btag%3D%22ed25519-integrity%22%2C+sig1%3D%28%22unencoded-digest%22%3Bsf%29%3Bkeyid%3D%22JrQLj5P%2F89iXES9%2BvFgrIy29clF9CC%2FoPPsw3c5D0bs%3D%22%3Btag%3D%22ed25519-integrity%22&counter=3"
     58          id="test3"
     59  ></script>
     60  <script>
     61    test(_ => {
     62      let matched = document.querySelector(`#test3`).getAttribute('matched');
     63      assert_equals(matched, 'true');
     64    }, "One matching + one mismatching integrity assertion.");
     65  </script>
     66 
     67  <!--
     68    {
     69      integrity: `ed25519-${kValidKeys['arbitrary']} malformed-thing ed25519-${kValidKeys['rfc']}`,
     70      header: `sig0=("unencoded-digest";sf);keyid="${kValidKeys['arbitrary']}";tag="ed25519-integrity", ` +
     71              `sig1=("unencoded-digest";sf);keyid="${kValidKeys['rfc']}";tag="ed25519-integrity"`,
     72    }
     73  -->
     74  <script integrity="ed25519-xDnP380zcL4rJ76rXYjeHlfMyPZEOqpJYjsjEppbuXE= malformed-thing ed25519-JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs="
     75          src="/subresource-integrity/signatures/accept-signature-script.py?header=sig0%3D%28%22unencoded-digest%22%3Bsf%29%3Bkeyid%3D%22xDnP380zcL4rJ76rXYjeHlfMyPZEOqpJYjsjEppbuXE%3D%22%3Btag%3D%22ed25519-integrity%22%2C+sig1%3D%28%22unencoded-digest%22%3Bsf%29%3Bkeyid%3D%22JrQLj5P%2F89iXES9%2BvFgrIy29clF9CC%2FoPPsw3c5D0bs%3D%22%3Btag%3D%22ed25519-integrity%22&counter=4"
     76          id="test4"
     77  ></script>
     78  <script>
     79    test(_ => {
     80      let matched = document.querySelector(`#test4`).getAttribute('matched');
     81      assert_equals(matched, 'true');
     82    }, "One matching + one mismatching + malformed integrity assertion.");
     83  </script>
     84 </body>
     85 </html>