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 >
Text File  |  2002-11-13  |  4KB  |  145 lines

  1. /*
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  *
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  *
  12.  * The Original Code is mozilla.org code.
  13.  *
  14.  * The Initial Developer of the Original Code is Netscape
  15.  * Communications Corporation.  Portions created by Netscape are
  16.  * Copyright (C) 2001 Netscape Communications Corporation. All
  17.  * Rights Reserved.
  18.  *
  19.  * Contributor(s):
  20.  *  Ian McGreer <mcgreer@netscape.com>
  21.  */
  22.  
  23. const nsIX509Cert = Components.interfaces.nsIX509Cert;
  24. const nsX509CertDB = "@mozilla.org/security/x509certdb;1";
  25. const nsIX509CertDB = Components.interfaces.nsIX509CertDB;
  26. const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
  27. const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
  28.  
  29. var certdb;
  30. var certs = [];
  31. var helpUrl;
  32. var gParams;
  33.  
  34. function setWindowName()
  35. {
  36.   gParams = window.arguments[0].QueryInterface(nsIDialogParamBlock);
  37.   
  38.   //  Get the cert from the cert database
  39.   certdb = Components.classes[nsX509CertDB].getService(nsIX509CertDB);
  40.   
  41.   var typeFlag = gParams.GetString(0);
  42.   var numberOfCerts = gParams.GetInt(0);
  43.   var dbkey;
  44.   for(var x=0; x<numberOfCerts;x++)
  45.   {
  46.      dbkey = gParams.GetString(x+1);
  47.      certs[x] = certdb.findCertByDBKey(dbkey , null);
  48.   }
  49.   
  50.   var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
  51.   var title;
  52.   var confirm;
  53.   var impact;
  54.   
  55.   if(typeFlag == bundle.GetStringFromName("deleteUserCertFlag"))
  56.   {
  57.      title = bundle.GetStringFromName("deleteUserCertTitle");
  58.      confirm = bundle.GetStringFromName("deleteUserCertConfirm");
  59.      impact = bundle.GetStringFromName("deleteUserCertImpact");
  60.      helpUrl = "delete_my_certs"
  61.   }
  62.   else if(typeFlag == bundle.GetStringFromName("deleteSslCertFlag"))
  63.   {
  64.      title = bundle.GetStringFromName("deleteSslCertTitle");
  65.      confirm = bundle.GetStringFromName("deleteSslCertConfirm");
  66.      impact = bundle.GetStringFromName("deleteSslCertImpact");
  67.      helpUrl = "delete_web_certs"
  68.   }
  69.   else if(typeFlag == bundle.GetStringFromName("deleteCaCertFlag"))
  70.   {
  71.      title = bundle.GetStringFromName("deleteCaCertTitle");
  72.      confirm = bundle.GetStringFromName("deleteCaCertConfirm");
  73.      impact = bundle.GetStringFromName("deleteCaCertImpact");
  74.      helpUrl = "delete_ca_certs"   
  75.   }
  76.   else if(typeFlag == bundle.GetStringFromName("deleteEmailCertFlag"))
  77.   {
  78.      title = bundle.GetStringFromName("deleteEmailCertTitle");
  79.      confirm = bundle.GetStringFromName("deleteEmailCertConfirm");
  80.      impact = bundle.GetStringFromName("deleteEmailCertImpact");
  81.      helpUrl = "delete_email_certs"
  82.   }
  83.   else
  84.   {
  85.      return;
  86.   }
  87.   var windowReference = document.getElementById('deleteCertificate');
  88.   var confirReference = document.getElementById('confirm');
  89.   var impactReference = document.getElementById('impact');
  90.   windowReference.setAttribute("title", title);
  91.   
  92.   setText("confirm",confirm);
  93.  
  94.   var box=document.getElementById("certlist");
  95.   var text;
  96.   for(x=0;x<certs.length;x++)
  97.   {
  98.     if (!certs[x])
  99.       continue;
  100.     text = document.createElement("text");
  101.     text.setAttribute("value",certs[x].commonName);
  102.     box.appendChild(text);
  103.   }
  104.  
  105.   setText("impact",impact);
  106.   window.sizeToContent();
  107. }
  108.  
  109. function doOK()
  110. {
  111.   // On returning our param list will contain keys of those certs that were deleted.
  112.   // It will contain empty strings for those certs that are still alive.
  113.  
  114.   for(var i=0;i<certs.length;i++)
  115.   {
  116.     if (certs[i]) {
  117.       try {
  118.         certdb.deleteCertificate(certs[i]);
  119.       }
  120.       catch (e) {
  121.         gParams.SetString(i+1, "");
  122.       }
  123.       certs[i] = null;
  124.     }
  125.   }
  126.   gParams.SetInt(1, 1); // means OK
  127.   window.close();
  128. }
  129.  
  130. function doCancel()
  131. {
  132.   var numberOfCerts = gParams.GetInt(0);
  133.   for(var x=0; x<numberOfCerts;x++)
  134.   {
  135.      gParams.SetString(x+1, "");
  136.   }
  137.   gParams.SetInt(1, 0); // means CANCEL
  138.   window.close();
  139. }
  140.  
  141. function doHelp()
  142. {
  143.    openHelp(helpUrl);
  144. }
  145.