public abstract class SSLSocketFactory extends SocketFactory
SSLSocketFactorys create
SSLSockets.
SSLSocket
| Constructor and Description |
|---|
SSLSocketFactory()
Constructor is used only by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
Socket |
createSocket(Socket
Creates a server mode
Socket layered over an existing connected socket, and is able to read data which has already been consumed/removed from the
Socket's underlying
InputStream.
|
abstract Socket |
createSocket(Socket
Returns a socket layered over an existing socket connected to the named host, at the given port.
|
static SocketFactory |
getDefault()
Returns the default SSL socket factory.
|
abstract String |
getDefaultCipherSuites()
Returns the list of cipher suites which are enabled by default.
|
abstract String |
getSupportedCipherSuites()
Returns the names of the cipher suites which could be enabled for use on an SSL connection.
|
createSocket, createSocket, createSocket, createSocket, createSocketpublic SSLSocketFactory()
public static SocketFactorygetDefault()
The first time this method is called, the security property "ssl.SocketFactory.provider" is examined. If it is non-null, a class by that name is loaded and instantiated. If that is successful and the object is an instance of SSLSocketFactory, it is made the default SSL socket factory.
Otherwise, this method returns SSLContext.getDefault().getSocketFactory(). If that call fails, an inoperative factory is returned.
SocketFactory
SSLContext.getDefault()
public abstract String[] getDefaultCipherSuites()
getSupportedCipherSuites()
public abstract String[] getSupportedCipherSuites()
getDefaultCipherSuites()
public abstract SocketcreateSocket(Socket s, String host, int port, boolean autoClose) throws IOException
s - the existing socket
host - the server host
port - the server port
autoClose - close the underlying socket when this socket is closed
IOException - if an I/O error occurs when creating the socket
NullPointerException - if the parameter s is null
public SocketcreateSocket(Socket s, InputStream consumed, boolean autoClose) throws IOException
Socket layered over an existing connected socket, and is able to read data which has already been consumed/removed from the
Socket's underlying
InputStream.
This method can be used by a server application that needs to observe the inbound data but still create valid SSL/TLS connections: for example, inspection of Server Name Indication (SNI) extensions (See section 3 of TLS Extensions (RFC6066)). Data that has been already removed from the underlying InputStream should be loaded into the consumed stream before this method is called, perhaps using a ByteArrayInputStream. When this Socket begins handshaking, it will read all of the data in consumed until it reaches EOF, then all further data is read from the underlying InputStream as usual.
The returned socket is configured using the socket options established for this factory, and is set to use server mode when handshaking (see SSLSocket).
s - the existing socket
consumed - the consumed inbound network data that has already been removed from the existing
Socket
InputStream. This parameter may be
null if no data has been removed.
autoClose - close the underlying socket when this socket is closed.
Socket compliant with the socket options established for this factory
IOException - if an I/O error occurs when creating the socket
UnsupportedOperationException - if the underlying provider does not implement the operation
NullPointerException - if
s is
null