bug# 85792 ; r=javi ; sr=hewitt
This commit is contained in:
rangansen%netscape.com 2001-08-11 00:13:10 +00:00
Родитель 27970beec2
Коммит c62fdba496
4 изменённых файлов: 148 добавлений и 23 удалений

Просмотреть файл

@ -28,6 +28,11 @@ 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 helpURL = "chrome://help/content/help.xul";
var key;
@ -289,13 +294,42 @@ function restoreCerts()
function deleteCerts()
{
getSelectedCerts();
var numcerts = selected_certs.length;
for (var t=0; t<numcerts; t++) {
var cert = selected_certs[t];
var certkey = cert.dbKey;
window.openDialog('chrome://pippki/content/deletecert.xul', certkey,
'chrome,resizable=1,modal');
var pkiParams;
pkiParams = Components.classes[nsPKIParamBlock].getService(nsIPKIParamBlock);
var dialogParams = pkiParams.QueryInterface(nsIDialogParamBlock);
var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
var selTab = document.getElementById('certMgrTabbox').selectedTab;
var selTabID = selTab.getAttribute('id');
if (selTabID == 'mine_tab')
{
dialogParams.SetString(1,bundle.GetStringFromName("deleteUserCertFlag"));
}
else if (selTabID == "websites_tab")
{
dialogParams.SetString(1,bundle.GetStringFromName("deleteSslCertFlag"));
}
else if (selTabID == "ca_tab")
{
dialogParams.SetString(1,bundle.GetStringFromName("deleteCaCertFlag"));
}
else
{
return;
}
var numcerts = selected_certs.length;
dialogParams.SetInt(2,numcerts);
for (var t=0; t<numcerts; t++)
{
var cert = selected_certs[t];
pkiParams.setISupportAtIndex(t+1, cert);
}
window.openDialog('chrome://pippki/content/deletecert.xul', "",
'chrome,resizable=1,modal',pkiParams);
ReloadCerts();
}

Просмотреть файл

@ -24,31 +24,100 @@ 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 cert;
var certs = [];
var dialogParams;
var pkiParams;
var helpUrl;
function setWindowName()
{
var dbkey = self.name;
pkiParams = window.arguments[0].QueryInterface(nsIDialogParamBlock);
dialogParams = pkiParams.QueryInterface(nsIDialogParamBlock);
// Get the cert from the cert database
certdb = Components.classes[nsX509CertDB].getService(nsIX509CertDB);
//var pkiParams = window.arguments[0].QueryInterface(nsIPKIParamBlock);
//var isupport = pkiParams.getISupportAtIndex(1);
//cert = isupport.QueryInterface(nsIX509Cert);
cert = certdb.getCertByDBKey(dbkey, null);
var typeFlag = dialogParams.GetString(1);
var numberOfCerts = dialogParams.GetInt(2);
var dbkey;
var isupport
for(var x=0; x<numberOfCerts;x++)
{
isupport = pkiParams.getISupportAtIndex(x+1);
certs[x] = isupport.QueryInterface(nsIX509Cert);
}
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 = "chrome://help/content/help.xul?delete_my_certs"
}
else if(typeFlag == bundle.GetStringFromName("deleteSslCertFlag"))
{
title = bundle.GetStringFromName("deleteSslCertTitle");
confirm = bundle.GetStringFromName("deleteSslCertConfirm");
impact = bundle.GetStringFromName("deleteSslCertImpact");
helpUrl = "chrome://help/content/help.xul?delete_web_certs"
}
else if(typeFlag == bundle.GetStringFromName("deleteCaCertFlag"))
{
title = bundle.GetStringFromName("deleteCaCertTitle");
confirm = bundle.GetStringFromName("deleteCaCertConfirm");
impact = bundle.GetStringFromName("deleteCaCertImpact");
helpUrl = "chrome://help/content/help.xul?delete_ca_certs"
}
else
{
return;
}
var windowReference = document.getElementById('deleteCert');
windowReference.setAttribute("title", cert.commonName);
var confirReference = document.getElementById('confirm');
var impactReference = document.getElementById('impact');
windowReference.setAttribute("title", title);
setText("confirm",confirm);
var certname = document.getElementById("certname");
certname.setAttribute("value", cert.commonName);
var box=document.getElementById("certlist");
var text;
for(var x=0;x<certs.length;x++)
{
text = document.createElement("text");
text.setAttribute("value",certs[x].commonName);
box.appendChild(text);
}
setText("impact",impact);
var wdth = window.innerWidth; // THIS IS NEEDED,
window.sizeToContent();
windowReference.setAttribute("width",window.innerWidth + 30);
var hght = window.innerHeight; // THIS IS NEEDED,
window.sizeToContent();
windowReference.setAttribute("height",window.innerHeight + 40);
}
function doOK()
{
certdb.deleteCertificate(cert);
for(var i=0;i<certs.length;i++)
{
certdb.deleteCertificate(certs[i]);
}
window.close();
}
function doHelp()
{
openHelp(helpUrl);
}

Просмотреть файл

@ -30,10 +30,13 @@
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="setWindowName();"
persist="height width screenX screenY">
persist="height width screenX screenY"
style="width:8ex">
<script type="application/x-javascript" src="chrome://pippki/content/deletecert.js"/>
<script type="application/x-javascript" src="chrome://help/content/help.js"/>
<script type="application/x-javascript" src="chrome://global/content/strres.js" />
<script type="application/x-javascript" src="pippki.js" />
<keyset id="keys">
<key id="enter-key" keycode="VK_ENTER" oncommand="doOK();"/>
@ -42,10 +45,12 @@
</keyset>
<vbox flex="1">
<html>&certmgr.deletecert.beforename;</html>
<text id="certname"/>
<html>&certmgr.deletecert.aftername;</html>
<separator/>
<html id="confirm"/>
<separator />
<vbox id="certlist" flex="100%"/>
<html id="impact"/>
<separator />
<hbox align="center">
<button id="ok-button" class="dialog" label="&certmgr.ok.label;"
oncommand="doOK();"/>

Просмотреть файл

@ -35,7 +35,24 @@ issuerNotTrusted=Because you do not trust the certificate authority that issued
issuerTrusted=Because you trust the certificate authority that issued this certificate, you trust the authenticity of this certificate unless otherwise indicated here.
issuerNotKnown=Because you do not know the certificate authority that issued this certificate, you do not trust the authenticity of this certificate unless otherwise indicated here.
issuerCertNotFound=Certificate for this certificate authority was not found
#For Deleting Certificates
deleteSslCertFlag=deleteSslFlag
deleteSslCertConfirm=Are you sure you want to delete these web site certificates?
deleteSslCertImpact=If you delete a web site certificate, you will be asked to accept it again the next time you visit the web site.
deleteSslCertTitle=Delete Web Site Certificates
deleteUserCertFlag=deleteUserFlag
deleteUserCertConfirm=Are you sure you want to delete these certificates?
deleteUserCertImpact=If you delete one of your own certificates, you can no longer use it to identify yourself.
deleteUserCertTitle=Delete your Certificates
deleteCaCertFlag=deleteCaFlag
deleteCaCertConfirm=Are you sure you want to delete these CA certificates?
deleteCaCertImpact=If you delete a certificate authority (CA) certificate, your browser will no longer trust any certificates issued by that CA.
deleteCaCertTitle=Delete CA Certificates
#PKCS#12 file dialogs
chooseP12RestoreFileDialog=File Name to Restore