IBM WebSphere Application ServerTM
Release 8

com.ibm.websphere.ssl.protocol
Class SSLSocketFactory

java.lang.Object
  extended by javax.net.SocketFactory
      extended by javax.net.ssl.SSLSocketFactory
          extended by com.ibm.websphere.ssl.protocol.SSLSocketFactory

public class SSLSocketFactory
extends javax.net.ssl.SSLSocketFactory

This class is for creating SSLSockets. It utilizes the com.ibm.websphere.ssl.JSSEHelper APIs to retrieve WebSphere SSL configuration information. You can pass in a Properties object containing SSL properties, or an SSL alias, or allow it to return the default SSLSocketFactory.

Since:
WAS 6.1
Version:
1.0
See Also:
JSSEHelper

Field Summary
protected  boolean default_constructor
           
protected  java.util.Properties props
           
 
Constructor Summary
SSLSocketFactory()
           This is the default constructor which will retrieve the default SSL configuration for creating Sockets.
SSLSocketFactory(java.util.Properties sslprops)
           This constructor allows you to pass in a set of SSL properties used for creating Sockets.
SSLSocketFactory(java.lang.String alias)
           This constructor allows you to pass in an SSL alias to retrieve an SSL configuration other than the default for creating Sockets.
SSLSocketFactory(java.lang.String alias, java.util.Map connectionInfo)
           This constructor allows you to pass in an SSL alias, and/or connectionInfo.
 
Method Summary
 java.net.Socket createSocket()
           Creates an unconnected socket.
 java.net.Socket createSocket(java.net.InetAddress host, int port)
           Creates a socket and connects it to the specified port number at the specified address.
 java.net.Socket createSocket(java.net.InetAddress address, int port, java.net.InetAddress localAddress, int localPort)
           Creates a socket and connects it to the specified remote host on the specified remote port.
 java.net.Socket createSocket(java.net.Socket s, java.lang.String host, int port, boolean autoClose)
           Returns a socket layered over an existing socket connected to the named host, at the given port.
 java.net.Socket createSocket(java.lang.String host, int port)
           Creates a socket and connects it to the specified remote host at the specified remote port.
 java.net.Socket createSocket(java.lang.String host, int port, java.net.InetAddress localHost, int localPort)
           Creates a socket and connects it to the specified remote host on the specified remote port.
static javax.net.SocketFactory getDefault()
           Returns a copy of the environment's default socket factory.
 java.lang.String[] getDefaultCipherSuites()
           Returns the list of cipher suites which are enabled by default.
 java.lang.String[] getSupportedCipherSuites()
          Returns the names of the cipher suites which could be enabled for use on an SSL connection created by this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

props

protected java.util.Properties props

default_constructor

protected boolean default_constructor
Constructor Detail

SSLSocketFactory

public SSLSocketFactory()

This is the default constructor which will retrieve the default SSL configuration for creating Sockets. It first tries to find the javax.net.ssl.* properties and if not present will choose the default SSL configuration.


SSLSocketFactory

public SSLSocketFactory(java.lang.String alias)

This constructor allows you to pass in an SSL alias to retrieve an SSL configuration other than the default for creating Sockets. If the alias is not found, the default SSL configuration will be used.

Parameters:
String - alias

SSLSocketFactory

public SSLSocketFactory(java.util.Properties sslprops)

This constructor allows you to pass in a set of SSL properties used for creating Sockets.

Parameters:
java.util.Properties - sslprops

SSLSocketFactory

public SSLSocketFactory(java.lang.String alias,
                        java.util.Map connectionInfo)

This constructor allows you to pass in an SSL alias, and/or connectionInfo. depending upon what is available. You may specified null for any parameters. If the connectionInfo is specified, a check will be made to determine if a dynamic association between protocol/host/port has been made for this particular protocol and target host/port. If there is not dynamic association and an SSL alias is specified, a direct selection will occur. Finally, a group selection will occur where the localEndPoint (contained in the connectionInfo) will be used to determine if an SSL config is associated with that endpoint. If not, it will move up the topology to determine the next management scope that has an SSL configuration associated which this EndPoint falls under (e.g., server -> node -> cell, etc.).

