1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
- "use strict";
- // Test that NetworkHelper.parseSecurityInfo correctly detects static hpkp pins
- const { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
- Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
- const Services = require("Services");
- Object.defineProperty(this, "NetworkHelper", {
- get: function () {
- return require("devtools/shared/webconsole/network-helper");
- },
- configurable: true,
- writeable: false,
- enumerable: true
- });
- var Ci = Components.interfaces;
- const wpl = Ci.nsIWebProgressListener;
- const MockSecurityInfo = {
- QueryInterface: XPCOMUtils.generateQI([Ci.nsITransportSecurityInfo,
- Ci.nsISSLStatusProvider]),
- securityState: wpl.STATE_IS_SECURE,
- errorCode: 0,
- SSLStatus: {
- cipherSuite: "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
- protocolVersion: 3, // TLS_VERSION_1_2
- serverCert: {
- validity: {}
- },
- }
- };
- const MockHttpInfo = {
- hostname: "include-subdomains.pinning.example.com",
- private: false,
- };
- function run_test() {
- Services.prefs.setIntPref("security.cert_pinning.enforcement_level", 1);
- let result = NetworkHelper.parseSecurityInfo(MockSecurityInfo, MockHttpInfo);
- equal(result.hpkp, true, "Static HPKP detected.");
- }
|