зеркало из https://github.com/mozilla/gecko-dev.git
Enhancing delete cert feature
bug# 85792 ; r=javi ; sr=hewitt
This commit is contained in:
Родитель
27970beec2
Коммит
c62fdba496
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче