javax.net.ssl

Class SSLSocket


public abstract class SSLSocket
extends Socket

A socket that communicates over the secure socket layer protocol.

Constructor Summary

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

Method Summary

abstract void
addHandshakeCompletedListener(HandshakeCompletedListener listener)
Adds a handshake completed listener that wants to be notified when the SSL handshake completes.
abstract boolean
getEnableSessionCreation()
Returns whether or not sessions will be created by this socket, and thus allow sessions to be continued later.
abstract String[]
getEnabledCipherSuites()
Returns the list of currently enabled cipher suites.
abstract String[]
getEnabledProtocols()
Returns the list of enabled SSL protocols.
abstract boolean
getNeedClientAuth()
Returns whether or not this socket will require connecting clients to authenticate themselves.
abstract SSLSession
getSession()
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 boolean
getUseClientMode()
Returns whether or not this socket will connect in client mode.
abstract boolean
getWantClientAuth()
Returns whether or not this socket will request that connecting clients authenticate themselves.
abstract void
removeHandshakeCompletedListener(HandshakeCompletedListener listener)
Removes a handshake listener from this socket.
abstract void
setEnableSessionCreation(boolean enable)
Sets whether or not sessions will be created by this socket.
abstract void
setEnabledCipherSuites(String[] suites)
Sets the list of enabled cipher suites.
abstract void
setEnabledProtocols(String[] protocols)
Sets the list of enabled SSL protocols.
abstract void
setNeedClientAuth(boolean needAuth)
Sets whether or not this socket will require connecting clients to authenticate themselves.
abstract void
setUseClientMode(boolean clientMode)
Sets whether or not this socket will connect in client mode.
abstract void
setWantClientAuth(boolean wantAuth)
Sets whether or not this socket will request that connecting clients authenticate themselves.
abstract void
startHandshake()
Explicitly begins the handshake, or, if the handshake has already completed, requests that the handshake be repeated.

Constructor Details

SSLSocket

protected SSLSocket()

SSLSocket

protected SSLSocket(InetAddress address,
                    int port)
            throws IOException

SSLSocket

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

SSLSocket

protected SSLSocket(String host,
                    int port)
            throws IOException,
                   UnknownHostException

SSLSocket

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

Method Details

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.

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.

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.

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.

setEnableSessionCreation

public abstract void setEnableSessionCreation(boolean enable)
Sets whether or not sessions will be created by this socket.
Parameters:
enable - The new value.

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.

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()
            throws IOException
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.