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) ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.