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: [email protected]
For additional commands, e-mail: [email protected]