diff options
Diffstat (limited to 'security/manager/ssl/nsICertificateDialogs.idl')
-rw-r--r-- | security/manager/ssl/nsICertificateDialogs.idl | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/security/manager/ssl/nsICertificateDialogs.idl b/security/manager/ssl/nsICertificateDialogs.idl new file mode 100644 index 000000000..a5f023ffd --- /dev/null +++ b/security/manager/ssl/nsICertificateDialogs.idl @@ -0,0 +1,77 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +interface nsIInterfaceRequestor; +interface nsIX509Cert; + +/** + * Functions that implement user interface dialogs to manage certificates. + */ +[scriptable, uuid(da871dab-f69e-4173-ab26-99fcd47b0e85)] +interface nsICertificateDialogs : nsISupports +{ + /** + * UI shown when a user is asked to download a new CA cert. + * Provides user with ability to choose trust settings for the cert. + * Asks the user to grant permission to import the certificate. + * + * @param ctx A user interface context. + * @param cert The certificate that is about to get installed. + * @param trust a bit mask of trust flags, + * see nsIX509CertDB for possible values. + * + * @return true if the user allows to import the certificate. + */ + boolean confirmDownloadCACert(in nsIInterfaceRequestor ctx, + in nsIX509Cert cert, + out unsigned long trust); + + /** + * UI shown when a user's personal certificate is going to be + * exported to a backup file. + * The implementation of this dialog should make sure + * to prompt the user to type the password twice in order to + * confirm correct input. + * The wording in the dialog should also motivate the user + * to enter a strong password. + * + * @param ctx A user interface context. + * @param password The password provided by the user. + * + * @return false if the user requests to cancel. + */ + boolean setPKCS12FilePassword(in nsIInterfaceRequestor ctx, + out AString password); + + /** + * UI shown when a user is about to restore a personal + * certificate from a backup file. + * The user is requested to enter the password + * that was used in the past to protect that backup file. + * + * @param ctx A user interface context. + * @param password The password provided by the user. + * + * @return false if the user requests to cancel. + */ + boolean getPKCS12FilePassword(in nsIInterfaceRequestor ctx, + out AString password); + + /** + * UI shown when a certificate needs to be shown to the user. + * The implementation should try to display as many attributes + * as possible. + * + * @param ctx A user interface context. + * @param cert The certificate to be shown to the user. + */ + void viewCert(in nsIInterfaceRequestor ctx, + in nsIX509Cert cert); +}; + +%{C++ +#define NS_CERTIFICATEDIALOGS_CONTRACTID "@mozilla.org/nsCertificateDialogs;1" +%} |