javax.net.ssl
Class SSLServerSocket

java.lang.Object
  extended by java.net.ServerSocket
      extended by javax.net.ssl.SSLServerSocket

public abstract class SSLServerSocket
extends ServerSocket

A server socket that allows clients to connect via the SSL protocol.


Constructor Summary
protected SSLServerSocket()
           
protected SSLServerSocket(int port)
           
protected SSLServerSocket(int port, int backlog)
           
protected SSLServerSocket(int port, int backlog, InetAddress bindAddress)
           
 
Method Summary
abstract  String[] getEnabledCipherSuites()
          Returns the list of cihper suites that are currently enabled in this server socket.
abstract  String[] getEnabledProtocols()
          Returns the list of enabled protocols, such as "SSLv3" and "TLSv1".
abstract  boolean getEnableSessionCreation()
          Returns whether or not sessions will be created, i.e., whether or not this server socket will allow SSL session resumption.
abstract  boolean getNeedClientAuth()
          Returns whether or not this server socket will require clients to authenticate themselves, such as through a certificate.
abstract  String[] getSupportedCipherSuites()
          Returns a list of cipher suites that this server socket supports.
abstract  String[] getSupportedProtocols()
          Returns a list of SSL protocols supported by this server socket.
abstract  boolean getUseClientMode()
          Returns whether or not sockets accepted by this server socket will do their handshake as the client-side.
abstract  boolean getWantClientAuth()
          Returns whether or not this socket will ask for, but not require, that connecting clients authenticate themselves.
abstract  void setEnabledCipherSuites(String[] suites)
          Sets the list enabled cipher suites.
abstract  void setEnabledProtocols(String[] protocols)
          Sets the list of enabled protocols.
abstract  void setEnableSessionCreation(boolean enabled)
          Sets whether or not sessions will be created.
abstract  void setNeedClientAuth(boolean needAuth)
          Enabled or disables the requirement that clients authenticate themselves.
abstract  void setUseClientMode(boolean clientMode)
          Sets whether or not sockets accepted by this server socket will be created in client mode.
abstract  void setWantClientAuth(boolean wantAuth)
          Sets whether or not this server socket will want client authentication.
 
Methods inherited from class java.net.ServerSocket
accept, bind, bind, close, getChannel, getInetAddress, getLocalPort, getLocalSocketAddress, getReceiveBufferSize, getReuseAddress, getSoTimeout, implAccept, isBound, isClosed, setReceiveBufferSize, setReuseAddress, setSocketFactory, setSoTimeout, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SSLServerSocket

protected SSLServerSocket()
                   throws IOException
Throws:
IOException

SSLServerSocket

protected SSLServerSocket(int port)
                   throws IOException
Throws:
IOException

SSLServerSocket

protected SSLServerSocket(int port,
                          int backlog)
                   throws IOException
Throws:
IOException

SSLServerSocket

protected SSLServerSocket(int port,
                          int backlog,
                          InetAddress bindAddress)
                   throws IOException
Throws:
IOException
Method Detail

getEnabledCipherSuites

public abstract String[] getEnabledCipherSuites()
Returns the list of cihper suites that are currently enabled in this server socket. Sockets accepted by this server socket will only have these suites enabled.

Returns:
The enabled cipher suites.

setEnabledCipherSuites

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

Parameters:
suites - The cipher suites to enable.

getEnabledProtocols

public abstract String[] getEnabledProtocols()
Returns the list of enabled protocols, such as "SSLv3" and "TLSv1".

Returns:
The enabled protocols.

setEnabledProtocols

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

Parameters:
protocols - The list of protocols to enable.

getEnableSessionCreation

public abstract boolean getEnableSessionCreation()
Returns whether or not sessions will be created, i.e., whether or not this server socket will allow SSL session resumption.

Returns:
True if sessions will be created.

setEnableSessionCreation

public abstract void setEnableSessionCreation(boolean enabled)
Sets whether or not sessions will be created.

Parameters:
enabled - The new enabled value.

getNeedClientAuth

public abstract boolean getNeedClientAuth()
Returns whether or not this server socket will require clients to authenticate themselves, such as through a certificate.

Returns:
True if clients must authenticate themselves.

setNeedClientAuth

public abstract void setNeedClientAuth(boolean needAuth)
Enabled or disables the requirement that clients authenticate themselves. When this is set to true, connections will be rejected if connecting clients do not provide proper authentication.

Parameters:
needAuth - The new need auth value.

getUseClientMode

public abstract boolean getUseClientMode()
Returns whether or not sockets accepted by this server socket will do their handshake as the client-side. The default is false.

Returns:
True if client mode will be used.

setUseClientMode

public abstract void setUseClientMode(boolean clientMode)
Sets whether or not sockets accepted by this server socket will be created in client mode.

Parameters:
clientMode - The new client mode value.

getWantClientAuth

public abstract boolean getWantClientAuth()
Returns whether or not this socket will ask for, but not require, that connecting clients authenticate themselves. Clients that do not provide authentication they will still be allowed to connect.

Returns:
True if this server socket wants client authentication.

setWantClientAuth

public abstract void setWantClientAuth(boolean wantAuth)
Sets whether or not this server socket will want client authentication.

Parameters:
wantAuth - The new want auth value.

getSupportedCipherSuites

public abstract String[] getSupportedCipherSuites()
Returns a list of cipher suites that this server socket supports.

Returns:
The list of supported suites.

getSupportedProtocols

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

Returns:
The list of supported protocols.