summaryrefslogtreecommitdiffstats
path: root/x-net/src
diff options
context:
space:
mode:
authorUrs Grob <>2009-04-09 19:22:14 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-04-09 19:22:14 -0700
commit06ebe5934eb4c97c2f8ac85ac2ad2906a967ad02 (patch)
tree037f25bec54d739b776599e960867f00280c15f5 /x-net/src
parenta819de28235252eec5e7080f797472b68e297b11 (diff)
downloadlibcore-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')
-rw-r--r--x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory1Test.java10
-rw-r--r--x-net/src/test/java/tests/api/javax/net/ssl/SSLContext1Test.java94
-rw-r--r--x-net/src/test/java/tests/api/javax/net/ssl/SSLEngineTest.java148
-rw-r--r--x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionContextTest.java8
-rw-r--r--x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketFactoryTest.java44
-rw-r--r--x-net/src/test/java/tests/api/javax/net/ssl/X509KeyManagerTest.java262
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() {