1 23 24 package org.continuent.sequoia.common.net; 25 26 import java.io.IOException ; 27 import java.io.Serializable ; 28 import java.net.InetAddress ; 29 import java.net.Socket ; 30 import java.net.UnknownHostException ; 31 32 import javax.net.ssl.SSLSocket; 33 import javax.net.ssl.SSLSocketFactory; 34 35 45 public class AuthenticatedSocketFactory extends SSLSocketFactory 46 implements 47 Serializable 48 { 49 50 private static final long serialVersionUID = 3408254276587727154L; 51 52 private SSLSocketFactory factory; 53 54 59 public AuthenticatedSocketFactory(SSLSocketFactory factory) 60 { 61 this.factory = factory; 62 } 63 64 67 public Socket createSocket(String host, int port) throws IOException , 68 UnknownHostException 69 { 70 SSLSocket socket = (SSLSocket) factory.createSocket(host, port); 71 socket.setNeedClientAuth(true); 72 return socket; 73 } 74 75 78 public Socket createSocket(InetAddress host, int port) throws IOException 79 { 80 SSLSocket socket = (SSLSocket) factory.createSocket(host, port); 81 socket.setNeedClientAuth(true); 82 return socket; 83 } 84 85 89 public Socket createSocket(String host, int port, InetAddress localAddress, 90 int localPort) throws IOException , UnknownHostException 91 { 92 SSLSocket socket = (SSLSocket) factory.createSocket(host, port, 93 localAddress, localPort); 94 socket.setNeedClientAuth(true); 95 return socket; 96 } 97 98 102 public Socket createSocket(InetAddress address, int port, 103 InetAddress localAddress, int localPort) throws IOException 104 { 105 SSLSocket socket = (SSLSocket) factory.createSocket(address, port, 106 localAddress, localPort); 107 socket.setNeedClientAuth(true); 108 return socket; 109 } 110 111 115 public Socket createSocket(Socket s, String host, int port, boolean autoClose) 116 throws IOException 117 { 118 SSLSocket socket = (SSLSocket) factory.createSocket(s, host, port, 119 autoClose); 120 socket.setNeedClientAuth(true); 121 return socket; 122 } 123 124 127 public String [] getDefaultCipherSuites() 128 { 129 return factory.getDefaultCipherSuites(); 130 } 131 132 135 public String [] getSupportedCipherSuites() 136 { 137 return factory.getDefaultCipherSuites(); 138 } 139 140 } 141 | Popular Tags |