Class ProxyProtocolHeader.SslTlv

java.lang.Object
org.forgerock.opendj.io.rx.ProxyProtocolHeader.SslTlv
Enclosing class:
ProxyProtocolHeader

public static final class ProxyProtocolHeader.SslTlv extends Object
Exposes the content of the "pp2_tlv_ssl" structure present in the ProxyProtocolHeader.PP2_TYPE_SSL TLV header.
  • Constructor Details

  • Method Details

    • decode

      public static ProxyProtocolHeader.SslTlv decode(ByteString data) throws DecodeException
      Decodes the SSL information contained in data in TLV format.
      Parameters:
      data - The buffer containing the SSL information encoded in TLV format.
      Returns:
      A new ProxyProtocolHeader.SslTlv exposing SSL informations.
      Throws:
      DecodeException - If the data cannot be decoded.
      See Also:
    • isSsl

      public boolean isSsl()
      Returns whether the client uses an SSL connection.
      Returns:
      true if the client uses SSL.
    • isVerified

      public boolean isVerified()
      Returns whether the client presented a certificate that was successfully verified.
      Returns:
      true if the client presented a certificate that was successfully verified.
    • getVersion

      public String getVersion()
      Returns the TLS version.
      Returns:
      The US-ASCII string representation of the TLS version
    • getCn

      public String getCn()
      Returns the Common Name field of the client certificate's Distinguished Name.
      Returns:
      The string representation (in UTF8) of the Common Name field (OID: 2.5.4.3) of the client certificate's Distinguished Name.
    • getCipher

      public String getCipher()
      Returns the name of the used cipher.
      Returns:
      The US-ASCII string name of the used cipher, for example "ECDHE-RSA-AES128-GCM-SHA256".
    • getSignatureAlgorithm

      public String getSignatureAlgorithm()
      Returns the name of the used cipher.
      Returns:
      The US-ASCII string name of the used cipher, for example "ECDHE-RSA-AES128-GCM-SHA256".
    • getKeyAlgorithm

      public String getKeyAlgorithm()
      The algorithm used to generate the key of the certificate presented.
      Returns:
      The US-ASCII string name of the algorithm used to generate the key of the certificate presented by the frontend when the incoming connection was made over an SSL/TLS transport layer, for example "RSA2048"
    • encode

      public ByteString encode()
      Encodes the SSL information into TLV format.
      Returns:
      A ByteString containing a TLV representation of the SSL informations.
      See Also:
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object