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>