Parameters:
String - alias
java.util.Map - connectionInfo
See Also:
JSSEHelper
Method Detail

getDefault

public static javax.net.SocketFactory getDefault()

Returns a copy of the environment's default socket factory.


getDefaultCipherSuites

public java.lang.String[] getDefaultCipherSuites()

Returns the list of cipher suites which are enabled by default.

Specified by:
getDefaultCipherSuites in class javax.net.ssl.SSLSocketFactory

getSupportedCipherSuites

public java.lang.String[] getSupportedCipherSuites()
Returns the names of the cipher suites which could be enabled for use on an SSL connection created by this factory.

Specified by:
getSupportedCipherSuites in class javax.net.ssl.SSLSocketFactory

createSocket

public java.net.Socket createSocket()
                             throws java.io.IOException

Creates an unconnected socket.

Overrides:
createSocket in class javax.net.SocketFactory
Returns:
java.net.Socket
Throws:
java.io.IOException

createSocket

public java.net.Socket createSocket(java.net.Socket s,
                                    java.lang.String host,
                                    int port,
                                    boolean autoClose)
                             throws java.io.IOException,
                                    java.net.UnknownHostException

Returns a socket layered over an existing socket connected to the named host, at the given port. The properties used to create the SSL socket are based upon the what was passed into the SSLSocketFactory constructor.

Specified by:
createSocket in class javax.net.ssl.SSLSocketFactory
Parameters:
java.net.Socket - s - existing socket
String - host - target host
int - port - target port
boolean - autoClose - close the underlying socket when this socket is closed
Returns:
java.net.Socket
Throws:
java.io.IOException
java.net.UnknownHostException

createSocket

public java.net.Socket createSocket(java.net.InetAddress host,
                                    int port)
                             throws java.io.IOException

Creates a socket and connects it to the specified port number at the specified address. The properties used to create the SSL socket are based upon the what was passed into the SSLSocketFactory constructor.

Specified by:
createSocket in class javax.net.SocketFactory
Parameters:
InetAddress - host - target host
int - port - target port
Returns:
java.net.Socket
Throws:
java.io.IOException

createSocket

public java.net.Socket createSocket(java.net.InetAddress address,
                                    int port,
                                    java.net.InetAddress localAddress,
                                    int localPort)
                             throws java.io.IOException

Creates a socket and connects it to the specified remote host on the specified remote port. The socket will also be bound to the local address and port supplied. This socket is configured using the socket options established for this factory. The properties used to create the SSL socket are based upon the what was passed into the SSLSocketFactory constructor.

Specified by:
createSocket in class javax.net.SocketFactory
Parameters:
InetAddress - host - target host
int - port - target port
InetAddress - localAddress - local host
int - localPort - local port
Returns:
java.net.Socket
Throws:
java.io.IOException

createSocket

public java.net.Socket createSocket(java.lang.String host,
                                    int port)
                             throws java.io.IOException,
                                    java.net.UnknownHostException

Creates a socket and connects it to the specified remote host at the specified remote port. This socket is configured using the socket options established for this factory. The properties used to create the SSL socket are based upon the what was passed into the SSLSocketFactory constructor.

Specified by:
createSocket in class javax.net.SocketFactory
Parameters:
InetAddress - host - target host
int - port - target port
InetAddress - localAddress - local host
int - localPort - local port
Returns:
java.net.Socket
Throws:
java.io.IOException
java.net.UnknownHostException

createSocket

public java.net.Socket createSocket(java.lang.String host,
                                    int port,
                                    java.net.InetAddress localHost,
                                    int localPort)
                             throws java.io.IOException,
                                    java.net.UnknownHostException

Creates a socket and connects it to the specified remote host on the specified remote port. The socket will also be bound to the local address and port supplied. This socket is configured using the socket options established for this factory. The properties used to create the SSL socket are based upon the what was passed into the SSLSocketFactory constructor.

Specified by:
createSocket in class javax.net.SocketFactory
Parameters:
String - host - target host
int - port - target port
InetAddress - localAddress - local host
int - localPort - local port
Returns:
java.net.Socket
Throws:
java.io.IOException
java.net.UnknownHostException

IBM WebSphere Application ServerTM
Release 8