javax.net.ssl

Class SSLSocket

public abstract class SSLSocket extends Socket

A socket that communicates over the secure socket layer protocol.
Constructor Summary
protected SSLSocket()
protected SSLSocket(String host, int port)
protected SSLSocket(InetAddress address, int port)
protected SSLSocket(String host, int port, InetAddress localAddr, int localPort)
protected SSLSocket(InetAddress address, int port, InetAddress localAddr, int localPort)
Method Summary
abstract voidaddHandshakeCompletedListener(HandshakeCompletedListener listener)
Adds a handshake completed listener that wants to be notified when the SSL handshake completes.
abstract String[]getEnabledCipherSuites()
Returns the list of currently enabled cipher suites.
abstract String[]getEnabledProtocols()
Returns the list of enabled SSL protocols.
abstract booleangetEnableSessionCreation()
Returns whether or not sessions will be created by this socket, and thus allow sessions to be continued later.
abstract booleangetNeedClientAuth()
Returns whether or not this socket will require connecting clients to authenticate themselves.
abstract SSLSessiongetSession()
Returns this socket's session object.
abstract String[]getSupportedCipherSuites()
Returns the list of cipher suites supported by this socket.
abstract String[]getSupportedProtocols()
Returns the list of protocols supported by this socket.
abstract booleangetUseClientMode()
Returns whether or not this socket will connect in client mode.
abstract booleangetWantClientAuth()
Returns whether or not this socket will request that connecting clients authenticate themselves.
abstract voidremoveHandshakeCompletedListener(HandshakeCompletedListener listener)
Removes a handshake listener from this socket.
abstract voidsetEnabledCipherSuites(String[] suites)
Sets the list of enabled cipher suites.
abstract voidsetEnabledProtocols(String[] protocols)
Sets the list of enabled SSL protocols.
abstract voidsetEnableSessionCreation(boolean enable)
Sets whether or not sessions will be created by this socket.
abstract voidsetNeedClientAuth(boolean needAuth)
Sets whether or not this socket will require connecting clients to authenticate themselves.
abstract voidsetUseClientMode(boolean clientMode)
Sets whether or not this socket will connect in client mode.
abstract voidsetWantClientAuth(boolean wantAuth)
Sets whether or not this socket will request that connecting clients authenticate themselves.
abstract voidstartHandshake()
Explicitly begins the handshake, or, if the handshake has already completed, requests that the handshake be repeated.

Constructor Detail

SSLSocket

protected SSLSocket()

SSLSocket

protected SSLSocket(String host, int port)

SSLSocket

protected SSLSocket(InetAddress address, int port)

SSLSocket

protected SSLSocket(String host, int port, InetAddress localAddr, int localPort)

SSLSocket

protected SSLSocket(InetAddress address, int port, InetAddress localAddr, int localPort)

Method Detail

addHandshakeCompletedListener

public abstract void addHandshakeCompletedListener(HandshakeCompletedListener listener)
Adds a handshake completed listener that wants to be notified when the SSL handshake completes.

Parameters: listener The listener to add.

getEnabledCipherSuites

public abstract String[] getEnabledCipherSuites()
Returns the list of currently enabled cipher suites.

Returns: The list of enabled cipher suites.

getEnabledProtocols

public abstract String[] getEnabledProtocols()
Returns the list of enabled SSL protocols.

Returns: The list of enabled protocols.

getEnableSessionCreation

public abstract boolean getEnableSessionCreation()
Returns whether or not sessions will be created by this socket, and thus allow sessions to be continued later.

Returns: Whether or not sessions will be created.

getNeedClientAuth

public abstract boolean getNeedClientAuth()
Returns whether or not this socket will require connecting clients to authenticate themselves. This value only applies to sockets in server mode.

Returns: Whether or not this socket requires client authentication.

getSession

public abstract SSLSession getSession()
Returns this socket's session object.

Returns: The session.

getSupportedCipherSuites

public abstract String[] getSupportedCipherSuites()
Returns the list of cipher suites supported by this socket.

Returns: The list of supported cipher suites.

getSupportedProtocols

public abstract String[] getSupportedProtocols()
Returns the list of protocols supported by this socket.

Returns: The list of supported protocols.

getUseClientMode

public abstract boolean getUseClientMode()
Returns whether or not this socket will connect in client mode.

Returns: True if this is a client socket.

getWantClientAuth

public abstract boolean getWantClientAuth()
Returns whether or not this socket will request that connecting clients authenticate themselves. This value only applies to sockets in server mode.

Returns: The want client auth value.

removeHandshakeCompletedListener

public abstract void removeHandshakeCompletedListener(HandshakeCompletedListener listener)
Removes a handshake listener from this socket.

Parameters: listener The listener to remove.

setEnabledCipherSuites

public abstract void setEnabledCipherSuites(String[] suites)
Sets the list of enabled cipher suites.

Parameters: suites The list of suites to enable.

setEnabledProtocols

public abstract void setEnabledProtocols(String[] protocols)
Sets the list of enabled SSL protocols.

Parameters: protocols The list of protocols to enable.

setEnableSessionCreation

public abstract void setEnableSessionCreation(boolean enable)
Sets whether or not sessions will be created by this socket.

Parameters: enable The new value.

setNeedClientAuth

public abstract void setNeedClientAuth(boolean needAuth)
Sets whether or not this socket will require connecting clients to authenticate themselves. This value only applies to sockets in server mode.

Parameters: needAuth The new need auth value.

setUseClientMode

public abstract void setUseClientMode(boolean clientMode)
Sets whether or not this socket will connect in client mode.

Parameters: clientMode The new value.

setWantClientAuth

public abstract void setWantClientAuth(boolean wantAuth)
Sets whether or not this socket will request that connecting clients authenticate themselves. This value only applies to sockets in server mode.

Parameters: wantAuth The new want auth value.

startHandshake

public abstract void startHandshake()
Explicitly begins the handshake, or, if the handshake has already completed, requests that the handshake be repeated.

The handshake will begin implicitly when any attempt to read or write to the socket is made.

Throws: IOException If an I/O or SSL error occurs.