diff options
author | Urs Grob <> | 2009-04-09 19:22:14 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-04-09 19:22:14 -0700 |
commit | 06ebe5934eb4c97c2f8ac85ac2ad2906a967ad02 (patch) | |
tree | 037f25bec54d739b776599e960867f00280c15f5 /x-net/src | |
parent | a819de28235252eec5e7080f797472b68e297b11 (diff) | |
download | libcore-06ebe5934eb4c97c2f8ac85ac2ad2906a967ad02.zip libcore-06ebe5934eb4c97c2f8ac85ac2ad2906a967ad02.tar.gz libcore-06ebe5934eb4c97c2f8ac85ac2ad2906a967ad02.tar.bz2 |
AI 145615: am: CL 145291 Fixes from the review of 'Bringing XNET down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...
Automated import of CL 145615
Diffstat (limited to 'x-net/src')
6 files changed, 253 insertions, 313 deletions
diff --git a/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory1Test.java b/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory1Test.java index 29ce384..f2a4d1c 100644 --- a/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory1Test.java +++ b/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory1Test.java @@ -180,8 +180,7 @@ public class KeyManagerFactory1Test extends TestCase { KeyManagerFactory keyMF; for (int i = 0; i < validValues.length; i++) { keyMF = KeyManagerFactory.getInstance(validValues[i]); - assertTrue("Not KeyManagerFactory object", - keyMF instanceof KeyManagerFactory); + assertNotNull("No KeyManagerFactory created", keyMF); assertEquals("Invalid algorithm", keyMF.getAlgorithm(), validValues[i]); } @@ -336,8 +335,7 @@ public class KeyManagerFactory1Test extends TestCase { for (int i = 0; i < validValues.length; i++) { kMF = KeyManagerFactory.getInstance(validValues[i], defaultProviderName); - assertTrue("Not KeyManagerFactory object", - kMF instanceof KeyManagerFactory); + assertNotNull("No KeyManagerFactory created", kMF); assertEquals("Incorrect algorithm", kMF.getAlgorithm(), validValues[i]); assertEquals("Incorrect provider", kMF.getProvider().getName(), @@ -428,7 +426,7 @@ public class KeyManagerFactory1Test extends TestCase { for (int i = 0; i < validValues.length; i++) { kMF = KeyManagerFactory .getInstance(validValues[i], defaultProvider); - assertTrue(kMF instanceof KeyManagerFactory); + assertNotNull("No KeyManagerFactory created", kMF); assertEquals(kMF.getAlgorithm(), validValues[i]); assertEquals(kMF.getProvider(), defaultProvider); } @@ -452,7 +450,6 @@ public class KeyManagerFactory1Test extends TestCase { KeyManagerFactorySpi spi = new MyKeyManagerFactorySpi(); KeyManagerFactory keyMF = new myKeyManagerFactory(spi, defaultProvider, defaultAlgorithm); - assertTrue("Not CertStore object", keyMF instanceof KeyManagerFactory); assertEquals("Incorrect algorithm", keyMF.getAlgorithm(), defaultAlgorithm); assertEquals("Incorrect provider", keyMF.getProvider(), defaultProvider); @@ -464,7 +461,6 @@ public class KeyManagerFactory1Test extends TestCase { fail("Unexpected: "+e.toString()+" was thrown"); } keyMF = new myKeyManagerFactory(null, null, null); - assertTrue("Not CertStore object", keyMF instanceof KeyManagerFactory); assertNull("Aalgorithm must be null", keyMF.getAlgorithm()); assertNull("Provider must be null", keyMF.getProvider()); try { diff --git a/x-net/src/test/java/tests/api/javax/net/ssl/SSLContext1Test.java b/x-net/src/test/java/tests/api/javax/net/ssl/SSLContext1Test.java index 2fd2ec6..3929003 100644 --- a/x-net/src/test/java/tests/api/javax/net/ssl/SSLContext1Test.java +++ b/x-net/src/test/java/tests/api/javax/net/ssl/SSLContext1Test.java @@ -112,26 +112,27 @@ public class SSLContext1Test extends TestCase { 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(), - defaultProtocol); - assertEquals("Incorrect provider", sslContext.getProvider(), - defaultProvider); + assertEquals("Incorrect protocol", defaultProtocol, + sslContext.getProtocol()); + assertEquals("Incorrect provider", defaultProvider, + sslContext.getProvider()); TrustManager[] tm = null; KeyManager[] km = null; sslContext.init(km, tm, new SecureRandom()); - assertTrue(sslContext.createSSLEngine() instanceof SSLEngine); - assertTrue(sslContext.createSSLEngine("host host", 8888) instanceof SSLEngine); + assertNotNull("No SSLEngine created", + sslContext.createSSLEngine()); + assertNotNull("No SSLEngine created", + sslContext.createSSLEngine("host", 8888)); try { sslContext.init(km, tm, null); - fail("KeyManagementException should be thrown for null SEcureRandom"); + fail("KeyManagementException should be thrown for null " + + "SecureRandom"); } catch (KeyManagementException e) { } - sslContext = new mySSLContext(null, null, null); - assertTrue("Not CertStore object", sslContext instanceof SSLContext); + sslContext = new MySslContext(null, null, null); assertNull("Incorrect protocol", sslContext.getProtocol()); assertNull("Incorrect provider", sslContext.getProvider()); try { @@ -159,7 +160,7 @@ public class SSLContext1Test extends TestCase { public void test_createSSLEngine() throws KeyManagementException { if (!DEFSupported) fail(NotSupportMsg); SSLContextSpi spi = new MySSLContextSpi(); - SSLContext sslContext = new mySSLContext(spi, defaultProvider, + SSLContext sslContext = new MySslContext(spi, defaultProvider, defaultProtocol); sslContext.init(null, null, new SecureRandom()); SSLEngine sslEngine = sslContext.createSSLEngine(); @@ -180,7 +181,7 @@ public class SSLContext1Test extends TestCase { throws KeyManagementException { if (!DEFSupported) fail(NotSupportMsg); SSLContextSpi spi = new MySSLContextSpi(); - SSLContext sslContext = new mySSLContext(spi, defaultProvider, + SSLContext sslContext = new MySslContext(spi, defaultProvider, defaultProtocol); sslContext.init(null, null, new SecureRandom()); SSLEngine sslEngine = sslContext.createSSLEngine("www.fortify.net", 80); @@ -208,10 +209,10 @@ public class SSLContext1Test extends TestCase { assertNotNull("SSLContext objects were not created", sslC); for (int i = 0; i < sslC.length; i++) { sslC[i].init(null, null, null); - assertTrue("Client session is incorrectly instantiated: " + i + " ", - sslC[i].getClientSessionContext() instanceof SSLSessionContext); - assertTrue("Server session is incorrectly instantiated", - sslC[i].getServerSessionContext() instanceof SSLSessionContext); + assertNotNull("Client session is incorrectly instantiated: " + i, + sslC[i].getClientSessionContext()); + assertNotNull("Server session is incorrectly instantiated: " + i, + sslC[i].getServerSessionContext()); } } @@ -225,7 +226,8 @@ public class SSLContext1Test extends TestCase { method = "getInstance", args = {java.lang.String.class} ) - public void test_getInstanceLjava_lang_String01() throws NoSuchAlgorithmException { + public void test_getInstanceLjava_lang_String01() + throws NoSuchAlgorithmException { if (!DEFSupported) { fail(NotSupportMsg); return; @@ -233,10 +235,9 @@ public class SSLContext1Test extends TestCase { SSLContext sslContext; for (int i = 0; i < validValues.length; i++) { sslContext = SSLContext.getInstance(validValues[i]); - assertTrue("Not SSLContext object", - sslContext instanceof SSLContext); - assertEquals("Invalid protocol", sslContext.getProtocol(), - validValues[i]); + assertNotNull("No SSLContext created", sslContext); + assertEquals("Invalid protocol", validValues[i], + sslContext.getProtocol()); } } @@ -381,12 +382,11 @@ public class SSLContext1Test extends TestCase { for (int i = 0; i < validValues.length; i++) { sslContext = SSLContext.getInstance(validValues[i], defaultProviderName); - assertTrue("Not SSLContext object", - sslContext instanceof SSLContext); - assertEquals("Invalid protocol", sslContext.getProtocol(), - validValues[i]); - assertEquals("Invalid provider", sslContext.getProvider(), - defaultProvider); + assertNotNull("Not SSLContext created", sslContext); + assertEquals("Invalid protocol", + validValues[i], sslContext.getProtocol()); + assertEquals("Invalid provider", + defaultProvider, sslContext.getProvider()); } } @@ -465,12 +465,9 @@ public class SSLContext1Test extends TestCase { for (int i = 0; i < validValues.length; i++) { sslContext = SSLContext .getInstance(validValues[i], defaultProvider); - assertTrue("Not SSLContext object", - sslContext instanceof SSLContext); - assertEquals("Invalid protocol", sslContext.getProtocol(), - validValues[i]); - assertEquals("Invalid provider", sslContext.getProvider(), - defaultProvider); + assertNotNull("Not SSLContext created", sslContext); + assertEquals("Invalid protocol", validValues[i], sslContext.getProtocol()); + assertEquals("Invalid provider", defaultProvider, sslContext.getProvider()); } } @@ -489,11 +486,11 @@ public class SSLContext1Test extends TestCase { throws NoSuchAlgorithmException, NoSuchProviderException { if (!DEFSupported) fail(NotSupportMsg); SSLContextSpi spi = new MySSLContextSpi(); - SSLContext sslContext = new mySSLContext(spi, defaultProvider, + SSLContext sslContext = new MySslContext(spi, defaultProvider, defaultProtocol); assertEquals("Incorrect protocol", defaultProtocol, sslContext.getProtocol()); - sslContext = new mySSLContext(spi, defaultProvider, + sslContext = new MySslContext(spi, defaultProvider, null); assertNull("Incorrect protocol", sslContext.getProtocol()); sslContext = SSLContext.getInstance(defaultProtocol); @@ -522,7 +519,7 @@ public class SSLContext1Test extends TestCase { throws NoSuchAlgorithmException, NoSuchProviderException { if (!DEFSupported) fail(NotSupportMsg); SSLContextSpi spi = new MySSLContextSpi(); - SSLContext sslContext = new mySSLContext(spi, defaultProvider, + SSLContext sslContext = new MySslContext(spi, defaultProvider, defaultProtocol); assertEquals("Incorrect provider", defaultProvider, sslContext.getProvider()); @@ -563,9 +560,8 @@ public class SSLContext1Test extends TestCase { TrustManager[] tms = tmf.getTrustManagers(); for (SSLContext sslCi : sslC) { sslCi.init(kmf.getKeyManagers(), tms, new SecureRandom()); - assertTrue("Server context is incorrectly instantiated", - sslCi.getServerSessionContext() instanceof SSLSessionContext); - assertNotNull("Null object returned", sslCi.getServerSessionContext()); + assertNotNull("Server context is incorrectly instantiated", sslCi + .getServerSessionContext()); } } @@ -615,9 +611,10 @@ public class SSLContext1Test extends TestCase { TrustManager[] tms = tmf.getTrustManagers(); for (int i = 0; i < sslC.length; i++) { sslC[i].init(kms, tms, new SecureRandom()); - assertTrue(sslC[i].getServerSocketFactory() instanceof SSLServerSocketFactory); - assertTrue(sslC[i].getSocketFactory() instanceof SSLSocketFactory); - assertNotNull("Null object returned", sslC[i].getServerSocketFactory()); + assertNotNull("No SSLServerSocketFactory available", + sslC[i].getServerSocketFactory()); + assertNotNull("No SSLSocketFactory available", + sslC[i].getSocketFactory()); } } @@ -650,9 +647,8 @@ public class SSLContext1Test extends TestCase { TrustManager[] tms = tmf.getTrustManagers(); for (SSLContext sslCi : sslC) { sslCi.init(kmf.getKeyManagers(), tms, new SecureRandom()); - assertTrue("Socket factory is incorrectly instantiated", - sslCi.getSocketFactory() instanceof SSLSocketFactory); - assertNotNull("Null object returned", sslCi.getSocketFactory()); + assertNotNull("Socket factory is incorrectly instantiated", + sslCi.getSocketFactory()); } } @@ -675,7 +671,7 @@ public class SSLContext1Test extends TestCase { throws Exception { if (!DEFSupported) fail(NotSupportMsg); SSLContextSpi spi = new MySSLContextSpi(); - SSLContext sslContext = new mySSLContext(spi, defaultProvider, + SSLContext sslContext = new MySslContext(spi, defaultProvider, defaultProtocol); try { sslContext.createSSLEngine(); @@ -715,8 +711,8 @@ public class SSLContext1Test extends TestCase { * Addifional class to verify SSLContext constructor */ -class mySSLContext extends SSLContext { - public mySSLContext(SSLContextSpi spi, Provider prov, String alg) { +class MySslContext extends SSLContext { + public MySslContext(SSLContextSpi spi, Provider prov, String alg) { super(spi, prov, alg); } } diff --git a/x-net/src/test/java/tests/api/javax/net/ssl/SSLEngineTest.java b/x-net/src/test/java/tests/api/javax/net/ssl/SSLEngineTest.java index b002db2..0e3fee3 100644 --- a/x-net/src/test/java/tests/api/javax/net/ssl/SSLEngineTest.java +++ b/x-net/src/test/java/tests/api/javax/net/ssl/SSLEngineTest.java @@ -30,6 +30,8 @@ import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import java.util.Vector; import javax.net.ssl.KeyManager; @@ -765,8 +767,6 @@ public class SSLEngineTest extends TestCase { } /** - * @throws IOException - * @throws InterruptedException * @tests javax.net.ssl.SSLEngine#wrap(ByteBuffer[] srcs, int offset, * int length, ByteBuffer dst) * Exception case: SSLException should be thrown. @@ -1021,8 +1021,6 @@ public class SSLEngineTest extends TestCase { } /** - * @throws InterruptedException - * @throws IOException * @tests javax.net.ssl.SSLEngine#unwrap(ByteBuffer src, ByteBuffer dst) * SSLException should be thrown. */ @@ -1191,31 +1189,15 @@ public class SSLEngineTest extends TestCase { method = "unwrap", args = {ByteBuffer.class, ByteBuffer[].class} ) - public void test_unwrap_ByteBuffer$ByteBuffer_01() { - ByteBuffer bbs = ByteBuffer.allocate(20); - bbs.put("blablablabla".getBytes()); - bbs.rewind(); - ByteBuffer bbd = ByteBuffer.allocate(20000); - bbd.rewind(); - SSLEngine sse = getEngine(); - sse.setUseClientMode(true); - - try { - sse.beginHandshake(); + public void test_unwrap_ByteBuffer$ByteBuffer_01() throws IOException, InterruptedException { + prepareEngines(); + doHandshake(); - SSLEngineResult.HandshakeStatus status = sse.getHandshakeStatus(); - int i = 0; - while (status == SSLEngineResult.HandshakeStatus.NEED_WRAP && i++ < 10) { - SSLEngineResult result = sse.wrap(bbs, bbd); - status = result.getHandshakeStatus(); - bbs.rewind(); - } - } catch (SSLException e) { - fail("unexpected exception : " + e); - } + ByteBuffer bbs = ByteBuffer.allocate(100); + ByteBuffer bbd = ByteBuffer.allocate(100); try { - sse.unwrap(bbs, new ByteBuffer[] { bbd }); + clientEngine.engine.unwrap(bbs, new ByteBuffer[] { bbd }); fail("SSLException wasn't thrown"); } catch (SSLException ex) { //expected @@ -1736,26 +1718,24 @@ public class SSLEngineTest extends TestCase { private ByteBuffer writeBuffer; - HandshakeHandler(boolean clientMode, SourceChannel in, SinkChannel out) { + HandshakeHandler(boolean clientMode, SourceChannel in, SinkChannel out) + throws SSLException { this.in = in; this.out = out; engine = getEngine(); engine.setUseClientMode(clientMode); String[] cipherSuites = engine.getSupportedCipherSuites(); - Vector<String> enabledSuites = new Vector<String>(); + Set<String> enabledSuites = new HashSet<String>(); for (String cipherSuite : cipherSuites) { if (cipherSuite.contains("anon")) { enabledSuites.add(cipherSuite); } } - engine.setEnabledCipherSuites((String[])enabledSuites.toArray(new String[0])); + engine.setEnabledCipherSuites((String[]) enabledSuites.toArray( + new String[enabledSuites.size()])); - try { - engine.beginHandshake(); - status = engine.getHandshakeStatus(); - } catch (SSLException e) { - throw new RuntimeException("failed to start handshake"); - } + engine.beginHandshake(); + status = engine.getHandshakeStatus(); if (clientMode) { LOGTAG = "CLIENT: "; @@ -1779,14 +1759,9 @@ public class SSLEngineTest extends TestCase { //System.out.println(o); } - private void reset(ByteBuffer buffer) { - buffer.rewind(); - buffer.limit(buffer.capacity()); - } - private ByteBuffer read() throws IOException { if (readBuffer == null || readBuffer.remaining() == 0 || readBuffer.position() == 0) { - reset(readBuffer); + readBuffer.clear(); int read = in.read(readBuffer); log("read: " + read); readBuffer.rewind(); @@ -1796,8 +1771,8 @@ public class SSLEngineTest extends TestCase { } public void run() { - while (true) { - try { + try { + while (true) { switch (status) { case FINISHED: { log(status); @@ -1805,7 +1780,7 @@ public class SSLEngineTest extends TestCase { } case NEED_TASK: { log(status); - Runnable task = null; + Runnable task; while ((task = engine.getDelegatedTask()) != null) { task.run(); } @@ -1815,7 +1790,7 @@ public class SSLEngineTest extends TestCase { case NEED_UNWRAP: { log(status); ByteBuffer source = read(); - reset(writeBuffer); + writeBuffer.clear(); while (status == HandshakeStatus.NEED_UNWRAP) { SSLEngineResult result = engine.unwrap(source, writeBuffer); @@ -1826,7 +1801,7 @@ public class SSLEngineTest extends TestCase { } case NEED_WRAP: { log(status); - reset(writeBuffer); + writeBuffer.clear(); int produced = 0; SSLEngineResult result = null; @@ -1847,51 +1822,15 @@ public class SSLEngineTest extends TestCase { return; } } - } catch (IOException e) { - log(e); - return; - } catch (RuntimeException e) { - // ignore; - return; } + } catch (IOException e) { + log(e); + } catch (RuntimeException e) { + // ignore; } } } - /** - * Implements basically a dummy TrustManager. It stores the certificate - * chain it sees, so it can later be queried. - */ - class TestTrustManager implements X509TrustManager { - - private X509Certificate[] chain; - - private String authType; - - public void checkClientTrusted(X509Certificate[] chain, String authType) { - this.chain = chain; - this.authType = authType; - } - - public void checkServerTrusted(X509Certificate[] chain, String authType) { - this.chain = chain; - this.authType = authType; - } - - public X509Certificate[] getAcceptedIssuers() { - return new X509Certificate[0]; - } - - public X509Certificate[] getChain() { - return chain; - } - - public String getAuthType() { - return authType; - } - - } - @TestTargets({ @TestTargetNew( level = TestLevel.PARTIAL_COMPLETE, @@ -1930,17 +1869,22 @@ public class SSLEngineTest extends TestCase { args = {} ) }) - @KnownFailure("Handshake Status is never finished. NPE in ClientSessionContext$HostAndPort.hashCode() when host is null") + @KnownFailure("Handshake Status is never finished. NPE in " + + "ClientSessionContext$HostAndPort.hashCode() when host is null") public void testHandshake() throws IOException, InterruptedException { - + prepareEngines(); - + assertTrue("handshake failed", doHandshake()); System.out.println(clientEngine.engine.getSession().getCipherSuite()); - - assertEquals("Handshake not finished", SSLEngineResult.HandshakeStatus.FINISHED, clientEngine.getStatus()); - assertEquals("Handshake not finished", SSLEngineResult.HandshakeStatus.FINISHED, serverEngine.getStatus()); + + assertEquals("Handshake not finished", + SSLEngineResult.HandshakeStatus.FINISHED, + clientEngine.getStatus()); + assertEquals("Handshake not finished", + SSLEngineResult.HandshakeStatus.FINISHED, + serverEngine.getStatus()); } void prepareEngines() throws IOException { @@ -1980,24 +1924,4 @@ public class SSLEngineTest extends TestCase { return clientEngine.getStatus() == HandshakeStatus.FINISHED && serverEngine.getStatus() == HandshakeStatus.FINISHED; } - - /** - * Loads a keystore from a base64-encoded String. Returns the KeyManager[] - * for the result. - */ - private KeyManager[] getKeyManagers(String keys) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException, UnrecoverableKeyException { -// byte[] bytes = Base64.decode(keys.getBytes()); -// InputStream inputStream = new ByteArrayInputStream(bytes); -// -// KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -// keyStore.load(inputStream, PASSWORD.toCharArray()); -// inputStream.close(); -// -// String algorithm = KeyManagerFactory.getDefaultAlgorithm(); -// KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(algorithm); -// keyManagerFactory.init(keyStore, PASSWORD.toCharArray()); -// -// return keyManagerFactory.getKeyManagers(); - return null; - } } diff --git a/x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionContextTest.java b/x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionContextTest.java index 09ff421..930b6da 100644 --- a/x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionContextTest.java +++ b/x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionContextTest.java @@ -42,7 +42,7 @@ public class SSLSessionContextTest extends TestCase { public final void test_sessionCacheSize() throws NoSuchAlgorithmException, KeyManagementException { SSLContext context = SSLContext.getInstance("TLS"); context.init(null, null, null); - SSLSessionContext sc = context + SSLSessionContext sc = context .getClientSessionContext(); sc.setSessionCacheSize(10); assertEquals("10 wasn't returned", 10, sc.getSessionCacheSize()); @@ -80,7 +80,7 @@ public class SSLSessionContextTest extends TestCase { public final void test_sessionTimeout() throws NoSuchAlgorithmException, KeyManagementException { SSLContext context = SSLContext.getInstance("TLS"); context.init(null, null, null); - SSLSessionContext sc = context + SSLSessionContext sc = context .getClientSessionContext(); sc.setSessionTimeout(100); assertEquals("100 wasn't returned", 100, sc.getSessionTimeout()); @@ -109,7 +109,7 @@ public class SSLSessionContextTest extends TestCase { public final void test_getSession() throws NoSuchAlgorithmException, KeyManagementException { SSLContext context = SSLContext.getInstance("TLS"); context.init(null, null, null); - SSLSessionContext sc = context + SSLSessionContext sc = context .getClientSessionContext(); try { sc.getSession(null); @@ -133,7 +133,7 @@ public class SSLSessionContextTest extends TestCase { public final void test_getIds() throws NoSuchAlgorithmException, KeyManagementException { SSLContext context = SSLContext.getInstance("TLS"); context.init(null, null, null); - SSLSessionContext sc = context + SSLSessionContext sc = context .getClientSessionContext(); assertFalse(sc.getIds().hasMoreElements()); } diff --git a/x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketFactoryTest.java b/x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketFactoryTest.java index d58e08e..05308de 100644 --- a/x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketFactoryTest.java +++ b/x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketFactoryTest.java @@ -35,8 +35,8 @@ import tests.support.Support_PortManager; @TestTargetClass(SSLSocketFactory.class) public class SSLSocketFactoryTest extends TestCase { - private ServerSocket ss; - + private ServerSocket ss; + protected int startServer(String name) { int portNumber = Support_PortManager.getNextPort(); try { @@ -89,19 +89,20 @@ public class SSLSocketFactoryTest extends TestCase { args = {java.net.Socket.class, java.lang.String.class, int.class, boolean.class} ) public void test_createSocket() { - SSLSocketFactory sf = (SSLSocketFactory) SSLSocketFactory.getDefault(); + SSLSocketFactory sf = (SSLSocketFactory)SSLSocketFactory.getDefault(); int sport = startServer("test_createSocket()"); - int[] invalid = {Integer.MIN_VALUE, -1, 65536, Integer.MAX_VALUE}; - String[] str = {"bla-bla"}; + int[] invalid = { + Integer.MIN_VALUE, -1, 65536, Integer.MAX_VALUE + }; try { - Socket st = new Socket("localhost", sport); - Socket s = sf.createSocket(st, "localhost", sport, false); - assertFalse(s.isClosed()); + Socket st = new Socket("localhost", sport); + Socket s = sf.createSocket(st, "localhost", sport, false); + assertFalse(s.isClosed()); } catch (Exception ex) { fail("Unexpected exception " + ex); } try { - Socket st = new Socket("localhost", sport); + Socket st = new Socket("localhost", sport); Socket s = sf.createSocket(st, "localhost", sport, true); s.close(); assertTrue(st.isClosed()); @@ -112,28 +113,27 @@ public class SSLSocketFactoryTest extends TestCase { sf.createSocket(null, "localhost", sport, true); fail("IOException wasn't thrown"); } catch (IOException ioe) { - //expected + // expected } catch (NullPointerException e) { - // expected + // expected } for (int i = 0; i < invalid.length; i++) { try { Socket s = sf.createSocket(new Socket(), "localhost", 1080, false); fail("IOException wasn't thrown"); } catch (IOException ioe) { - //expected + // expected } } - for (int i = 0; i < str.length; i++) { - try { - Socket st = new Socket(str[i], sport); - Socket s = sf.createSocket(st, str[i], sport, false); - fail("UnknownHostException wasn't thrown: " + str[i]); - } catch (UnknownHostException uhe) { - //expected - } catch (Exception e) { - fail(e + " was thrown instead of UnknownHostException"); - } + + try { + Socket st = new Socket("bla-bla", sport); + Socket s = sf.createSocket(st, "bla-bla", sport, false); + fail("UnknownHostException wasn't thrown: " + "bla-bla"); + } catch (UnknownHostException uhe) { + // expected + } catch (Exception e) { + fail(e + " was thrown instead of UnknownHostException"); } } diff --git a/x-net/src/test/java/tests/api/javax/net/ssl/X509KeyManagerTest.java b/x-net/src/test/java/tests/api/javax/net/ssl/X509KeyManagerTest.java index 3ea3c8a..715efcd 100644 --- a/x-net/src/test/java/tests/api/javax/net/ssl/X509KeyManagerTest.java +++ b/x-net/src/test/java/tests/api/javax/net/ssl/X509KeyManagerTest.java @@ -37,7 +37,7 @@ public class X509KeyManagerTest extends TestCase { private String password = "1234"; - /* + /* Certificate: Data: Version: 3 (0x2) @@ -69,7 +69,7 @@ public class X509KeyManagerTest extends TestCase { keyid:E7:9B:7D:90:29:EA:90:0B:7F:08:41:76:4E:41:23:E8:43:2C:A9:03 DirName:/C=AN/ST=Android/O=Android/OU=Android/CN=Android/emailAddress=android@android.com serial:00 - + X509v3 Basic Constraints: CA:TRUE Signature Algorithm: sha1WithRSAEncryption @@ -81,32 +81,36 @@ public class X509KeyManagerTest extends TestCase { 7b:2e:6f:65:4f:d9:10:2e:9d:b8:92:63:67:74:8b:22:0d:6d: d3:5d:9e:29:63:f9:36:93:1b:a7:80:e2:b1:f1:bf:29:19:81: 3d:07 - */ - String certificate = "-----BEGIN CERTIFICATE-----\n" - + "MIIDPzCCAqigAwIBAgIBADANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJBTjEQ\n" - + "MA4GA1UECBMHQW5kcm9pZDEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5k\n" - + "cm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBh\n" - + "bmRyb2lkLmNvbTAeFw0wOTAzMjAxNzAwMDZaFw0xMjAzMTkxNzAwMDZaMHkxCzAJ\n" - + "BgNVBAYTAkFOMRAwDgYDVQQIEwdBbmRyb2lkMRAwDgYDVQQKEwdBbmRyb2lkMRAw\n" - + "DgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMSIwIAYJKoZIhvcNAQkB\n" - + "FhNhbmRyb2lkQGFuZHJvaWQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB\n" - + "gQCqQkDtkiEXmV8O5EK4y2Y9YyoWNDx70z4fqD+9muuzJGuM5NovMbxhBycuKHF3\n" - + "WK60iXzrsAYkB1c8VHHbcUEFqz2fBdLKyxy/nYohlo8TYSVpEjt3vfc0sgmp4FKU\n" - + "RDHO2z3rZPHWysV9L9ZvjeQpiwaYipU9epdBmvFmxQmCDQIDAQABo4HWMIHTMB0G\n" - + "A1UdDgQWBBTnm32QKeqQC38IQXZOQSPoQyypAzCBowYDVR0jBIGbMIGYgBTnm32Q\n" - + "KeqQC38IQXZOQSPoQyypA6F9pHsweTELMAkGA1UEBhMCQU4xEDAOBgNVBAgTB0Fu\n" - + "ZHJvaWQxEDAOBgNVBAoTB0FuZHJvaWQxEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNV\n" - + "BAMTB0FuZHJvaWQxIjAgBgkqhkiG9w0BCQEWE2FuZHJvaWRAYW5kcm9pZC5jb22C\n" - + "AQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQAUmDApQu+r5rglS1WF\n" - + "BKXE3R2LasFvbBwdw2E0MAc0TWqLVW91VW4VWMX4r+C+c7rZpYXXtRqFRCuI/czL\n" - + "0e1GaUP/Wa6bXBcm2u7Iv2dVAaAOELmFSVTZeR57Lm9lT9kQLp24kmNndIsiDW3T\n" - + "XZ4pY/k2kxungOKx8b8pGYE9Bw==\n" - + "-----END CERTIFICATE-----"; + */ + String certificate = "-----BEGIN CERTIFICATE-----\n" + + "MIIDPzCCAqigAwIBAgIBADANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJBTjEQ\n" + + "MA4GA1UECBMHQW5kcm9pZDEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5k\n" + + "cm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBh\n" + + "bmRyb2lkLmNvbTAeFw0wOTAzMjAxNzAwMDZaFw0xMjAzMTkxNzAwMDZaMHkxCzAJ\n" + + "BgNVBAYTAkFOMRAwDgYDVQQIEwdBbmRyb2lkMRAwDgYDVQQKEwdBbmRyb2lkMRAw\n" + + "DgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMSIwIAYJKoZIhvcNAQkB\n" + + "FhNhbmRyb2lkQGFuZHJvaWQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB\n" + + "gQCqQkDtkiEXmV8O5EK4y2Y9YyoWNDx70z4fqD+9muuzJGuM5NovMbxhBycuKHF3\n" + + "WK60iXzrsAYkB1c8VHHbcUEFqz2fBdLKyxy/nYohlo8TYSVpEjt3vfc0sgmp4FKU\n" + + "RDHO2z3rZPHWysV9L9ZvjeQpiwaYipU9epdBmvFmxQmCDQIDAQABo4HWMIHTMB0G\n" + + "A1UdDgQWBBTnm32QKeqQC38IQXZOQSPoQyypAzCBowYDVR0jBIGbMIGYgBTnm32Q\n" + + "KeqQC38IQXZOQSPoQyypA6F9pHsweTELMAkGA1UEBhMCQU4xEDAOBgNVBAgTB0Fu\n" + + "ZHJvaWQxEDAOBgNVBAoTB0FuZHJvaWQxEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNV\n" + + "BAMTB0FuZHJvaWQxIjAgBgkqhkiG9w0BCQEWE2FuZHJvaWRAYW5kcm9pZC5jb22C\n" + + "AQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQAUmDApQu+r5rglS1WF\n" + + "BKXE3R2LasFvbBwdw2E0MAc0TWqLVW91VW4VWMX4r+C+c7rZpYXXtRqFRCuI/czL\n" + + "0e1GaUP/Wa6bXBcm2u7Iv2dVAaAOELmFSVTZeR57Lm9lT9kQLp24kmNndIsiDW3T\n" + + "XZ4pY/k2kxungOKx8b8pGYE9Bw==\n" + + "-----END CERTIFICATE-----"; - ByteArrayInputStream certArray = new ByteArrayInputStream(certificate - .getBytes()); - - byte[] keyBytes = new byte[] { + ByteArrayInputStream certArray = new ByteArrayInputStream(certificate + .getBytes()); + + /* + * The key in DER format. + * Below is the same key in PEM format as reference + */ + byte[] keyBytes = new byte[] { (byte)0x30, (byte)0x82, (byte)0x02, (byte)0x77, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30, (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, (byte)0x48, (byte)0x86, (byte)0xf7, (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x05, @@ -200,30 +204,34 @@ public class X509KeyManagerTest extends TestCase { (byte)0x9b, (byte)0xd2, (byte)0x10, (byte)0xb0, (byte)0xe1 }; - /* - String key = "-----BEGIN RSA PRIVATE KEY-----\n" - + "Proc-Type: 4,ENCRYPTED\n" - + "DEK-Info: DES-EDE3-CBC,69E26FCC3A7F136E\n" - + "\n" - + "YKiLXOwf2teog4IoOvbbROy9vqp0EMt1KF9eNKeKFCWGCS4RFATaAGjKrdA26bOV\n" - + "MBdyB4V7qaxLC8/UwLlzFLpprouIfGqrEoR/NT0eKQ+4Pl25GlMvlPaR0pATBLZ2\n" - + "OEaB3zcNygOQ02Jdrmw2+CS9qVtGGXjn6Qp6TVFm6edNCoOVZODLP9kkzPLn8Mkm\n" - + "/isgsprwMELuth8Y5BC0brI5XYdMqZFI5dLz4wzVH81wBYbRmJqR7yOE1pzAJS9I\n" - + "gJ5YvcP7pSmoA2SHVN4v4qolM+GAM9YIp2bwEyWFRjbriNlF1yM+HflGMEZ1HNpZ\n" - + "FSFFA3G8EIH9ogbZ3j+7EujrndJC7GIibwiu5rd3eIHtcwrWprp+wEoPc/vM8OpR\n" - + "so9ms7iQYV6faYCWK4yeCfErYw7t+AhGqfLiqHO6bO2XAYJcD28RYV9gXmugZOhT\n" - + "9471MOw94HWF5tBVjgIkyNBcbRyMF9iyQKafbkHYpmxaB4s2EqQr1SNZl3SLEwhX\n" - + "MEGy3/tyveuMLAvdTlSDZbt6memWoXXEX4Ep/q6r0ErCTY31awdP/XaJcJBGb9ni\n" - + "Iai8DICaG1v4bUuBVgaiacZlgw1O4Hhj8D2DWfVZsgpx5y8tBRM2lGWvyzEi5n2F\n" - + "PiR2UlT0DjCD1ObjCpWJ5insX/w8dXSHGZLLb9ccGRUrw/+5Bptn+AoEfdP+8S3j\n" - + "UdMdxl6qt2gneCYu1Lr3cQ+qKPqikQty2UQ6Yp8dJkheLJ2Tr+rnaytOCp2dAT9K\n" - + "KXTimIcXV+ftvUMbDPXYu4LJBldr2VokD+k3QbHDgFnfHIiNkwiPzA==\n" - + "-----END RSA PRIVATE KEY-----"; - - ByteArrayInputStream keyArray = new ByteArrayInputStream(key.getBytes()); - */ + /* + * The same key in PEM format. + * The DER version of this key was created using + * + * openssl pkcs8 -topk8 -nocrypt -in key1.pem + * -inform PEM -out key1.der -outform DER + * + * -----BEGIN RSA PRIVATE KEY----- + * Proc-Type: 4,ENCRYPTED + * DEK-Info: DES-EDE3-CBC,69E26FCC3A7F136E + * + * YKiLXOwf2teog4IoOvbbROy9vqp0EMt1KF9eNKeKFCWGCS4RFATaAGjKrdA26bOV + * MBdyB4V7qaxLC8/UwLlzFLpprouIfGqrEoR/NT0eKQ+4Pl25GlMvlPaR0pATBLZ2 + * OEaB3zcNygOQ02Jdrmw2+CS9qVtGGXjn6Qp6TVFm6edNCoOVZODLP9kkzPLn8Mkm + * /isgsprwMELuth8Y5BC0brI5XYdMqZFI5dLz4wzVH81wBYbRmJqR7yOE1pzAJS9I + * gJ5YvcP7pSmoA2SHVN4v4qolM+GAM9YIp2bwEyWFRjbriNlF1yM+HflGMEZ1HNpZ + * FSFFA3G8EIH9ogbZ3j+7EujrndJC7GIibwiu5rd3eIHtcwrWprp+wEoPc/vM8OpR + * so9ms7iQYV6faYCWK4yeCfErYw7t+AhGqfLiqHO6bO2XAYJcD28RYV9gXmugZOhT + * 9471MOw94HWF5tBVjgIkyNBcbRyMF9iyQKafbkHYpmxaB4s2EqQr1SNZl3SLEwhX + * MEGy3/tyveuMLAvdTlSDZbt6memWoXXEX4Ep/q6r0ErCTY31awdP/XaJcJBGb9ni + * Iai8DICaG1v4bUuBVgaiacZlgw1O4Hhj8D2DWfVZsgpx5y8tBRM2lGWvyzEi5n2F + * PiR2UlT0DjCD1ObjCpWJ5insX/w8dXSHGZLLb9ccGRUrw/+5Bptn+AoEfdP+8S3j + * UdMdxl6qt2gneCYu1Lr3cQ+qKPqikQty2UQ6Yp8dJkheLJ2Tr+rnaytOCp2dAT9K + * KXTimIcXV+ftvUMbDPXYu4LJBldr2VokD+k3QbHDgFnfHIiNkwiPzA== + * -----END RSA PRIVATE KEY----- + */ - /* + /* Certificate: Data: Version: 3 (0x2) @@ -257,7 +265,7 @@ public class X509KeyManagerTest extends TestCase { 95:3E:C3:46:69:52:78:08:05:46:B9:00:69:E5:E7:A7:99:E3:C4:67 X509v3 Authority Key Identifier: keyid:E7:9B:7D:90:29:EA:90:0B:7F:08:41:76:4E:41:23:E8:43:2C:A9:03 - + Signature Algorithm: sha1WithRSAEncryption a3:5b:30:f5:28:3f:87:f6:1b:36:6a:22:6d:66:48:fa:cb:ee: 4c:04:cf:11:14:e2:1f:b5:68:0c:e7:61:0e:bc:d3:69:19:02: @@ -267,29 +275,33 @@ public class X509KeyManagerTest extends TestCase { 57:95:24:22:8f:19:12:c1:fd:23:45:75:7f:4f:61:06:e3:9f: 05:dc:e7:29:9a:6b:17:e1:e1:37:d5:8b:ba:b4:d0:8a:3c:dd: 3f:6a - */ - String certificate2 = "-----BEGIN CERTIFICATE-----\n" - + "MIIC9jCCAl+gAwIBAgIBATANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJBTjEQ\n" - + "MA4GA1UECBMHQW5kcm9pZDEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5k\n" - + "cm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBh\n" - + "bmRyb2lkLmNvbTAeFw0wOTAzMjAxNzAwNDBaFw0xMDAzMjAxNzAwNDBaMIGLMQsw\n" - + "CQYDVQQGEwJBTjEQMA4GA1UECBMHQW5kcm9pZDEQMA4GA1UEBxMHQW5kcm9pZDEQ\n" - + "MA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5k\n" - + "cm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCBnzANBgkq\n" - + "hkiG9w0BAQEFAAOBjQAwgYkCgYEA0ERaxHbvrv+ZW8M3wQkzwZflZHqpfphLOqMz\n" - + "0FzHVqzYQuhKrJzZj4mEyEaVziL3agnekUecOCOlSvwIr1q0bjmO6fUORgBp4eXM\n" - + "TIG2gntW+/TcBP9h4n5f4vmXU5PUaZu6eSDNHj7VmkSVfM/BUfIi/OzMZhh0YCqi\n" - + "vgbCno0CAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNT\n" - + "TCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFJU+w0ZpUngIBUa5AGnl\n" - + "56eZ48RnMB8GA1UdIwQYMBaAFOebfZAp6pALfwhBdk5BI+hDLKkDMA0GCSqGSIb3\n" - + "DQEBBQUAA4GBAKNbMPUoP4f2GzZqIm1mSPrL7kwEzxEU4h+1aAznYQ6802kZAovV\n" - + "0wVKyCno49DpMq1sfZzERmz5ZuZkYEdr747IHGdaWs9zo36dbokMZ5kXPbK4jkGV\n" - + "nISVv1eVJCKPGRLB/SNFdX9PYQbjnwXc5ymaaxfh4TfVi7q00Io83T9q\n\n" - + "-----END CERTIFICATE-----"; + */ + String certificate2 = "-----BEGIN CERTIFICATE-----\n" + + "MIIC9jCCAl+gAwIBAgIBATANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJBTjEQ\n" + + "MA4GA1UECBMHQW5kcm9pZDEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5k\n" + + "cm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBh\n" + + "bmRyb2lkLmNvbTAeFw0wOTAzMjAxNzAwNDBaFw0xMDAzMjAxNzAwNDBaMIGLMQsw\n" + + "CQYDVQQGEwJBTjEQMA4GA1UECBMHQW5kcm9pZDEQMA4GA1UEBxMHQW5kcm9pZDEQ\n" + + "MA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5k\n" + + "cm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCBnzANBgkq\n" + + "hkiG9w0BAQEFAAOBjQAwgYkCgYEA0ERaxHbvrv+ZW8M3wQkzwZflZHqpfphLOqMz\n" + + "0FzHVqzYQuhKrJzZj4mEyEaVziL3agnekUecOCOlSvwIr1q0bjmO6fUORgBp4eXM\n" + + "TIG2gntW+/TcBP9h4n5f4vmXU5PUaZu6eSDNHj7VmkSVfM/BUfIi/OzMZhh0YCqi\n" + + "vgbCno0CAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNT\n" + + "TCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFJU+w0ZpUngIBUa5AGnl\n" + + "56eZ48RnMB8GA1UdIwQYMBaAFOebfZAp6pALfwhBdk5BI+hDLKkDMA0GCSqGSIb3\n" + + "DQEBBQUAA4GBAKNbMPUoP4f2GzZqIm1mSPrL7kwEzxEU4h+1aAznYQ6802kZAovV\n" + + "0wVKyCno49DpMq1sfZzERmz5ZuZkYEdr747IHGdaWs9zo36dbokMZ5kXPbK4jkGV\n" + + "nISVv1eVJCKPGRLB/SNFdX9PYQbjnwXc5ymaaxfh4TfVi7q00Io83T9q\n\n" + + "-----END CERTIFICATE-----"; - ByteArrayInputStream certArray2 = new ByteArrayInputStream(certificate2 - .getBytes()); - + ByteArrayInputStream certArray2 = new ByteArrayInputStream(certificate2 + .getBytes()); + + /* + * The key in DER format. + * Below is the same key in PEM format as reference + */ byte[] key2Bytes = new byte[] { (byte)0x30, (byte)0x82, (byte)0x02, (byte)0x75, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30, (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, (byte)0x48, @@ -384,30 +396,34 @@ public class X509KeyManagerTest extends TestCase { (byte)0x50, (byte)0x60, (byte)0x80 }; - /* - String key2 = "-----BEGIN RSA PRIVATE KEY-----\n" - + "Proc-Type: 4,ENCRYPTED\n" - + "DEK-Info: DES-EDE3-CBC,370723FFDC1B1CFA\n" - + "\n" - + "KJ20ODBEQujoOpnzNfHNoo5DF/qENhw9IaApChGMj+WhqYuFfKfPQKuRli8sJSEk\n" - + "uoPmEqjJndHz5M5bI7wVxiafv/Up4+SaNKhn/vu6xjx/senJMX8HMUchqfvn0eCd\n" - + "31NHQeNbQ67O73xGIdltLzwTRsavTu/hwhnnJxiXzXnYtI5HTZUaRbVJQNpdlkNW\n" - + "H91u70lwlT8W2MATBhl3R3wIbRHQG1I0RQX12O04gMfK1PBl9d/tnFOi4ESfth1W\n" - + "e06XV0U12g06V5/UUuicJANvgyf0Pix0xxPr2tqibWeGpFwCvJpNHl4L3tUocydF\n" - + "HYoUKx/r3VSmesnZ1zUMsuO2zXOuLLcwCSFN+73GBLWocCxBvag6HFvCemy5Tuhs\n" - + "9MhfF+5lKER/9Ama/e7C61usaoUhR1OvpGWMfjewrFLCsyWlInscoZ1ad5YtcWGx\n" - + "MM7+BsTnK00fcXZuPHTPsiwQ0fMVeNM2a/e65aIivfzzHmb6gqUigNpfNYcqQsJJ\n" - + "Wwoc5hXVO92vugdHOHOiAUpfZZgNDZwgCTluMuI+KJ0QCb0dhF5w/TDA8z+vRwmW\n" - + "sz5WrA4F+T3LfwwLQfxJyHTnbAu38VlMMZP98iIobOX3AAkBw4+kTOCEedvmKt0f\n" - + "s7iSKrnnV6AyzRPEJUWknMF8xNFH7HDqkZf4Mv8cMM6e45K4kBGd17d3tcEFi2An\n" - + "5l6S9hHtoyMhHjnAcyuHJbD9rGRgyOlbhSYTcbX/gKiECZj0kf8xHi20qntO3c+p\n" - + "jdpp97fIMnQTl5IDNxOy5h9MDLs/SYAR7iyF19RkIGc=\n" - + "-----END RSA PRIVATE KEY-----"; - - ByteArrayInputStream keyArray2 = new ByteArrayInputStream(key2.getBytes()); - */ + /* + * The same key in PEM format. + * The DER version of this key was created using + * + * openssl pkcs8 -topk8 -nocrypt -in key1.pem + * -inform PEM -out key1.der -outform DER + * + * -----BEGIN RSA PRIVATE KEY----- + * Proc-Type: 4,ENCRYPTED + * DEK-Info: DES-EDE3-CBC,370723FFDC1B1CFA + * + * KJ20ODBEQujoOpnzNfHNoo5DF/qENhw9IaApChGMj+WhqYuFfKfPQKuRli8sJSEk + * uoPmEqjJndHz5M5bI7wVxiafv/Up4+SaNKhn/vu6xjx/senJMX8HMUchqfvn0eCd + * 31NHQeNbQ67O73xGIdltLzwTRsavTu/hwhnnJxiXzXnYtI5HTZUaRbVJQNpdlkNW + * H91u70lwlT8W2MATBhl3R3wIbRHQG1I0RQX12O04gMfK1PBl9d/tnFOi4ESfth1W + * e06XV0U12g06V5/UUuicJANvgyf0Pix0xxPr2tqibWeGpFwCvJpNHl4L3tUocydF + * HYoUKx/r3VSmesnZ1zUMsuO2zXOuLLcwCSFN+73GBLWocCxBvag6HFvCemy5Tuhs + * 9MhfF+5lKER/9Ama/e7C61usaoUhR1OvpGWMfjewrFLCsyWlInscoZ1ad5YtcWGx + * MM7+BsTnK00fcXZuPHTPsiwQ0fMVeNM2a/e65aIivfzzHmb6gqUigNpfNYcqQsJJ + * Wwoc5hXVO92vugdHOHOiAUpfZZgNDZwgCTluMuI+KJ0QCb0dhF5w/TDA8z+vRwmW + * sz5WrA4F+T3LfwwLQfxJyHTnbAu38VlMMZP98iIobOX3AAkBw4+kTOCEedvmKt0f + * s7iSKrnnV6AyzRPEJUWknMF8xNFH7HDqkZf4Mv8cMM6e45K4kBGd17d3tcEFi2An + * 5l6S9hHtoyMhHjnAcyuHJbD9rGRgyOlbhSYTcbX/gKiECZj0kf8xHi20qntO3c+p + * jdpp97fIMnQTl5IDNxOy5h9MDLs/SYAR7iyF19RkIGc= + * -----END RSA PRIVATE KEY----- + */ - /* + /* Certificate: Data: Version: 3 (0x2) @@ -451,7 +467,7 @@ public class X509KeyManagerTest extends TestCase { 4d:9a:7b:bc:95:7c:d2:9d:b7:04:9a:9a:63:89:cd:39:ec:32: 60:0a:97:da:e9:50:a5:73:4a:a2:aa:9c:9b:a8:7f:5a:20:d6: 48:bd - */ + */ String certificate3 = "-----BEGIN CERTIFICATE-----\n" + "MIIC9jCCAl+gAwIBAgIBAjANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJBTjEQ\n" + "MA4GA1UECBMHQW5kcm9pZDEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5k\n" @@ -473,7 +489,11 @@ public class X509KeyManagerTest extends TestCase { ByteArrayInputStream certArray3 = new ByteArrayInputStream(certificate3 .getBytes()); - + + /* + * The key in DER format. + * Below is the same key in PEM format as reference + */ byte[] key3Bytes = new byte[] { (byte)0x30, (byte)0x82, (byte)0x02, (byte)0x76, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30, (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a, (byte)0x86, (byte)0x48, @@ -569,27 +589,31 @@ public class X509KeyManagerTest extends TestCase { }; /* - String key3 = "-----BEGIN RSA PRIVATE KEY-----\n" - + "Proc-Type: 4,ENCRYPTED\n" - + "DEK-Info: DES-EDE3-CBC,0EE6B33EC2D92297\n" - + "\n" - + "r7lbWwtlmubgMG020XiOStqgrvPkP1hTrbOV7Gh2IVNTyXWyA8UriQlPyqBQNzy2\n" - + "5+Z+JUqzYoLCGY0fQ95ck+ya/wHJQX4OSKFOZwQKpU7pEY9wN1YPa7U9ZnyCPGtB\n" - + "+ejvHuIMJhE5wq9Y1iEDIlON++onWTf4T36Sz3OQ8gEJbnx3x+UjcCINooj7kOeM\n" - + "giCi5yJEOJaf4fkRioUh6S7cm/msTH3ID33rrvTjk7cD8mGzzTy4hWyKaK4K9GbC\n" - + "dOvSORM9mVwTWMUdu1wJ5uyadwBhpSIhC/qpP8Je60nFy8YJlzB2FaMUpAuIOM7B\n" - + "EVN2uAMDNOpGzcOJPbLig8smk2lA4+y1T3gFd9paskSjD9B8+/3KuagWEEQQL7T4\n" - + "YK3xtjzXwEp6OdG2QjD4ZcK5D0MKuYPF3PszwzlCnBG/On6wIvIiTPWBn/G2u59D\n" - + "gJPV7V3Jipn0iYYN+i7T5TNoT7Vko8s3BRpVSrlFUFFhtQPad6NcxGNNH5L1g3fF\n" - + "+dp4TnG64PCQZtuu6I6gfuMXztOwQtEpxxHo9WktlCpwL0tT/tpx+zOVbLvgusjB\n" - + "QKYCIplbSI7VtpOfcJ3kTTAWSOGZli4FayB/Dplf/FXN6ZwwASw09ioVQc/CFdLk\n" - + "Xw05elxV8/AFvm+/VkUHK5JJSp32WMgAJA+XrUsOb5lw1Tl3Hlj9KHALp+Pt/i7N\n" - + "+LPnxrpuTry31APt8aRup/pWOLa+f97Hz+arp4wJa5LK+GtTTtoI4+QZp5qzR/jy\n" - + "oM+DoKtK+1WsCU7teJwEWXV/ayo1TEFEhcY0F7IAPCzDlG3XOFmulQ==\n" - + "-----END RSA PRIVATE KEY-----"; - - ByteArrayInputStream keyArray3 = new ByteArrayInputStream(key3.getBytes()); - */ + * The same key in PEM format. + * The DER version of this key was created using + * + * openssl pkcs8 -topk8 -nocrypt -in key1.pem + * -inform PEM -out key1.der -outform DER + * + * -----BEGIN RSA PRIVATE KEY----- + * Proc-Type: 4,ENCRYPTED + * DEK-Info: DES-EDE3-CBC,0EE6B33EC2D92297 + * + * r7lbWwtlmubgMG020XiOStqgrvPkP1hTrbOV7Gh2IVNTyXWyA8UriQlPyqBQNzy2 + * 5+Z+JUqzYoLCGY0fQ95ck+ya/wHJQX4OSKFOZwQKpU7pEY9wN1YPa7U9ZnyCPGtB + * +ejvHuIMJhE5wq9Y1iEDIlON++onWTf4T36Sz3OQ8gEJbnx3x+UjcCINooj7kOeM + * giCi5yJEOJaf4fkRioUh6S7cm/msTH3ID33rrvTjk7cD8mGzzTy4hWyKaK4K9GbC + * dOvSORM9mVwTWMUdu1wJ5uyadwBhpSIhC/qpP8Je60nFy8YJlzB2FaMUpAuIOM7B + * EVN2uAMDNOpGzcOJPbLig8smk2lA4+y1T3gFd9paskSjD9B8+/3KuagWEEQQL7T4 + * YK3xtjzXwEp6OdG2QjD4ZcK5D0MKuYPF3PszwzlCnBG/On6wIvIiTPWBn/G2u59D + * gJPV7V3Jipn0iYYN+i7T5TNoT7Vko8s3BRpVSrlFUFFhtQPad6NcxGNNH5L1g3fF + * +dp4TnG64PCQZtuu6I6gfuMXztOwQtEpxxHo9WktlCpwL0tT/tpx+zOVbLvgusjB + * QKYCIplbSI7VtpOfcJ3kTTAWSOGZli4FayB/Dplf/FXN6ZwwASw09ioVQc/CFdLk + * Xw05elxV8/AFvm+/VkUHK5JJSp32WMgAJA+XrUsOb5lw1Tl3Hlj9KHALp+Pt/i7N + * +LPnxrpuTry31APt8aRup/pWOLa+f97Hz+arp4wJa5LK+GtTTtoI4+QZp5qzR/jy + * oM+DoKtK+1WsCU7teJwEWXV/ayo1TEFEhcY0F7IAPCzDlG3XOFmulQ== + * -----END RSA PRIVATE KEY----- + */ @Override protected void setUp() { |