/* * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 2001 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * Bob Lord * Ian McGreer */ const nsIFilePicker = Components.interfaces.nsIFilePicker; const nsFilePicker = "@mozilla.org/filepicker;1"; const nsIX509CertDB = Components.interfaces.nsIX509CertDB; const nsX509CertDB = "@mozilla.org/security/x509certdb;1"; const nsIX509Cert = Components.interfaces.nsIX509Cert; const nsICertOutliner = Components.interfaces.nsICertOutliner; const nsCertOutliner = "@mozilla.org/security/nsCertOutliner;1"; const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock; const nsDialogParamBlock = "@mozilla.org/embedcomp/dialogparam;1"; const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock; const nsPKIParamBlock = "@mozilla.org/security/pkiparamblock;1"; var key; var selected_certs = []; var certdb; var caOutlinerView; var serverOutlinerView; var emailOutlinerView; var userOutlinerView; function LoadCerts() { certdb = Components.classes[nsX509CertDB].getService(nsIX509CertDB); caOutlinerView = Components.classes[nsCertOutliner] .createInstance(nsICertOutliner); caOutlinerView.loadCerts(nsIX509Cert.CA_CERT); document.getElementById('ca-outliner') .outlinerBoxObject.view = caOutlinerView; serverOutlinerView = Components.classes[nsCertOutliner] .createInstance(nsICertOutliner); serverOutlinerView.loadCerts(nsIX509Cert.SERVER_CERT); document.getElementById('server-outliner') .outlinerBoxObject.view = serverOutlinerView; emailOutlinerView = Components.classes[nsCertOutliner] .createInstance(nsICertOutliner); emailOutlinerView.loadCerts(nsIX509Cert.EMAIL_CERT); document.getElementById('email-outliner') .outlinerBoxObject.view = emailOutlinerView; userOutlinerView = Components.classes[nsCertOutliner] .createInstance(nsICertOutliner); userOutlinerView.loadCerts(nsIX509Cert.USER_CERT); document.getElementById('user-outliner') .outlinerBoxObject.view = userOutlinerView; var rowCnt = userOutlinerView.rowCount; var enableBackupAllButton=document.getElementById('mine_backupAllButton'); if(rowCnt < 1) { enableBackupAllButton.setAttribute("disabled",true); } else { enableBackupAllButton.setAttribute("enabled",true); } var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties"); var verifiedColText; if (certdb.ocspOn) { verifiedColText = bundle.GetStringFromName("certmgr.verifiedNoOCSP"); } else { verifiedColText = bundle.GetStringFromName("certmgr.verified"); } var verifiedCol = document.getElementById('verifiedcol'); verifiedCol.setAttribute('label', verifiedColText); } function ReloadCerts() { caOutlinerView.loadCerts(nsIX509Cert.CA_CERT); serverOutlinerView.loadCerts(nsIX509Cert.SERVER_CERT); emailOutlinerView.loadCerts(nsIX509Cert.EMAIL_CERT); userOutlinerView.loadCerts(nsIX509Cert.USER_CERT); } function getSelectedTab() { var selTab = document.getElementById('certMgrTabbox').selectedItem; var selTabID = selTab.getAttribute('id'); if (selTabID == 'mine_tab') { key = "my_certs"; } else if (selTabID == "others_tab") { key = "others_certs"; } else if (selTabID == "websites_tab") { key = "web_certs"; } else if (selTabID == "ca_tab") { key = "ca_certs"; } return key; } function doHelpButton() { var uri = getSelectedTab(); openHelp(uri); } function getSelectedCerts() { var ca_tab = document.getElementById("ca_tab"); var mine_tab = document.getElementById("mine_tab"); var others_tab = document.getElementById("others_tab"); var websites_tab = document.getElementById("websites_tab"); var items = null; if (ca_tab.selected) { items = caOutlinerView.selection; } else if (mine_tab.selected) { items = userOutlinerView.selection; } else if (others_tab.selected) { items = emailOutlinerView.selection; } else if (websites_tab.selected) { items = serverOutlinerView.selection; } selected_certs = []; var cert = null; var nr = 0; if (items != null) nr = items.getRangeCount(); if (nr > 0) { for (var i=0; i 0) { for (var i=0; i