gecko-dev/netwerk/socket/nsITransportSecurityInfo.idl
Dipen Patel aeed887ff8 Bug 1468222 Consolidate nsISSLStatus info nsITransportSecurityInfo r=Gijs,snorp,jcj,mcmanus,sfraser,keeler,baku,ato
Move all fields of nsISSLStatus to nsITransportSecurityProvider
Remove nsISSLStatus interface and definition
Update all code and test references to nsISSLStatus
Maintain ability to read in older version of serialized nsISSLStatus.  This
is verified with psm_DeserializeCert gtest.

Differential Revision: https://phabricator.services.mozilla.com/D3704

--HG--
extra : moz-landing-system : lando
2018-09-11 00:07:30 +00:00

76 lines
2.5 KiB
Plaintext

/* -*- 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 nsIX509Cert;
interface nsIX509CertList;
[scriptable, uuid(216112d3-28bc-4671-b057-f98cc09ba1ea)]
interface nsITransportSecurityInfo : nsISupports {
readonly attribute unsigned long securityState;
readonly attribute long errorCode; // PRErrorCode
// errorCode as string (e.g. "SEC_ERROR_UNKNOWN_ISSUER")
readonly attribute AString errorCodeString;
/**
* The following parameters are only valid after the TLS handshake
* has completed. Check securityState first.
*/
/**
* 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;
readonly attribute nsIX509Cert serverCert;
readonly attribute nsIX509CertList succeededCertChain;
[must_use]
readonly attribute ACString cipherName;
[must_use]
readonly attribute unsigned long keyLength;
[must_use]
readonly attribute unsigned long secretKeyLength;
[must_use]
readonly attribute ACString keaGroupName;
[must_use]
readonly attribute ACString signatureSchemeName;
const short SSL_VERSION_3 = 0;
const short TLS_VERSION_1 = 1;
const short TLS_VERSION_1_1 = 2;
const short TLS_VERSION_1_2 = 3;
const short TLS_VERSION_1_3 = 4;
[must_use]
readonly attribute unsigned short protocolVersion;
const short CERTIFICATE_TRANSPARENCY_NOT_APPLICABLE = 0;
const short CERTIFICATE_TRANSPARENCY_POLICY_COMPLIANT = 5;
const short CERTIFICATE_TRANSPARENCY_POLICY_NOT_ENOUGH_SCTS = 6;
const short CERTIFICATE_TRANSPARENCY_POLICY_NOT_DIVERSE_SCTS = 7;
[must_use]
readonly attribute unsigned short certificateTransparencyStatus;
[must_use]
readonly attribute boolean isDomainMismatch;
[must_use]
readonly attribute boolean isNotValidAtThisTime;
[must_use]
readonly attribute boolean isUntrusted;
/**
* True only if (and after) serverCert was successfully validated as
* Extended Validation (EV).
*/
[must_use]
readonly attribute boolean isExtendedValidation;
};