00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 package org.objectweb.cjdbc.common.net;
00026
00027 import java.io.IOException;
00028 import java.io.Serializable;
00029 import java.net.InetAddress;
00030 import java.net.Socket;
00031 import java.net.UnknownHostException;
00032
00033 import javax.net.ssl.SSLSocket;
00034 import javax.net.ssl.SSLSocketFactory;
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 public class AuthenticatedSocketFactory extends SSLSocketFactory
00047 implements
00048 Serializable
00049 {
00050
00051 private SSLSocketFactory factory;
00052
00053
00054
00055
00056
00057
00058 public AuthenticatedSocketFactory(SSLSocketFactory factory)
00059 {
00060 this.factory = factory;
00061 }
00062
00063
00064
00065
00066 public Socket createSocket(String host, int port) throws IOException,
00067 UnknownHostException
00068 {
00069 SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
00070 socket.setNeedClientAuth(true);
00071 return socket;
00072 }
00073
00074
00075
00076
00077 public Socket createSocket(InetAddress host, int port) throws IOException
00078 {
00079 SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
00080 socket.setNeedClientAuth(true);
00081 return socket;
00082 }
00083
00084
00085
00086
00087
00088 public Socket createSocket(String host, int port, InetAddress localAddress,
00089 int localPort) throws IOException, UnknownHostException
00090 {
00091 SSLSocket socket = (SSLSocket) factory.createSocket(host, port,
00092 localAddress, localPort);
00093 socket.setNeedClientAuth(true);
00094 return socket;
00095 }
00096
00097
00098
00099
00100
00101 public Socket createSocket(InetAddress address, int port,
00102 InetAddress localAddress, int localPort) throws IOException
00103 {
00104 SSLSocket socket = (SSLSocket) factory.createSocket(address, port,
00105 localAddress, localPort);
00106 socket.setNeedClientAuth(true);
00107 return socket;
00108 }
00109
00110
00111
00112
00113
00114 public Socket createSocket(Socket s, String host, int port, boolean autoClose)
00115 throws IOException
00116 {
00117 SSLSocket socket = (SSLSocket) factory.createSocket(s, host, port,
00118 autoClose);
00119 socket.setNeedClientAuth(true);
00120 return socket;
00121 }
00122
00123
00124
00125
00126 public String[] getDefaultCipherSuites()
00127 {
00128 return factory.getDefaultCipherSuites();
00129 }
00130
00131
00132
00133
00134 public String[] getSupportedCipherSuites()
00135 {
00136 return factory.getDefaultCipherSuites();
00137 }
00138
00139 }