/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * 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 nsIX509CertList;

[builtinclass, scriptable, uuid(216112d3-28bc-4671-b057-f98cc09ba1ea)]
interface nsITransportSecurityInfo : nsISupports {
    readonly attribute unsigned long securityState;
    readonly attribute wstring errorMessage;
    [infallible] readonly attribute long errorCode; // PRErrorCode

    /**
     * If certificate verification failed, this will be the peer certificate
     * chain provided in the handshake, so it can be used for error reporting.
     * If verification succeeded, this will be null.
     */
    readonly attribute nsIX509CertList failedCertChain;
};

