All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openqa.selenium.devtools.v90.network.model.SecurityDetails Maven / Gradle / Ivy

Go to download

Selenium automates browsers. That's it! What you do with that power is entirely up to you.

There is a newer version: 4.0.0-beta-4
Show newest version
package org.openqa.selenium.devtools.v90.network.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

/**
 * Security details about a request.
 */
public class SecurityDetails {

    private final java.lang.String protocol;

    private final java.lang.String keyExchange;

    private final java.util.Optional keyExchangeGroup;

    private final java.lang.String cipher;

    private final java.util.Optional mac;

    private final org.openqa.selenium.devtools.v90.security.model.CertificateId certificateId;

    private final java.lang.String subjectName;

    private final java.util.List sanList;

    private final java.lang.String issuer;

    private final org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch validFrom;

    private final org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch validTo;

    private final java.util.List signedCertificateTimestampList;

    private final org.openqa.selenium.devtools.v90.network.model.CertificateTransparencyCompliance certificateTransparencyCompliance;

    public SecurityDetails(java.lang.String protocol, java.lang.String keyExchange, java.util.Optional keyExchangeGroup, java.lang.String cipher, java.util.Optional mac, org.openqa.selenium.devtools.v90.security.model.CertificateId certificateId, java.lang.String subjectName, java.util.List sanList, java.lang.String issuer, org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch validFrom, org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch validTo, java.util.List signedCertificateTimestampList, org.openqa.selenium.devtools.v90.network.model.CertificateTransparencyCompliance certificateTransparencyCompliance) {
        this.protocol = java.util.Objects.requireNonNull(protocol, "protocol is required");
        this.keyExchange = java.util.Objects.requireNonNull(keyExchange, "keyExchange is required");
        this.keyExchangeGroup = keyExchangeGroup;
        this.cipher = java.util.Objects.requireNonNull(cipher, "cipher is required");
        this.mac = mac;
        this.certificateId = java.util.Objects.requireNonNull(certificateId, "certificateId is required");
        this.subjectName = java.util.Objects.requireNonNull(subjectName, "subjectName is required");
        this.sanList = java.util.Objects.requireNonNull(sanList, "sanList is required");
        this.issuer = java.util.Objects.requireNonNull(issuer, "issuer is required");
        this.validFrom = java.util.Objects.requireNonNull(validFrom, "validFrom is required");
        this.validTo = java.util.Objects.requireNonNull(validTo, "validTo is required");
        this.signedCertificateTimestampList = java.util.Objects.requireNonNull(signedCertificateTimestampList, "signedCertificateTimestampList is required");
        this.certificateTransparencyCompliance = java.util.Objects.requireNonNull(certificateTransparencyCompliance, "certificateTransparencyCompliance is required");
    }

    /**
     * Protocol name (e.g. "TLS 1.2" or "QUIC").
     */
    public java.lang.String getProtocol() {
        return protocol;
    }

    /**
     * Key Exchange used by the connection, or the empty string if not applicable.
     */
    public java.lang.String getKeyExchange() {
        return keyExchange;
    }

    /**
     * (EC)DH group used by the connection, if applicable.
     */
    public java.util.Optional getKeyExchangeGroup() {
        return keyExchangeGroup;
    }

    /**
     * Cipher name.
     */
    public java.lang.String getCipher() {
        return cipher;
    }

    /**
     * TLS MAC. Note that AEAD ciphers do not have separate MACs.
     */
    public java.util.Optional getMac() {
        return mac;
    }

    /**
     * Certificate ID value.
     */
    public org.openqa.selenium.devtools.v90.security.model.CertificateId getCertificateId() {
        return certificateId;
    }

    /**
     * Certificate subject name.
     */
    public java.lang.String getSubjectName() {
        return subjectName;
    }

    /**
     * Subject Alternative Name (SAN) DNS names and IP addresses.
     */
    public java.util.List getSanList() {
        return sanList;
    }

    /**
     * Name of the issuing CA.
     */
    public java.lang.String getIssuer() {
        return issuer;
    }

    /**
     * Certificate valid from date.
     */
    public org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch getValidFrom() {
        return validFrom;
    }

    /**
     * Certificate valid to (expiration) date
     */
    public org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch getValidTo() {
        return validTo;
    }

    /**
     * List of signed certificate timestamps (SCTs).
     */
    public java.util.List getSignedCertificateTimestampList() {
        return signedCertificateTimestampList;
    }

    /**
     * Whether the request complied with Certificate Transparency policy
     */
    public org.openqa.selenium.devtools.v90.network.model.CertificateTransparencyCompliance getCertificateTransparencyCompliance() {
        return certificateTransparencyCompliance;
    }

    private static SecurityDetails fromJson(JsonInput input) {
        java.lang.String protocol = null;
        java.lang.String keyExchange = null;
        java.util.Optional keyExchangeGroup = java.util.Optional.empty();
        java.lang.String cipher = null;
        java.util.Optional mac = java.util.Optional.empty();
        org.openqa.selenium.devtools.v90.security.model.CertificateId certificateId = null;
        java.lang.String subjectName = null;
        java.util.List sanList = null;
        java.lang.String issuer = null;
        org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch validFrom = null;
        org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch validTo = null;
        java.util.List signedCertificateTimestampList = null;
        org.openqa.selenium.devtools.v90.network.model.CertificateTransparencyCompliance certificateTransparencyCompliance = null;
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "protocol":
                    protocol = input.nextString();
                    break;
                case "keyExchange":
                    keyExchange = input.nextString();
                    break;
                case "keyExchangeGroup":
                    keyExchangeGroup = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "cipher":
                    cipher = input.nextString();
                    break;
                case "mac":
                    mac = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "certificateId":
                    certificateId = input.read(org.openqa.selenium.devtools.v90.security.model.CertificateId.class);
                    break;
                case "subjectName":
                    subjectName = input.nextString();
                    break;
                case "sanList":
                    sanList = input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType());
                    break;
                case "issuer":
                    issuer = input.nextString();
                    break;
                case "validFrom":
                    validFrom = input.read(org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch.class);
                    break;
                case "validTo":
                    validTo = input.read(org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch.class);
                    break;
                case "signedCertificateTimestampList":
                    signedCertificateTimestampList = input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType());
                    break;
                case "certificateTransparencyCompliance":
                    certificateTransparencyCompliance = input.read(org.openqa.selenium.devtools.v90.network.model.CertificateTransparencyCompliance.class);
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new SecurityDetails(protocol, keyExchange, keyExchangeGroup, cipher, mac, certificateId, subjectName, sanList, issuer, validFrom, validTo, signedCertificateTimestampList, certificateTransparencyCompliance);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy