public class UnifiedServerSocket extends ServerSocket
!allowInsecureConnection mode is needed so we can update the SSLContext (in particular, the
key store and/or trust store) without having to re-create the server socket. By starting with a plaintext socket
and delaying the upgrade to TLS until after a client has connected and begins a handshake, we can keep the same
UnifiedServerSocket instance around, and replace the default SSLContext in the provided X509Util when the key store
and/or trust store file changes on disk.| Modifier and Type | Class and Description |
|---|---|
static class |
UnifiedServerSocket.UnifiedSocket
The result of calling accept() on a UnifiedServerSocket.
|
| Constructor and Description |
|---|
UnifiedServerSocket(X509Util x509Util,
boolean allowInsecureConnection)
Creates an unbound unified server socket by calling
ServerSocket.ServerSocket(). |
UnifiedServerSocket(X509Util x509Util,
boolean allowInsecureConnection,
int port)
Creates a unified server socket bound to the specified port by calling
ServerSocket.ServerSocket(int). |
UnifiedServerSocket(X509Util x509Util,
boolean allowInsecureConnection,
int port,
int backlog)
Creates a unified server socket bound to the specified port, with the specified backlog, by calling
ServerSocket.ServerSocket(int, int). |
UnifiedServerSocket(X509Util x509Util,
boolean allowInsecureConnection,
int port,
int backlog,
InetAddress bindAddr)
Creates a unified server socket bound to the specified port, with the specified backlog, and local IP address
to bind to, by calling
ServerSocket.ServerSocket(int, int, InetAddress). |
| Modifier and Type | Method and Description |
|---|---|
Socket |
accept() |
bind, bind, close, getChannel, getInetAddress, getLocalPort, getLocalSocketAddress, getReceiveBufferSize, getReuseAddress, getSoTimeout, implAccept, isBound, isClosed, setPerformancePreferences, setReceiveBufferSize, setReuseAddress, setSocketFactory, setSoTimeout, toStringpublic UnifiedServerSocket(X509Util x509Util, boolean allowInsecureConnection) throws IOException
ServerSocket.ServerSocket().
Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
the allowInsecureConnection parameter.x509Util - the X509Util that provides the SSLContext to use for secure connections.allowInsecureConnection - if true, accept plaintext connections, otherwise close them.IOException - if ServerSocket.ServerSocket() throws.public UnifiedServerSocket(X509Util x509Util, boolean allowInsecureConnection, int port) throws IOException
ServerSocket.ServerSocket(int).
Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
the allowInsecureConnection parameter.x509Util - the X509Util that provides the SSLContext to use for secure connections.allowInsecureConnection - if true, accept plaintext connections, otherwise close them.port - the port number, or 0 to use a port number that is automatically allocated.IOException - if ServerSocket.ServerSocket(int) throws.public UnifiedServerSocket(X509Util x509Util, boolean allowInsecureConnection, int port, int backlog) throws IOException
ServerSocket.ServerSocket(int, int).
Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
the allowInsecureConnection parameter.x509Util - the X509Util that provides the SSLContext to use for secure connections.allowInsecureConnection - if true, accept plaintext connections, otherwise close them.port - the port number, or 0 to use a port number that is automatically allocated.backlog - requested maximum length of the queue of incoming connections.IOException - if ServerSocket.ServerSocket(int, int) throws.public UnifiedServerSocket(X509Util x509Util, boolean allowInsecureConnection, int port, int backlog, InetAddress bindAddr) throws IOException
ServerSocket.ServerSocket(int, int, InetAddress).
Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
the allowInsecureConnection parameter.x509Util - the X509Util that provides the SSLContext to use for secure connections.allowInsecureConnection - if true, accept plaintext connections, otherwise close them.port - the port number, or 0 to use a port number that is automatically allocated.backlog - requested maximum length of the queue of incoming connections.bindAddr - the local InetAddress the server will bind to.IOException - if ServerSocket.ServerSocket(int, int, InetAddress) throws.public Socket accept() throws IOException
accept in class ServerSocketIOExceptionCopyright © 2008–2021 The Apache Software Foundation. All rights reserved.