/* 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 ctx Context that allows at least nsIClientAuthUserDecision to be * queried. * @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. * @return true if a certificate was chosen. false if the user canceled. */ [must_use] boolean chooseCertificate(in nsIInterfaceRequestor ctx, in AUTF8String hostname, in long port, in AUTF8String organization, in AUTF8String issuerOrg, in nsIArray certList, out unsigned long selectedIndex); }; [scriptable, uuid(95c4373e-bdd4-4a63-b431-f5b000367721)] interface nsIClientAuthUserDecision : nsISupports { attribute boolean rememberClientAuthCertificate; }; %{C++ #define NS_CLIENTAUTHDIALOGS_CONTRACTID "@mozilla.org/nsClientAuthDialogs;1" %}