Package org.forgerock.opendj.io.rx
Class ProxyProtocolHeader.SslTlv
java.lang.Object
org.forgerock.opendj.io.rx.ProxyProtocolHeader.SslTlv
- Enclosing class:
- ProxyProtocolHeader
Exposes the content of the "pp2_tlv_ssl" structure present in the
ProxyProtocolHeader.PP2_TYPE_SSL
TLV
header.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Represents the possible values for the client property of the "pp2_tlv_ssl" structure.static enum
Represents the possible types of the "sub_tlv" contained in the "pp2_tlv_ssl" structure present in theProxyProtocolHeader.PP2_TYPE_SSL
TLV header. -
Constructor Summary
ConstructorDescriptionSslTlv
(EnumSet<ProxyProtocolHeader.SslTlv.ClientBit> client, int verify, EnumMap<ProxyProtocolHeader.SslTlv.SslSubType, String> subTlvs) Creates a new SSL TLV header. -
Method Summary
Modifier and TypeMethodDescriptionstatic ProxyProtocolHeader.SslTlv
decode
(ByteString data) Decodes the SSL information contained indata
in TLV format.encode()
Encodes the SSL information into TLV format.boolean
Returns the name of the used cipher.getCn()
Returns the Common Name field of the client certificate's Distinguished Name.The algorithm used to generate the key of the certificate presented.Returns the name of the used cipher.Returns the TLS version.int
hashCode()
boolean
isSsl()
Returns whether the client uses an SSL connection.boolean
Returns whether the client presented a certificate that was successfully verified.
-
Constructor Details
-
SslTlv
public SslTlv(EnumSet<ProxyProtocolHeader.SslTlv.ClientBit> client, int verify, EnumMap<ProxyProtocolHeader.SslTlv.SslSubType, String> subTlvs) Creates a new SSL TLV header.- Parameters:
client
- Indicates which SSL element is present.verify
-0
if the client presented a certificate and it was successfully verified, and non-zero otherwise.subTlvs
- the SSL information describing if and how the client connected using SSL. It must contain at least theProxyProtocolHeader.SslTlv.SslSubType.PP2_SUBTYPE_SSL_VERSION
ifProxyProtocolHeader.SslTlv.ClientBit.PP2_CLIENT_SSL
is set.
-
-
Method Details
-
decode
Decodes the SSL information contained indata
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 thedata
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
Returns the TLS version.- Returns:
- The US-ASCII string representation of the TLS version
-
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
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
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
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
Encodes the SSL information into TLV format.- Returns:
- A
ByteString
containing a TLV representation of the SSL informations. - See Also:
-
equals
-
hashCode
public int hashCode()
-