javax.net.ssl
Class SSLSocket

java.lang.Object
  extended by java.net.Socket
      extended by javax.net.ssl.SSLSocket

public abstract class SSLSocket
extends Socket

A socket that communicates over the secure socket layer protocol.


Constructor Summary
protected SSLSocket()
           
protected SSLSocket(InetAddress address, int port)
           
protected SSLSocket(InetAddress address, int port, InetAddress localAddr, int localPort)
           
protected SSLSocket(String host, int port)
           
protected 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  String[] getEnabledCipherSuites()
          Returns the list of currently enabled cipher suites.
abstract  String[] getEnabledProtocols()
          Returns the list of enabled SSL protocols.
abstract  boolean getEnableSessionCreation()
          Returns whether or not sessions will be created by this socket, and thus allow sessions to be continued later.
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 setEnabledCipherSuites(String[] suites)
          Sets the list of enabled cipher suites.
abstract  void setEnabledProtocols(String[] protocols)
          Sets the list of enabled SSL protocols.
abstract  void setEnableSessionCreation(boolean enable)
          Sets whether or not sessions will be created by this socket.
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.
 
Methods inherited from class java.net.Socket
bind, close, connect, connect, getChannel, getInetAddress, getInputStream, getKeepAlive, getLocalAddress, getLocalPort, getLocalSocketAddress, getOOBInline, getOutputStream, getPort, getReceiveBufferSize, getRemoteSocketAddress, getReuseAddress, getSendBufferSize, getSoLinger, getSoTimeout, getTcpNoDelay, getTrafficClass, isBound, isClosed, isConnected, isInputShutdown, isOutputShutdown, sendUrgentData, setKeepAlive, setOOBInline, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSocketImplFactory, setSoLinger, setSoTimeout, setTcpNoDelay, setTrafficClass, shutdownInput, shutdownOutput, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SSLSocket

protected SSLSocket()

SSLSocket

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

SSLSocket

protected SSLSocket(InetAddress address,
                    int port)
             throws IOException
Throws:
IOException

SSLSocket

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

SSLSocket

protected SSLSocket(InetAddress address,
                    int port,
                    InetAddress localAddr,
                    int localPort)
             throws IOException
Throws:
IOException
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.

removeHandshakeCompletedListener

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

Parameters:
listener - The listener to remove.

getEnabledCipherSuites

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

Returns:
The list of enabled cipher suites.

setEnabledCipherSuites

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

Parameters:
suites - The list of suites to enable.

getEnabledProtocols

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

Returns:
The list of enabled protocols.

setEnabledProtocols

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

Parameters:
protocols - The list of protocols to enable.

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.

setEnableSessionCreation

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

Parameters:
enable - The new value.

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.

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.

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.

setUseClientMode

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

Parameters:
clientMode - The new value.

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.

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.

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