PageRenderTime 293ms CodeModel.GetById 101ms app.highlight 1ms RepoModel.GetById 99ms app.codeStats 41ms

/gecko_sdk/idl/nsICertificateDialogs.idl

http://firefox-mac-pdf.googlecode.com/
IDL | 132 lines | 23 code | 9 blank | 100 comment | 0 complexity | 2de275821376c7e4f5e569aa805a1f00 MD5 | raw file
  1/* ***** BEGIN LICENSE BLOCK *****
  2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3 *
  4 * The contents of this file are subject to the Mozilla Public License Version
  5 * 1.1 (the "License"); you may not use this file except in compliance with
  6 * the License. You may obtain a copy of the License at
  7 * http://www.mozilla.org/MPL/
  8 *
  9 * Software distributed under the License is distributed on an "AS IS" basis,
 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 11 * for the specific language governing rights and limitations under the
 12 * License.
 13 *
 14 * The Original Code is mozilla.org code.
 15 *
 16 * The Initial Developer of the Original Code is
 17 * Netscape Communications Corporation.
 18 * Portions created by the Initial Developer are Copyright (C) 2001
 19 * the Initial Developer. All Rights Reserved.
 20 *
 21 * Contributor(s):
 22 *   Terry Hayes <thayes@netscape.com>
 23 *
 24 * Alternatively, the contents of this file may be used under the terms of
 25 * either the GNU General Public License Version 2 or later (the "GPL"), or
 26 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 27 * in which case the provisions of the GPL or the LGPL are applicable instead
 28 * of those above. If you wish to allow use of your version of this file only
 29 * under the terms of either the GPL or the LGPL, and not to allow others to
 30 * use your version of this file under the terms of the MPL, indicate your
 31 * decision by deleting the provisions above and replace them with the notice
 32 * and other provisions required by the GPL or the LGPL. If you do not delete
 33 * the provisions above, a recipient may use your version of this file under
 34 * the terms of any one of the MPL, the GPL or the LGPL.
 35 *
 36 * ***** END LICENSE BLOCK ***** */
 37
 38#include "nsISupports.idl"
 39
 40interface nsIInterfaceRequestor;
 41interface nsIX509Cert;
 42interface nsICRLInfo;
 43
 44/**
 45 * Functions that implement user interface dialogs to manage certificates.
 46 *
 47 * @status FROZEN
 48 */
 49[scriptable, uuid(a03ca940-09be-11d5-ac5d-000064657374)]
 50interface nsICertificateDialogs : nsISupports
 51{
 52  /**
 53   *  UI shown when a user is asked to download a new CA cert.
 54   *  Provides user with ability to choose trust settings for the cert.
 55   *  Asks the user to grant permission to import the certificate.
 56   *
 57   *  @param ctx A user interface context.
 58   *  @param cert The certificate that is about to get installed.
 59   *  @param trust a bit mask of trust flags, 
 60   *               see nsIX509CertDB for possible values.
 61   *
 62   *  @return true if the user allows to import the certificate.
 63   */
 64  boolean confirmDownloadCACert(in nsIInterfaceRequestor ctx, 
 65                         in nsIX509Cert cert,
 66                         out unsigned long trust);
 67
 68  /**
 69   *  UI shown when a web site has delivered a CA certificate to
 70   *  be imported, but the certificate is already contained in the
 71   *  user's storage.
 72   *
 73   *  @param ctx A user interface context.
 74   */
 75  void notifyCACertExists(in nsIInterfaceRequestor ctx);
 76
 77  /**
 78   *  UI shown when a user's personal certificate is going to be
 79   *  exported to a backup file.
 80   *  The implementation of this dialog should make sure 
 81   *  to prompt the user to type the password twice in order to
 82   *  confirm correct input.
 83   *  The wording in the dialog should also motivate the user 
 84   *  to enter a strong password.
 85   *
 86   *  @param ctx A user interface context.
 87   *  @param password The password provided by the user.
 88   *
 89   *  @return false if the user requests to cancel.
 90   */
 91  boolean setPKCS12FilePassword(in nsIInterfaceRequestor ctx, 
 92                                out AString password);
 93
 94  /**
 95   *  UI shown when a user is about to restore a personal
 96   *  certificate from a backup file.
 97   *  The user is requested to enter the password
 98   *  that was used in the past to protect that backup file.
 99   *
100   *  @param ctx A user interface context.
101   *  @param password The password provided by the user.
102   *
103   *  @return false if the user requests to cancel.
104   */
105  boolean getPKCS12FilePassword(in nsIInterfaceRequestor ctx, 
106                                out AString password);
107
108  /**
109   *  UI shown when a certificate needs to be shown to the user.
110   *  The implementation should try to display as many attributes
111   *  as possible.
112   *
113   *  @param ctx A user interface context.
114   *  @param cert The certificate to be shown to the user.
115   */
116  void viewCert(in nsIInterfaceRequestor ctx, 
117                in nsIX509Cert cert);
118
119  /**
120   *  UI shown after a Certificate Revocation List (CRL) has been
121   *  successfully imported.
122   *
123   *  @param ctx A user interface context.
124   *  @param crl Information describing the CRL that was imported.
125   */
126  void crlImportStatusDialog(in nsIInterfaceRequestor ctx, 
127                             in nsICRLInfo crl);
128};
129
130%{C++
131#define NS_CERTIFICATEDIALOGS_CONTRACTID "@mozilla.org/nsCertificateDialogs;1"
132%}