Package org.apache.tomcat.util.net
Class TLSClientHelloExtractor
- java.lang.Object
-
- org.apache.tomcat.util.net.TLSClientHelloExtractor
-
public class TLSClientHelloExtractor extends java.lang.Object
This class extracts the SNI host name and ALPN protocols from a TLS client-hello message.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TLSClientHelloExtractor.ExtractorResult
-
Field Summary
Fields Modifier and Type Field Description static byte[]
USE_TLS_RESPONSE
-
Constructor Summary
Constructors Constructor Description TLSClientHelloExtractor(java.nio.ByteBuffer netInBuffer)
Creates the instance of the parser and processes the provided buffer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<java.lang.String>
getClientRequestedApplicationProtocols()
java.util.List<java.lang.String>
getClientRequestedCipherNames()
java.util.List<Cipher>
getClientRequestedCiphers()
java.util.List<java.lang.String>
getClientRequestedProtocols()
TLSClientHelloExtractor.ExtractorResult
getResult()
java.lang.String
getSNIValue()
-
-
-
Constructor Detail
-
TLSClientHelloExtractor
public TLSClientHelloExtractor(java.nio.ByteBuffer netInBuffer) throws java.io.IOException
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:
java.io.IOException
- If the client hello message is malformed
-
-
Method Detail
-
getResult
public TLSClientHelloExtractor.ExtractorResult getResult()
-
getSNIValue
public java.lang.String getSNIValue()
- Returns:
- The SNI value provided by the client converted to lower case if not already lower case.
-
getClientRequestedCiphers
public java.util.List<Cipher> getClientRequestedCiphers()
-
getClientRequestedCipherNames
public java.util.List<java.lang.String> getClientRequestedCipherNames()
-
getClientRequestedApplicationProtocols
public java.util.List<java.lang.String> getClientRequestedApplicationProtocols()
-
getClientRequestedProtocols
public java.util.List<java.lang.String> getClientRequestedProtocols()
-
-