diff options
Diffstat (limited to 'devtools/client/webconsole/test/test_hpkp-invalid-headers.sjs')
-rw-r--r-- | devtools/client/webconsole/test/test_hpkp-invalid-headers.sjs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/test_hpkp-invalid-headers.sjs b/devtools/client/webconsole/test/test_hpkp-invalid-headers.sjs new file mode 100644 index 000000000..cd0e18523 --- /dev/null +++ b/devtools/client/webconsole/test/test_hpkp-invalid-headers.sjs @@ -0,0 +1,53 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +function handleRequest(request, response) +{ + response.setHeader("Content-Type", "text/plain; charset=utf-8", false); + + let issue; + switch (request.queryString) { + case "badSyntax": + response.setHeader("Public-Key-Pins", "\""); + issue = "is not syntactically correct."; + break; + case "noMaxAge": + response.setHeader("Public-Key-Pins", "max-age444"); + issue = "does not include a max-age directive."; + break; + case "invalidIncludeSubDomains": + response.setHeader("Public-Key-Pins", "includeSubDomains=abc"); + issue = "includes an invalid includeSubDomains directive."; + break; + case "invalidMaxAge": + response.setHeader("Public-Key-Pins", "max-age=abc"); + issue = "includes an invalid max-age directive."; + break; + case "multipleIncludeSubDomains": + response.setHeader("Public-Key-Pins", + "includeSubDomains; includeSubDomains"); + issue = "includes multiple includeSubDomains directives."; + break; + case "multipleMaxAge": + response.setHeader("Public-Key-Pins", + "max-age=444; max-age=999"); + issue = "includes multiple max-age directives."; + break; + case "multipleReportURIs": + response.setHeader("Public-Key-Pins", + 'report-uri="http://example.com"; ' + + 'report-uri="http://example.com"'); + issue = "includes multiple report-uri directives."; + break; + case "pinsetDoesNotMatch": + response.setHeader( + "Public-Key-Pins", + 'max-age=999; ' + + 'pin-sha256="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; ' + + 'pin-sha256="BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="'); + issue = "does not include a matching pin."; + break; + } + + response.write("This page is served with a PKP header that " + issue); +} |