Add HSTS and HPKP controls to the preferences UI.

Tag #1053
This commit is contained in:
Pale Moon
2017-04-24 03:08:18 +02:00
committed by roytam1
parent 562d8d5044
commit 104f3de320
3 changed files with 58 additions and 1 deletions
+27 -1
View File
@@ -15,6 +15,7 @@ var gSecurityPane = {
{
this._pane = document.getElementById("paneSecurity");
this._initMasterPasswordUI();
this._initHPKPUI();
},
// ADD-ONS
@@ -219,6 +220,31 @@ var gSecurityPane = {
document.documentElement.openWindow("Toolkit:PasswordManager",
"chrome://passwordmgr/content/passwordManager.xul",
"", null);
}
},
_initHPKPUI: function() {
let checkbox = document.getElementById("enableHPKP");
let HPKPpref = document.getElementById("security.cert_pinning.enforcement_level");
if (HPKPpref.value == 0) {
checkbox.checked = false;
} else {
checkbox.checked = true;
}
},
/**
* Updates the HPKP enforcement level to the proper value depending on checkbox
* state.
*/
updateHPKPPref: function() {
let checkbox = document.getElementById("enableHPKP");
let HPKPpref = document.getElementById("security.cert_pinning.enforcement_level");
if (checkbox.checked) {
HPKPpref.value = 2;
} else {
HPKPpref.value = 0;
}
}
};
@@ -41,6 +41,15 @@
<!-- Passwords -->
<preference id="signon.rememberSignons" name="signon.rememberSignons" type="bool"/>
<!-- Security Protocols -->
<preference id="network.stricttransportsecurity.enabled"
name="network.stricttransportsecurity.enabled"
type="bool"/>
<preference id="security.cert_pinning.enforcement_level"
name="security.cert_pinning.enforcement_level"
type="int"/>
<!-- XSS Filter -->
<!--
@@ -103,6 +112,22 @@
</hbox>
</groupbox>
<!-- Security protocols -->
<groupbox id="SecProtoGroup">
<caption label="&SecProto.label;"/>
<vbox id="SecProtoBox" align="start" flex="1">
<checkbox id="enableHSTS"
label="&enableHSTS.label;"
accesskey="&enableHSTS.accesskey;"
preference="network.stricttransportsecurity.enabled" />
<checkbox id="enableHPKP"
label="&enableHPKP.label;"
accesskey="&enableHPKP.accesskey;"
oncommand="gSecurityPane.updateHPKPPref();"/>
</vbox>
</groupbox>
<!-- XSS Filter -->
<!--
<groupbox id="XSSFiltGroup">
@@ -37,6 +37,12 @@
<!ENTITY savedPasswords.label "Saved Passwords…">
<!ENTITY savedPasswords.accesskey "P">
<!ENTITY SecProto.label "Security Protocols">
<!ENTITY enableHSTS.label "Enable Strict Transport Security (HSTS)">
<!ENTITY enableHSTS.accesskey "S">
<!ENTITY enableHPKP.label "Enable Certificate Key Pinning (HPKP)">
<!ENTITY enableHPKP.accesskey "C">
<!ENTITY XSSFilt.label "XSS Filter">
<!ENTITY enableXSSFilt.label "Enable XSS filter">
<!ENTITY enableXSSFilt.accesskey "f">