home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2003 May
/
PCWorld_2003-05_cd.bin
/
Komunik
/
phoenix
/
chrome
/
pippki.jar
/
content
/
pippki
/
deletecert.js
< prev
next >
Wrap
Text File
|
2002-11-13
|
4KB
|
145 lines
/*
* 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):
* Ian McGreer <mcgreer@netscape.com>
*/
const nsIX509Cert = Components.interfaces.nsIX509Cert;
const nsX509CertDB = "@mozilla.org/security/x509certdb;1";
const nsIX509CertDB = Components.interfaces.nsIX509CertDB;
const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
var certdb;
var certs = [];
var helpUrl;
var gParams;
function setWindowName()
{
gParams = window.arguments[0].QueryInterface(nsIDialogParamBlock);
// Get the cert from the cert database
certdb = Components.classes[nsX509CertDB].getService(nsIX509CertDB);
var typeFlag = gParams.GetString(0);
var numberOfCerts = gParams.GetInt(0);
var dbkey;
for(var x=0; x<numberOfCerts;x++)
{
dbkey = gParams.GetString(x+1);
certs[x] = certdb.findCertByDBKey(dbkey , null);
}
var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
var title;
var confirm;
var impact;
if(typeFlag == bundle.GetStringFromName("deleteUserCertFlag"))
{
title = bundle.GetStringFromName("deleteUserCertTitle");
confirm = bundle.GetStringFromName("deleteUserCertConfirm");
impact = bundle.GetStringFromName("deleteUserCertImpact");
helpUrl = "delete_my_certs"
}
else if(typeFlag == bundle.GetStringFromName("deleteSslCertFlag"))
{
title = bundle.GetStringFromName("deleteSslCertTitle");
confirm = bundle.GetStringFromName("deleteSslCertConfirm");
impact = bundle.GetStringFromName("deleteSslCertImpact");
helpUrl = "delete_web_certs"
}
else if(typeFlag == bundle.GetStringFromName("deleteCaCertFlag"))
{
title = bundle.GetStringFromName("deleteCaCertTitle");
confirm = bundle.GetStringFromName("deleteCaCertConfirm");
impact = bundle.GetStringFromName("deleteCaCertImpact");
helpUrl = "delete_ca_certs"
}
else if(typeFlag == bundle.GetStringFromName("deleteEmailCertFlag"))
{
title = bundle.GetStringFromName("deleteEmailCertTitle");
confirm = bundle.GetStringFromName("deleteEmailCertConfirm");
impact = bundle.GetStringFromName("deleteEmailCertImpact");
helpUrl = "delete_email_certs"
}
else
{
return;
}
var windowReference = document.getElementById('deleteCertificate');
var confirReference = document.getElementById('confirm');
var impactReference = document.getElementById('impact');
windowReference.setAttribute("title", title);
setText("confirm",confirm);
var box=document.getElementById("certlist");
var text;
for(x=0;x<certs.length;x++)
{
if (!certs[x])
continue;
text = document.createElement("text");
text.setAttribute("value",certs[x].commonName);
box.appendChild(text);
}
setText("impact",impact);
window.sizeToContent();
}
function doOK()
{
// On returning our param list will contain keys of those certs that were deleted.
// It will contain empty strings for those certs that are still alive.
for(var i=0;i<certs.length;i++)
{
if (certs[i]) {
try {
certdb.deleteCertificate(certs[i]);
}
catch (e) {
gParams.SetString(i+1, "");
}
certs[i] = null;
}
}
gParams.SetInt(1, 1); // means OK
window.close();
}
function doCancel()
{
var numberOfCerts = gParams.GetInt(0);
for(var x=0; x<numberOfCerts;x++)
{
gParams.SetString(x+1, "");
}
gParams.SetInt(1, 0); // means CANCEL
window.close();
}
function doHelp()
{
openHelp(helpUrl);
}