summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsICertificateDialogs.idl
diff options
context:
space:
mode:
Diffstat (limited to 'security/manager/ssl/nsICertificateDialogs.idl')
-rw-r--r--security/manager/ssl/nsICertificateDialogs.idl77
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"
+%}