Class TLSClientHelloExtractor
java.lang.Object
org.apache.tomcat.util.net.TLSClientHelloExtractor
This class extracts the SNI host name and ALPN protocols from a TLS client-hello message.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumPossible results of TLS ClientHello extraction. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic byte[]HTTP response sent to clients that connect without TLS when TLS is required. -
Constructor Summary
ConstructorsConstructorDescriptionTLSClientHelloExtractor(ByteBuffer netInBuffer) Creates the instance of the parser and processes the provided buffer. -
Method Summary
Modifier and TypeMethodDescriptionReturns the application-level protocols requested by the client.Returns the names of cipher suites requested by the client.Returns the list of cipher suites requested by the client.Returns the transport protocols requested by the client.Returns the signature schemes requested by the client.Returns the key exchange groups supported by the client.Returns the result of the TLS ClientHello extraction.Returns the SNI value provided by the client.
-
Field Details
-
USE_TLS_RESPONSE
public static byte[] USE_TLS_RESPONSEHTTP response sent to clients that connect without TLS when TLS is required.
-
-
Constructor Details
-
TLSClientHelloExtractor
Creates the instance of the parser and processes the provided buffer. The buffer position and limit will be modified during the execution of this method, but they will be returned to the original values before the method exits.- Parameters:
netInBuffer- The buffer containing the TLS data to process- Throws:
IOException- If the client hello message is malformed
-
-
Method Details
-
getResult
Returns the result of the TLS ClientHello extraction.- Returns:
- the extraction result
-
getSNIValue
Returns the SNI value provided by the client.- Returns:
- The SNI value provided by the client converted to lower case if not already lower case
-
getClientRequestedCiphers
-
getClientRequestedCipherNames
-
getClientRequestedApplicationProtocols
-
getClientRequestedProtocols
-
getClientSupportedGroups
-
getClientSignatureSchemes
Returns the signature schemes requested by the client.- Returns:
- the list of signature schemes
-