Blame security/manager/ssl/nsISSLStatus.idl

Packit f0b94e
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
Packit f0b94e
 *
Packit f0b94e
 * This Source Code Form is subject to the terms of the Mozilla Public
Packit f0b94e
 * License, v. 2.0. If a copy of the MPL was not distributed with this
Packit f0b94e
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Packit f0b94e
Packit f0b94e
#include "nsISupports.idl"
Packit f0b94e
Packit f0b94e
interface nsIX509Cert;
Packit f0b94e
interface nsIX509CertList;
Packit f0b94e
Packit f0b94e
[scriptable, uuid(fa9ba95b-ca3b-498a-b889-7c79cf28fee8)]
Packit f0b94e
interface nsISSLStatus : nsISupports {
Packit f0b94e
  readonly attribute nsIX509Cert serverCert;
Packit f0b94e
  readonly attribute nsIX509CertList failedCertChain;
Packit f0b94e
  readonly attribute nsIX509CertList succeededCertChain;
Packit f0b94e
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute ACString cipherName;
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute unsigned long keyLength;
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute unsigned long secretKeyLength;
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute ACString keaGroupName;
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute ACString signatureSchemeName;
Packit f0b94e
Packit f0b94e
  const short SSL_VERSION_3   = 0;
Packit f0b94e
  const short TLS_VERSION_1   = 1;
Packit f0b94e
  const short TLS_VERSION_1_1 = 2;
Packit f0b94e
  const short TLS_VERSION_1_2 = 3;
Packit f0b94e
  const short TLS_VERSION_1_3 = 4;
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute unsigned short protocolVersion;
Packit f0b94e
Packit f0b94e
  const short CERTIFICATE_TRANSPARENCY_NOT_APPLICABLE          = 0;
Packit f0b94e
  const short CERTIFICATE_TRANSPARENCY_POLICY_COMPLIANT        = 5;
Packit f0b94e
  const short CERTIFICATE_TRANSPARENCY_POLICY_NOT_ENOUGH_SCTS  = 6;
Packit f0b94e
  const short CERTIFICATE_TRANSPARENCY_POLICY_NOT_DIVERSE_SCTS = 7;
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute unsigned short certificateTransparencyStatus;
Packit f0b94e
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute boolean isDomainMismatch;
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute boolean isNotValidAtThisTime;
Packit f0b94e
Packit f0b94e
  /* Note: To distinguish between
Packit f0b94e
   *         "unstrusted because missing or untrusted issuer"
Packit f0b94e
   *       and
Packit f0b94e
   *         "untrusted because self signed"
Packit f0b94e
   *       query nsIX509Cert::isSelfSigned
Packit f0b94e
   */
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute boolean isUntrusted;
Packit f0b94e
Packit f0b94e
  /**
Packit f0b94e
   * True only if (and after) serverCert was successfully validated as
Packit f0b94e
   * Extended Validation (EV).
Packit f0b94e
   */
Packit f0b94e
  [must_use]
Packit f0b94e
  readonly attribute boolean isExtendedValidation;
Packit f0b94e
};