/* 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/. */ const nsIX509Cert = Components.interfaces.nsIX509Cert; const nsX509CertDB = "@mozilla.org/security/x509certdb;1"; const nsIX509CertDB = Components.interfaces.nsIX509CertDB; var certdb; var cert; function doPrompt(msg) { let prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]. getService(Components.interfaces.nsIPromptService); prompts.alert(window, null, msg); } function setWindowName() { var dbkey = self.name; // Get the cert from the cert database certdb = Components.classes[nsX509CertDB].getService(nsIX509CertDB); cert = certdb.findCertByDBKey(dbkey, null); var bundle = document.getElementById("pippki_bundle"); var message1 = bundle.getFormattedString("editTrustCA", [cert.commonName]); setText("certmsg", message1); var ssl = document.getElementById("trustSSL"); if (certdb.isCertTrusted(cert, nsIX509Cert.CA_CERT, nsIX509CertDB.TRUSTED_SSL)) { ssl.setAttribute("checked", "true"); } else { ssl.setAttribute("checked", "false"); } var email = document.getElementById("trustEmail"); if (certdb.isCertTrusted(cert, nsIX509Cert.CA_CERT, nsIX509CertDB.TRUSTED_EMAIL)) { email.setAttribute("checked", "true"); } else { email.setAttribute("checked", "false"); } var objsign = document.getElementById("trustObjSign"); if (certdb.isCertTrusted(cert, nsIX509Cert.CA_CERT, nsIX509CertDB.TRUSTED_OBJSIGN)) { objsign.setAttribute("checked", "true"); } else { objsign.setAttribute("checked", "false"); } } function doOK() { var ssl = document.getElementById("trustSSL"); var email = document.getElementById("trustEmail"); var objsign = document.getElementById("trustObjSign"); var trustssl = (ssl.checked) ? nsIX509CertDB.TRUSTED_SSL : 0; var trustemail = (email.checked) ? nsIX509CertDB.TRUSTED_EMAIL : 0; var trustobjsign = (objsign.checked) ? nsIX509CertDB.TRUSTED_OBJSIGN : 0; // // Set the cert trust // certdb.setCertTrust(cert, nsIX509Cert.CA_CERT, trustssl | trustemail | trustobjsign); return true; }