mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-23 04:43:07 +09:00
58 lines
2.1 KiB
JavaScript
58 lines
2.1 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
/* import-globals-from pippki.js */
|
|
"use strict";
|
|
|
|
const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
|
|
|
|
var gCertDB = Cc["@mozilla.org/security/x509certdb;1"]
|
|
.getService(Ci.nsIX509CertDB);
|
|
/**
|
|
* Cert to edit the trust of.
|
|
* @type nsIX509Cert
|
|
*/
|
|
var gCert;
|
|
|
|
/**
|
|
* onload() handler.
|
|
*/
|
|
function onLoad() {
|
|
gCert = window.arguments[0];
|
|
|
|
let bundle = document.getElementById("pippki_bundle");
|
|
setText("certmsg",
|
|
bundle.getFormattedString("editTrustCA", [gCert.commonName]));
|
|
|
|
let sslCheckbox = document.getElementById("trustSSL");
|
|
sslCheckbox.checked = gCertDB.isCertTrusted(gCert, Ci.nsIX509Cert.CA_CERT,
|
|
Ci.nsIX509CertDB.TRUSTED_SSL);
|
|
|
|
let emailCheckbox = document.getElementById("trustEmail");
|
|
emailCheckbox.checked = gCertDB.isCertTrusted(gCert, Ci.nsIX509Cert.CA_CERT,
|
|
Ci.nsIX509CertDB.TRUSTED_EMAIL);
|
|
|
|
let objSignCheckbox = document.getElementById("trustObjSign");
|
|
objSignCheckbox.checked =
|
|
gCertDB.isCertTrusted(gCert, Ci.nsIX509Cert.CA_CERT,
|
|
Ci.nsIX509CertDB.TRUSTED_OBJSIGN);
|
|
}
|
|
|
|
/**
|
|
* ondialogaccept() handler.
|
|
*
|
|
* @returns {Boolean} true to make the dialog close, false otherwise.
|
|
*/
|
|
function onDialogAccept() {
|
|
let sslCheckbox = document.getElementById("trustSSL");
|
|
let emailCheckbox = document.getElementById("trustEmail");
|
|
let objSignCheckbox = document.getElementById("trustObjSign");
|
|
let trustSSL = sslCheckbox.checked ? Ci.nsIX509CertDB.TRUSTED_SSL : 0;
|
|
let trustEmail = emailCheckbox.checked ? Ci.nsIX509CertDB.TRUSTED_EMAIL : 0;
|
|
let trustObjSign = objSignCheckbox.checked ? Ci.nsIX509CertDB.TRUSTED_OBJSIGN
|
|
: 0;
|
|
|
|
gCertDB.setCertTrust(gCert, Ci.nsIX509Cert.CA_CERT,
|
|
trustSSL | trustEmail | trustObjSign);
|
|
return true;
|
|
}
|