You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by le...@apache.org on 2007/10/11 04:25:16 UTC
svn commit: r583670 - in
/harmony/enhanced/classlib/branches/java6/modules/x-net/src:
main/java/javax/net/ssl/ main/java/org/apache/harmony/xnet/provider/jsse/
test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/
test/java/javax/net/ssl/ test/sup...
Author: leoli
Date: Wed Oct 10 19:25:15 2007
New Revision: 583670
URL: http://svn.apache.org/viewvc?rev=583670&view=rev
Log:
Apply patch for ([java6][classlib][x-net]New Features about SSLParameters).
Added:
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLParameters.java (with props)
Modified:
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContext.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContextSpi.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLEngine.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLSocket.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLContext1Test.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLEngineTest.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLSocketTest.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/java/javax/net/ssl/MySSLContextSpi.java
harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContext.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContext.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContext.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContext.java Wed Oct 10 19:25:15 2007
@@ -22,9 +22,11 @@
package javax.net.ssl;
+import java.security.AccessController;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
+import java.security.Permission;
import java.security.Provider;
import java.security.SecureRandom;
import java.security.Security;
@@ -47,6 +49,7 @@
// Storeused provider
private final Provider provider;
+ private static SSLContext defaultSSLContext;
// Storeused SSLContextSpi implementation
private final SSLContextSpi spiImpl;
@@ -195,5 +198,29 @@
*/
public final SSLSessionContext getClientSessionContext() {
return spiImpl.engineGetClientSessionContext();
+ }
+
+ public final SSLParameters getDefaultSSLParameters() {
+ return spiImpl.engineGetDefaultSSLParameters();
+ }
+
+ public final SSLParameters getSupportedSSLParameters() {
+ return spiImpl.engineGetSupportedSSLParameters();
+ }
+
+ public static SSLContext getDefault() throws NoSuchAlgorithmException {
+ if (defaultSSLContext == null)
+ defaultSSLContext = SSLContext.getInstance("Default");
+ return defaultSSLContext;
+ }
+
+ public static void setDefault(SSLContext sslContext) {
+ if (sslContext == null)
+ throw new NullPointerException();
+ SecurityManager securityManager = System.getSecurityManager();
+ if (securityManager != null)
+ securityManager.checkPermission(new SSLPermission(
+ "setDefaultSSLContext"));
+ defaultSSLContext = sslContext;
}
}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContextSpi.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContextSpi.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContextSpi.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLContextSpi.java Wed Oct 10 19:25:15 2007
@@ -22,9 +22,12 @@
package javax.net.ssl;
+import java.io.IOException;
import java.security.KeyManagementException;
import java.security.SecureRandom;
+import javax.net.SocketFactory;
+
/**
* @com.intel.drl.spec_ref
*
@@ -81,4 +84,62 @@
*/
protected abstract SSLSessionContext engineGetClientSessionContext();
+ protected SSLParameters engineGetDefaultSSLParameters() {
+ // Initially, a default set of cipher suites will be enabled on a new
+ // socket that represents the minimum suggested configuration
+ SSLParameters defaultSSLParameters = new SSLParameters();
+ SocketFactory sslSocketFactory = SSLSocketFactory.getDefault();
+ SSLSocket sslSocket = null;
+ try {
+ sslSocket = (SSLSocket) sslSocketFactory.createSocket();
+ if (sslSocket == null)
+ return null;
+ defaultSSLParameters.setCipherSuites(sslSocket
+ .getEnabledCipherSuites());
+ defaultSSLParameters.setProtocols(sslSocket.getEnabledProtocols());
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ throw new UnsupportedOperationException(
+ "the default SSL parameters could not be obtained");
+ } finally {
+ try {
+ if (sslSocket != null) {
+ sslSocket.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return defaultSSLParameters;
+ };
+
+ protected SSLParameters engineGetSupportedSSLParameters() {
+ SSLParameters supportSSLParameters = new SSLParameters();
+ SocketFactory sslSocketFactory = SSLSocketFactory.getDefault();
+ if (sslSocketFactory == null)
+ return null;
+ SSLSocket sslSocket = null;
+ try {
+ sslSocket = (SSLSocket) sslSocketFactory.createSocket();
+ if (sslSocket == null)
+ return null;
+ supportSSLParameters.setCipherSuites(sslSocket
+ .getSupportedCipherSuites());
+ supportSSLParameters
+ .setProtocols(sslSocket.getSupportedProtocols());
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ throw new UnsupportedOperationException(
+ "the supported SSL parameters could not be obtained");
+ } finally {
+ try {
+ if (sslSocket != null) {
+ sslSocket.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return supportSSLParameters;
+ };
}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLEngine.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLEngine.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLEngine.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLEngine.java Wed Oct 10 19:25:15 2007
@@ -204,6 +204,10 @@
*/
public abstract void setWantClientAuth(boolean want);
+ public abstract void setSSLParameters(SSLParameters sslP);
+
+ public abstract SSLParameters getSSLParameters();
+
/**
* @com.intel.drl.spec_ref
*
Added: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLParameters.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLParameters.java?rev=583670&view=auto
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLParameters.java (added)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLParameters.java Wed Oct 10 19:25:15 2007
@@ -0,0 +1,67 @@
+package javax.net.ssl;
+
+public class SSLParameters {
+
+ protected String[] enabledCipherSuites;
+
+ private String[] enabledProtocols;
+
+ private boolean need_client_auth;
+
+ private boolean want_client_auth;
+
+ public SSLParameters() {
+ enabledCipherSuites = null;
+ enabledProtocols = null;
+ need_client_auth = false;
+ want_client_auth = false;
+ };
+
+ public SSLParameters(String[] cipherSuites) {
+ this.enabledCipherSuites = cipherSuites;
+ }
+
+ public SSLParameters(String[] cipherSuites, String[] protocols) {
+ // input maybe is null
+ this.enabledCipherSuites = cipherSuites;
+ this.enabledCipherSuites = protocols;
+ }
+
+ public String[] getCipherSuites() {
+ if (enabledCipherSuites == null)
+ return null;
+ return this.enabledCipherSuites.clone();
+ }
+
+ public boolean getNeedClientAuth() {
+ return this.need_client_auth;
+ }
+
+ public String[] getProtocols() {
+ if (enabledProtocols == null)
+ return null;
+ else
+ return enabledProtocols.clone();
+ }
+
+ public boolean getWantClientAuth() {
+ return this.want_client_auth;
+ }
+
+ public void setCipherSuites(String[] cipherSuites) {
+ this.enabledCipherSuites = cipherSuites.clone();
+ }
+
+ public void setNeedClientAuth(boolean needClientAuth) {
+ this.need_client_auth = needClientAuth;
+ }
+
+ public void setProtocols(String[] protocols) {
+
+ this.enabledProtocols = protocols.clone();
+ }
+
+ public void setWantClientAuth(boolean wantClientAuth) {
+ this.want_client_auth = wantClientAuth;
+ }
+}
Propchange: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLParameters.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLSocket.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLSocket.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLSocket.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/javax/net/ssl/SSLSocket.java Wed Oct 10 19:25:15 2007
@@ -72,6 +72,10 @@
public abstract void setWantClientAuth(boolean want);
public abstract boolean getWantClientAuth();
public abstract void setEnableSessionCreation(boolean flag);
+
+ public abstract void setSSLParameters(SSLParameters inputSSLParameters);
+ public abstract SSLParameters getSSLParameters();
+
public abstract boolean getEnableSessionCreation();
}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java Wed Oct 10 19:25:15 2007
@@ -100,5 +100,36 @@
public SSLSessionContext engineGetClientSessionContext() {
return clientSessionContext;
}
-}
+ @Override
+ protected javax.net.ssl.SSLParameters engineGetDefaultSSLParameters() {
+ SSLParameters providerSSLParameters = null;
+ try {
+ providerSSLParameters = SSLParameters.getDefault();
+ } catch (KeyManagementException e) {
+
+ }
+ if (providerSSLParameters == null)
+ return null;
+
+ javax.net.ssl.SSLParameters sslParameters = new javax.net.ssl.SSLParameters();
+ sslParameters.setCipherSuites(providerSSLParameters
+ .getEnabledCipherSuites());
+ sslParameters.setProtocols(providerSSLParameters.getEnabledProtocols());
+ sslParameters.setNeedClientAuth(sslParameters.getNeedClientAuth());
+ sslParameters.setWantClientAuth(providerSSLParameters
+ .getWantClientAuth());
+ return sslParameters;
+ }
+
+ @Override
+ protected javax.net.ssl.SSLParameters engineGetSupportedSSLParameters() {
+ javax.net.ssl.SSLParameters sslParameters = new javax.net.ssl.SSLParameters();
+ sslParameters.setCipherSuites(CipherSuite
+ .getSupportedCipherSuiteNames());
+ sslParameters
+ .setProtocols((String[]) ProtocolVersion.supportedProtocols
+ .clone());
+ return sslParameters;
+ }
+}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java Wed Oct 10 19:25:15 2007
@@ -97,6 +97,14 @@
this.sslParameters = sslParameters;
}
+ @Override
+ public void setSSLParameters(javax.net.ssl.SSLParameters inputSSLParameters) {
+ setEnabledCipherSuites(inputSSLParameters.getCipherSuites());
+ setEnabledProtocols(inputSSLParameters.getProtocols());
+ setNeedClientAuth(inputSSLParameters.getNeedClientAuth());
+ setWantClientAuth(inputSSLParameters.getWantClientAuth());
+ }
+
/**
* Ctor
* @param host: String
@@ -747,5 +755,15 @@
? SSLEngineResult.Status.CLOSED
: SSLEngineResult.Status.OK;
}
-}
+
+ @Override
+ public javax.net.ssl.SSLParameters getSSLParameters() {
+ javax.net.ssl.SSLParameters outputSSLParameters = new javax.net.ssl.SSLParameters();
+ outputSSLParameters.setCipherSuites(sslParameters.getEnabledCipherSuites());
+ outputSSLParameters.setProtocols(sslParameters.getEnabledProtocols());
+ outputSSLParameters.setNeedClientAuth(sslParameters.getNeedClientAuth());
+ outputSSLParameters.setWantClientAuth(sslParameters.getWantClientAuth());
+ return outputSSLParameters;
+ }
+}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java Wed Oct 10 19:25:15 2007
@@ -821,5 +821,23 @@
shutdown();
throw reason;
}
-}
+
+ @Override
+ public void setSSLParameters(javax.net.ssl.SSLParameters inputSSLParameters) {
+ setEnabledCipherSuites(inputSSLParameters.getCipherSuites());
+ setNeedClientAuth(inputSSLParameters.getNeedClientAuth());
+ setWantClientAuth(inputSSLParameters.getWantClientAuth());
+ setEnabledProtocols(inputSSLParameters.getProtocols());
+ }
+
+ @Override
+ public javax.net.ssl.SSLParameters getSSLParameters() {
+ javax.net.ssl.SSLParameters outputSSLParameters = new javax.net.ssl.SSLParameters();
+ outputSSLParameters.setCipherSuites(sslParameters.getEnabledCipherSuites());
+ outputSSLParameters.setProtocols(sslParameters.getEnabledProtocols());
+ outputSSLParameters.setNeedClientAuth(sslParameters.getNeedClientAuth());
+ outputSSLParameters.setWantClientAuth(sslParameters.getWantClientAuth());
+ return outputSSLParameters;
+ }
+}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLContext1Test.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLContext1Test.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLContext1Test.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLContext1Test.java Wed Oct 10 19:25:15 2007
@@ -24,6 +24,7 @@
import java.security.NoSuchProviderException;
import java.security.Provider;
import java.security.SecureRandom;
+import java.security.Security;
import java.security.UnrecoverableKeyException;
import javax.net.ssl.KeyManager;
@@ -31,12 +32,16 @@
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLContextSpi;
import javax.net.ssl.SSLEngine;
+import javax.net.ssl.SSLParameters;
+import javax.net.ssl.SSLPermission;
import javax.net.ssl.SSLSessionContext;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.SSLSocket;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
+import org.apache.harmony.security.fortress.Services;
import org.apache.harmony.security.tests.support.SpiEngUtils;
import org.apache.harmony.xnet.tests.support.MySSLContextSpi;
import junit.framework.TestCase;
@@ -77,6 +82,14 @@
} else {
defaultProtocol = null;
}
+
+ SSLParameters staticSupportSSLParameter = new SSLParameters(new String[] {
+ "TLS_RSA_WITH_RC4_128_MD5", "TLS_RSA_WITH_RC4_128_SHA" },
+ new String[] { "TLSv1", "SSLv3" });
+
+ SSLParameters staticDefaultSSLParameter = new SSLParameters(new String[] {
+ "TLS_RSA_WITH_RC4_128_MD5", "TLS_RSA_WITH_RC4_128_SHA" },
+ new String[] { "TLSv1", "SSLv3" });
}
protected SSLContext[] createSSLCon() {
@@ -372,7 +385,7 @@
return;
}
SSLContextSpi spi = new MySSLContextSpi();
- SSLContext sslContext = new mySSLContext(spi, defaultProvider,
+ SSLContext sslContext = new MySSLContext(spi, defaultProvider,
defaultProtocol);
assertTrue("Not CertStore object", sslContext instanceof SSLContext);
assertEquals("Incorrect protocol", sslContext.getProtocol(),
@@ -390,7 +403,7 @@
} catch (KeyManagementException e) {
}
- sslContext = new mySSLContext(null, null, null);
+ sslContext = new MySSLContext(null, null, null);
assertTrue("Not CertStore object", sslContext instanceof SSLContext);
assertNull("Incorrect protocol", sslContext.getProtocol());
assertNull("Incorrect provider", sslContext.getProvider());
@@ -405,15 +418,91 @@
} catch (NullPointerException e) {
}
}
+
+ public void testGetDefault() throws Exception {
+ //TODO: Need evaluation
+ class PrivateClassLoader extends ClassLoader {}
+ try {
+ // register my provider and its service.
+ Security.addProvider(new MyProvider());
+ // FIXME
+ ClassLoader privateClassLoader = new PrivateClassLoader();
+ Class class1 = privateClassLoader
+ .loadClass("org.apache.harmony.xnet.tests.javax.net.ssl.MySSLContext");
+ SSLContext sslContext = (SSLContext) class1.newInstance();
+ System.out.println(SSLContext.getInstance("Default"));
+ assertTrue((sslContext.getDefault()) instanceof SSLContext);
+ } catch (NoSuchAlgorithmException e) {
+ // expected
+ }
+ }
+
+
+
+
+ public void testGetDefaultSSLParameters() throws Exception {
+ SSLContext[] sslContexts = createSSLCon();
+ assertNotNull("SSLContext objects were not created", sslContexts);
+
+ for (int i = 0; i < sslContexts.length; i++) {
+ sslContexts[i].init(null, null, null);
+ SSLParameters defaultSSLParameters = sslContexts[i]
+ .getDefaultSSLParameters();
+ SSLSocket sslSocket = (SSLSocket) (sslContexts[i]
+ .getSocketFactory().createSocket());
+
+ String[] enabledCipherSuites = sslSocket.getEnabledCipherSuites();
+ String[] enabledProtocols = sslSocket.getEnabledProtocols();
+
+ for (int j = 0; j < enabledCipherSuites.length; j++)
+ assertEquals((defaultSSLParameters.getCipherSuites())[j],
+ enabledCipherSuites[j]);
+ for (int k = 0; k < enabledProtocols.length; k++)
+ assertEquals((defaultSSLParameters.getProtocols())[k],
+ enabledProtocols[k]);
+ }
+ }
+
+ public void testGetSupportedSSLParameters() throws Exception {
+ SSLContext[] sslContexts = createSSLCon();
+ assertNotNull("SSLContext objects were not created", sslContexts);
+
+ for (int i = 0; i < sslContexts.length; i++) {
+ sslContexts[i].init(null, null, null);
+ SSLParameters defaultSSLParameters = sslContexts[i]
+ .getSupportedSSLParameters();
+ SSLSocket sslSocket = (SSLSocket) (sslContexts[i]
+ .getSocketFactory().createSocket());
+ String[] supportedCipherSuites = sslSocket.getSupportedCipherSuites();
+ String[] supportedProtocols = sslSocket.getSupportedProtocols();
+
+ for (int j = 0; j < supportedCipherSuites.length; j++)
+ assertEquals((defaultSSLParameters.getCipherSuites())[j],
+ supportedCipherSuites[j]);
+ for (int k = 0; k < supportedProtocols.length; k++)
+ assertEquals((defaultSSLParameters.getProtocols())[k],
+ supportedProtocols[k]);
+ }
+ }
}
/**
* Addifional class to verify SSLContext constructor
*/
-
-class mySSLContext extends SSLContext {
- public mySSLContext(SSLContextSpi spi, Provider prov, String alg) {
+class MyProvider extends Provider {
+ MyProvider() {
+ super("MyProviderForSSLContextTest", 1.0, "Provider for testing");
+ put("SSLContext.Default", "org.apache.harmony.xnet.tests.javax.net.ssl.MySSLContext");
+ }
+}
+
+class MySSLContext extends SSLContext {
+ public MySSLContext(SSLContextSpi spi, Provider prov, String alg) {
super(spi, prov, alg);
+ }
+
+ public MySSLContext(){
+ super(null, null, null);
}
}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLEngineTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLEngineTest.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLEngineTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLEngineTest.java Wed Oct 10 19:25:15 2007
@@ -22,6 +22,7 @@
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLEngineResult.HandshakeStatus;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLEngineResult;
@@ -471,6 +472,18 @@
ByteBuffer dst) throws SSLException {
return new SSLEngineResult(SSLEngineResult.Status.OK,
SSLEngineResult.HandshakeStatus.FINISHED, 10, 20);
+ }
+
+ @Override
+ public SSLParameters getSSLParameters() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setSSLParameters(SSLParameters sslP) {
+ // TODO Auto-generated method stub
+
}
}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLSocketTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLSocketTest.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLSocketTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLSocketTest.java Wed Oct 10 19:25:15 2007
@@ -22,6 +22,7 @@
import java.net.ServerSocket;
import java.net.UnknownHostException;
+import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.HandshakeCompletedListener;
@@ -202,5 +203,16 @@
public boolean getEnableSessionCreation() {
return false;
}
-}
+ @Override
+ public SSLParameters getSSLParameters() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setSSLParameters(SSLParameters sslP) {
+ // TODO Auto-generated method stub
+
+ }
+}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/java/javax/net/ssl/MySSLContextSpi.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/java/javax/net/ssl/MySSLContextSpi.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/java/javax/net/ssl/MySSLContextSpi.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/java/javax/net/ssl/MySSLContextSpi.java Wed Oct 10 19:25:15 2007
@@ -135,5 +135,17 @@
int length, ByteBuffer dst) throws SSLException {
return null;
}
+
+ @Override
+ public SSLParameters getSSLParameters() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setSSLParameters(SSLParameters sslP) {
+ // TODO Auto-generated method stub
+
+ }
}
}
Modified: harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java?rev=583670&r1=583669&r2=583670&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java Wed Oct 10 19:25:15 2007
@@ -26,6 +26,7 @@
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLEngineResult;
import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSessionContext;
import javax.net.ssl.SSLServerSocketFactory;
@@ -141,5 +142,29 @@
int length, ByteBuffer dst) throws SSLException {
return null;
}
+
+ @Override
+ public SSLParameters getSSLParameters() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setSSLParameters(SSLParameters sslP) {
+ // TODO Auto-generated method stub
+
+ }
+ }
+
+ @Override
+ protected SSLParameters engineGetDefaultSSLParameters() {
+ return new SSLParameters(new String[] { "Default_SSL_Parameters_For_Test1" },
+ new String[] { "TLSv1" });
+ }
+
+ @Override
+ protected SSLParameters engineGetSupportedSSLParameters() {
+ return new SSLParameters(new String[] { "Default_SSL_Parameters_For_Test1",
+ "Default_SSL_Parameters_For_Test2" }, new String[] { "TLSv1", "SSLv3" });
}
}