/* * 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): * Terry Hayes */ #include "nsISupports.idl" #include "nsIX509Cert.idl" #include "nsIX509CertDB.idl" interface nsIInterfaceRequestor; interface nsIKeygenThread; /** * nsITokenPasswordDialogs * This is the interface for setting and changing password * on a PKCS11 token. */ [scriptable, uuid(be26b580-1dd1-11b2-9946-c598d0d07727)] interface nsITokenPasswordDialogs : nsISupports { /** * setPassword - sets the password/PIN on the named token. * The canceled output value should be set to TRUE when * the user (or implementation) cancels the operation. */ void setPassword(in nsIInterfaceRequestor ctx, in wstring tokenName, out boolean canceled); void getPassword(in nsIInterfaceRequestor ctx, in wstring tokenName, out wstring password, out boolean canceled); }; /** * nsIGeneratingKeypairInfoDialogs * This is the interface for giving feedback to the user * while generating a key pair. */ [scriptable, uuid(11bf5cdc-1dd2-11b2-ba6a-c76afb326fa1)] interface nsIGeneratingKeypairInfoDialogs : nsISupports { void displayGeneratingKeypairInfo(in nsIInterfaceRequestor ctx, in nsIKeygenThread runnable); }; /** * nsINSSDialogs - a collection of functions that * implement activities that may require interaction * with the user. */ [scriptable, uuid(4a8c5584-1dd2-11b2-bfff-f232dbfab27e)] interface nsINSSDialogs : nsISupports { /** * This is the base class for NSSDialogs. It must support all * the interfaces for dialogs that it wants to support. * * nsITokenPasswordDialogs is one such implementation. */ }; /** * nsICertificateDialogs * Provides UI for certificate-related dialogs. */ [scriptable, uuid(a03ca940-09be-11d5-ac5d-000064657374)] interface nsICertificateDialogs : nsISupports { /** * downloadCACert * UI shown when a user is asked to download a new CA cert. Provides * user with ability to choose trust settings for the cert. */ void downloadCACert(in nsIInterfaceRequestor ctx, in nsIX509Cert cert, out unsigned long trust, out boolean canceled); void cACertExists(in nsIInterfaceRequestor ctx, out boolean canceled); void setPKCS12FilePassword(in nsIInterfaceRequestor ctx, out wstring password, out boolean canceled); void getPKCS12FilePassword(in nsIInterfaceRequestor ctx, out wstring password, out boolean canceled); void viewCert(in nsIX509Cert cert); void crlImportStatusDialog(in nsIInterfaceRequestor ctx, in nsICrlEntry nameInDB); }; /** * nsIClientAuthDialog * Provides UI for SSL client-auth dialogs. */ [scriptable, uuid(fa4c7520-1433-11d5-ba24-00108303b117)] interface nsIClientAuthDialogs : nsISupports { /** * display * UI shown when a user is asked to do SSL client auth. */ void ChooseCertificate(in nsIInterfaceRequestor ctx, in wstring cn, in wstring organization, in wstring issuer, [array, size_is(count)] in wstring certNickList, [array, size_is(count)] in wstring certDetailsList, in PRUint32 count, out PRInt32 selectedIndex, out boolean canceled); }; /** * nsICertPicker * Provides generic UI for choosing a certificate */ [scriptable, uuid(51d59b08-1dd2-11b2-ad4a-a51b92f8a184)] interface nsICertPickDialogs : nsISupports { /** * PickCertificate * General purpose certificate prompter */ void PickCertificate(in nsIInterfaceRequestor ctx, [array, size_is(count)] in wstring certNickList, [array, size_is(count)] in wstring certDetailsList, in PRUint32 count, inout PRInt32 selectedIndex, out boolean canceled); }; [scriptable, uuid(bb4bae9c-39c5-11d5-ba26-00108303b117)] interface nsITokenDialogs : nsISupports { void ChooseToken(in nsIInterfaceRequestor ctx, [array, size_is(count)] in wstring tokenNameList, in PRUint32 count, out wstring tokenName, out boolean canceled); }; [scriptable, uuid(1f8fe77e-1dd2-11b2-8dd2-e55f8d3465b8)] interface nsIDOMCryptoDialogs : nsISupports { /** * This method is used to warn the user the web site is * trying to escrow the generated private key. This * method should return true if the user wants to proceed * and false if the user cancels the action. */ boolean ConfirmKeyEscrow(in nsIX509Cert escrowAuthority); }; /** * NS_NSSDIALOGS_CONTRACTID - contract id of a service that * implements nsINSSDialogs (and possibly other interfaces) * that provide interaction with the user. */ %{C++ #define NS_NSSDIALOGS_CONTRACTID "@mozilla.org/nsNSSDialogs;1" %} .