Creating Secure Client Sockets
If
you don’t care very much about the underlying details, using an
encrypted SSL socket to talk to an existing secure server is truly
straightforward. Rather than constructing a
java.net.Socket object with a constructor, you get
one from a javax.net.ssl.SSLSocketFactory by using
its createSocket( ) method.
SSLSocketFactory is an abstract class that follows
the abstract factory design pattern:
public abstract class SSLSocketFactory extends SocketFactory
Since the
SSLFactorySocket
class is itself abstract, you get an
instance of it by invoking the static
SSLSocketFactory.getDefault( )
method:
public static SocketFactory getDefault( ) throws InstantiationException
This either returns an instance of
SSLSocketFactory or throws an
InstantiationException if no concrete subclass can
be found. Once you have a reference to the factory, use one of the
five overloaded createSocket( ) methods to build
an SSLSocket:
public abstract Socket createSocket(String host, int port) throws IOException, UnknownHostException public abstract Socket createSocket(InetAddress host, int port) throws IOException public abstract Socket createSocket(String host, int port, InetAddress interface, int localPort) throws IOException, UnknownHostException public abstract Socket createSocket(InetAddress host, int port, InetAddress interface, int localPort) throws IOException, UnknownHostException public abstract Socket createSocket(Socket proxy, String host, int port, boolean autoClose) ...