/* 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 nsIArray; interface nsIInterfaceRequestor; /** * Provides UI for SSL client-auth dialogs. */ [scriptable, uuid(fa4c7520-1433-11d5-ba24-00108303b117)] interface nsIClientAuthDialogs : nsISupports { /** * Called when a user is asked to choose a certificate for client auth. * * @param hostname Hostname of the server. * @param port Port of the server. * @param organization Organization field of the server cert. * @param issuerOrg Organization field of the issuer cert of the server cert. * @param certList List of certificates the user can choose from. * @param selectedIndex Index of the cert in |certList| that the user chose. * Ignored if the return value is false. * @param rememberClientAuthCertificate Whether to remember selection. * @return true if a certificate was chosen. false if the user canceled. */ [must_use] boolean chooseCertificate(in AUTF8String hostname, in long port, in AUTF8String organization, in AUTF8String issuerOrg, in nsIArray certList, out unsigned long selectedIndex, out boolean rememberClientAuthCertificate); }; %{C++ #define NS_CLIENTAUTHDIALOGS_CONTRACTID "@mozilla.org/nsClientAuthDialogs;1" %}