Author: markt Date: Tue Jul 26 20:56:27 2011 New Revision: 1151240 URL: http://svn.apache.org/viewvc?rev=1151240&view=rev Log: Fix SSL unit test failures with APR/native
Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java?rev=1151240&r1=1151239&r2=1151240&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java (original) +++ tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java Tue Jul 26 20:56:27 2011 @@ -20,6 +20,9 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; import java.security.KeyManagementException; import java.security.KeyStore; import java.security.NoSuchAlgorithmException; @@ -29,6 +32,8 @@ import javax.net.ssl.KeyManager; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLServerSocketFactory; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.X509TrustManager; @@ -132,9 +137,9 @@ public final class TesterSupport { SSLContext sc = SSLContext.getInstance("SSL"); sc.init(TesterSupport.getUser1KeyManagers(), TesterSupport.getTrustManagers(), - null); + null); javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory( - sc.getSocketFactory()); + new TesterSSLSocketFactory(sc.getSocketFactory())); } catch (Exception e) { e.printStackTrace(); } @@ -261,4 +266,67 @@ public final class TesterSupport { // NOOP - Trust everything } } + + private static class TesterSSLSocketFactory + extends SSLSocketFactory { + + private SSLSocketFactory factory; + + public TesterSSLSocketFactory(SSLSocketFactory factory) { + this.factory = factory; + } + + @Override + public String[] getDefaultCipherSuites() { + return factory.getDefaultCipherSuites(); + } + + @Override + public String[] getSupportedCipherSuites() { + return factory.getSupportedCipherSuites(); + } + + @Override + public Socket createSocket(Socket socket, String s, int i, boolean flag) + throws IOException { + SSLSocket result = + (SSLSocket) factory.createSocket(socket, s, i, flag); + result.setEnabledProtocols(new String[] { "SSLv3" } ); + return result; + } + + @Override + public Socket createSocket(String s, int i) throws IOException, + UnknownHostException { + SSLSocket result = (SSLSocket) factory.createSocket(s, i); + result.setEnabledProtocols(new String[] { "SSLv3" } ); + return result; + } + + @Override + public Socket createSocket(String s, int i, InetAddress inetaddress, + int j) throws IOException, UnknownHostException { + SSLSocket result = + (SSLSocket) factory.createSocket(s, i, inetaddress, j); + result.setEnabledProtocols(new String[] { "SSLv3" } ); + return result; + } + + @Override + public Socket createSocket(InetAddress inetaddress, int i) + throws IOException { + SSLSocket result = (SSLSocket) factory.createSocket(inetaddress, i); + result.setEnabledProtocols(new String[] { "SSLv3" } ); + return result; + } + + @Override + public Socket createSocket(InetAddress inetaddress, int i, + InetAddress inetaddress1, int j) throws IOException { + SSLSocket result = (SSLSocket) factory.createSocket( + inetaddress, i, inetaddress1, j); + result.setEnabledProtocols(new String[] { "SSLv3" } ); + return result; + } + } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org