summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCasey Marshall <csm@gnu.org>2006-03-27 04:04:02 +0000
committerCasey Marshall <csm@gnu.org>2006-03-27 04:04:02 +0000
commit01640c1b8cfacd0ba0e52cfa35d3d0b74ea5403e (patch)
tree35ef6944e1217b98592634b97d2aefdb67a42007
parentd8a6e6432dae4ac466eb1ee00b6cc43ddc6bd219 (diff)
downloadclasspath-01640c1b8cfacd0ba0e52cfa35d3d0b74ea5403e.tar.gz
2006-03-26 Casey Marshall <csm@gnu.org>
* jessie-tests/gnu/javax/net/ssl/provider/testAlert.java, * jessie-tests/gnu/javax/net/ssl/provider/testCertificate.java, * jessie-tests/gnu/javax/net/ssl/provider/testCertificateRequest.java, * jessie-tests/gnu/javax/net/ssl/provider/testCipherSuiteList.java, * jessie-tests/gnu/javax/net/ssl/provider/testClientHello.java, * jessie-tests/gnu/javax/net/ssl/provider/testCompressionMethodList.java, * jessie-tests/gnu/javax/net/ssl/provider/testHelloRequest.java, * jessie-tests/gnu/javax/net/ssl/provider/testRecord.java, * jessie-tests/gnu/javax/net/ssl/provider/testServerDHParams.java, * jessie-tests/gnu/javax/net/ssl/provider/testServerHello.java, * jessie-tests/gnu/javax/net/ssl/provider/testServerRSAParams.java, * jessie-tests/run-tests.sh: new files.
-rw-r--r--ChangeLog-jessie-nio15
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testAlert.java48
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testCertificate.java46
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testCertificateRequest.java36
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testCipherSuiteList.java28
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testClientHello.java76
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testCompressionMethodList.java21
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testHelloRequest.java22
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testRecord.java66
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testServerDHParams.java32
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testServerHello.java38
-rw-r--r--jessie-tests/gnu/javax/net/ssl/provider/testServerRSAParams.java28
-rw-r--r--jessie-tests/run-tests.sh53
13 files changed, 509 insertions, 0 deletions
diff --git a/ChangeLog-jessie-nio b/ChangeLog-jessie-nio
index 72707c6a5..0770cc7c0 100644
--- a/ChangeLog-jessie-nio
+++ b/ChangeLog-jessie-nio
@@ -1,3 +1,18 @@
+2006-03-26 Casey Marshall <csm@gnu.org>
+
+ * jessie-tests/gnu/javax/net/ssl/provider/testAlert.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testCertificate.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testCertificateRequest.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testCipherSuiteList.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testClientHello.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testCompressionMethodList.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testHelloRequest.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testRecord.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testServerDHParams.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testServerHello.java,
+ * jessie-tests/gnu/javax/net/ssl/provider/testServerRSAParams.java,
+ * jessie-tests/run-tests.sh: new files.
+
2006-03-10 Casey Marshall <csm@gnu.org>
* gnu/java/lang/PseudoEnum.java: new file.
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testAlert.java b/jessie-tests/gnu/javax/net/ssl/provider/testAlert.java
new file mode 100644
index 000000000..d209248e2
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testAlert.java
@@ -0,0 +1,48 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.nio.ByteBuffer;
+
+class testAlert
+{
+ public static void main (String[] argv)
+ {
+ Alert a1 = new Alert (ByteBuffer.allocate (2));
+ try
+ {
+ a1.setLevel (Alert.Level.WARNING);
+ System.out.println ("PASS: setLevel()");
+ a1.setDescription (Alert.Description.UNEXPECTED_MESSAGE);
+ System.out.println ("PASS: setDescription()");
+ }
+ catch (Throwable t)
+ {
+ System.out.println ("FAIL: " + t);
+ t.printStackTrace ();
+ System.exit (1);
+ }
+
+ Alert a2 = new Alert (ByteBuffer.allocate (2));
+ try
+ {
+ a2.setLevel (Alert.Level.WARNING);
+ System.out.println ("PASS: setLevel()");
+ a2.setDescription (Alert.Description.UNEXPECTED_MESSAGE);
+ System.out.println ("PASS: setDescription()");
+ }
+ catch (Throwable t)
+ {
+ System.out.println ("FAIL: " + t);
+ t.printStackTrace ();
+ System.exit (1);
+ }
+
+ if (a1.equals (a2))
+ System.out.println ("PASS: equals()");
+ else
+ System.out.println ("FAIL: equals()");
+
+ System.err.println (a1);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testCertificate.java b/jessie-tests/gnu/javax/net/ssl/provider/testCertificate.java
new file mode 100644
index 000000000..7a93feac4
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testCertificate.java
@@ -0,0 +1,46 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.io.ByteArrayInputStream;
+import java.nio.ByteBuffer;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import java.util.Collections;
+
+class testCertificate
+{
+ static final byte[] test_cert =
+ ("-----BEGIN CERTIFICATE-----\n" +
+ "MIICFTCCAX6gAwIBAgIBATANBgkqhkiG9w0BAQQFADBVMRswGQYDVQQKExJBcGFj\n" +
+ "aGUgSFRUUCBTZXJ2ZXIxIjAgBgNVBAsTGUZvciB0ZXN0aW5nIHB1cnBvc2VzIG9u\n" +
+ "bHkxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0wNDA0MTMwMzM1NTJaFw0wNTA0MTMw\n" +
+ "MzM1NTJaMEwxGzAZBgNVBAoTEkFwYWNoZSBIVFRQIFNlcnZlcjEZMBcGA1UECxMQ\n" +
+ "VGVzdCBDZXJ0aWZpY2F0ZTESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3\n" +
+ "DQEBAQUAA4GNADCBiQKBgQCxJUcMWt9GO59u46xY/gbp0sZP6v4nbnG64as6UF9c\n" +
+ "rlyKUaSToUoO0LtBT1MlZxAg+VgmrCz75clOFdzUJonj9aOMZZvkOHgVhUwuGOcO\n" +
+ "1gLYa+vjhaPdbfymo5ztEbBZBZ9GsasGPX6K58GmQaUQwUtdcgE/hhnhwN+gHPBm\n" +
+ "7wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADSEHkrDmCCdmtX8+9O4o4Uvb2UobeF+\n" +
+ "1GspRsWBMPHUDDF1ipEHxlNp0+M9hwTqFqQwBoJJ7Kfcqz+lXd61hS0GQZJdEkzp\n" +
+ "7578r/KhpXsT+fLKTBUgjrwOoHbohCqOWejV2j6lstA8P3U/vdAQuLTm0GiuIFcv\n" +
+ "riDVGJJzZ2b/\n" +
+ "-----END CERTIFICATE-----\n").getBytes ();
+
+ public static void main (String[] argv) throws Throwable
+ {
+ final int alloc_len = 4096;
+ CertificateFactory factory = CertificateFactory.getInstance ("X.509");
+ X509Certificate cert = (X509Certificate)
+ factory.generateCertificate (new ByteArrayInputStream (test_cert));
+ ByteBuffer buffer = ByteBuffer.allocate (alloc_len);
+ Handshake handshake = new Handshake (buffer);
+
+ handshake.setType (Handshake.Type.CERTIFICATE);
+ handshake.setLength (alloc_len - 4);
+
+ Certificate _cert = (Certificate) handshake.getBody ();
+ _cert.setCertificates (Collections.singletonList (cert));
+ System.err.println (_cert.getCertificates ());
+ System.err.println (_cert);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testCertificateRequest.java b/jessie-tests/gnu/javax/net/ssl/provider/testCertificateRequest.java
new file mode 100644
index 000000000..84350d039
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testCertificateRequest.java
@@ -0,0 +1,36 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.nio.ByteBuffer;
+import javax.security.auth.x500.X500Principal;
+
+class testCertificateRequest
+{
+ public static void main (String[] argv) throws Throwable
+ {
+ ByteBuffer buffer = ByteBuffer.allocate (4096);
+ System.err.println ("create X500Principal...");
+ X500Principal name = new X500Principal ("C=US,ST=MA,L=Boston,O=FSF,OU=Certificate Authority,CN=savannah.gnu.org");
+ System.err.println (name);
+ CertificateRequest req = new CertificateRequest (buffer);
+
+ System.err.println ("getting types...");
+ ClientCertificateTypeList types = req.getTypes ();
+ types.setSize (4);
+ System.err.println ("adding types...");
+ types.put (0, CertificateRequest.ClientCertificateType.DSS_FIXED_DH);
+ types.put (1, CertificateRequest.ClientCertificateType.RSA_FIXED_DH);
+ types.put (2, CertificateRequest.ClientCertificateType.DSS_SIGN);
+ types.put (3, CertificateRequest.ClientCertificateType.RSA_SIGN);
+
+ System.err.println ("getting names...");
+ X500PrincipalList names = req.getAuthorities ();
+ byte[] bytes = name.getEncoded ();
+ names.setSize (1, bytes.length);
+ System.err.println ("putting name...");
+ names.put (0, bytes);
+
+ System.err.println (req);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testCipherSuiteList.java b/jessie-tests/gnu/javax/net/ssl/provider/testCipherSuiteList.java
new file mode 100644
index 000000000..4c52570e4
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testCipherSuiteList.java
@@ -0,0 +1,28 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.nio.ByteBuffer;
+
+class testCipherSuiteList
+{
+ public static void main (String[] argv) throws Exception
+ {
+ final int n = 8;
+ ByteBuffer buffer = ByteBuffer.allocate (n * 2 + 2);
+ CipherSuiteList list = new CipherSuiteList (buffer);
+
+ list.setSize (n);
+ Field[] f = CipherSuite.class.getDeclaredFields ();
+ for (int i = 0, j = 0; i < f.length && j < n; i++)
+ {
+ if (CipherSuite.class.equals (f[i].getType ())
+ && Modifier.isStatic (f[i].getModifiers ()))
+ list.put (j++, (CipherSuite) f[i].get (null));
+ }
+
+ System.err.println (list);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testClientHello.java b/jessie-tests/gnu/javax/net/ssl/provider/testClientHello.java
new file mode 100644
index 000000000..a540f0f8e
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testClientHello.java
@@ -0,0 +1,76 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+
+class testClientHello
+{
+ public static void main (String[] argv)
+ {
+ final int alloc_len = 4096;
+ ByteBuffer buffer = ByteBuffer.allocate (alloc_len);
+ Handshake handshake = new Handshake (buffer);
+
+ handshake.setType (Handshake.Type.CLIENT_HELLO);
+ handshake.setLength (alloc_len - 4);
+
+ ClientHello hello = null;
+ try
+ {
+ hello = (ClientHello) handshake.getBody ();
+ }
+ catch (Exception x)
+ {
+ x.printStackTrace (System.err);
+ System.out.println ("FAIL: " + x);
+ System.exit (1);
+ }
+
+ byte[] sessionId = new byte[32];
+ for (int i = 0; i < 32; i++)
+ sessionId[i] = (byte) i;
+
+ hello.setProtocolVersion (ProtocolVersion.TLS_1);
+ hello.setSessionId (sessionId);
+
+ Random random = hello.getRandom ();
+ random.setGMTUnixTime (123456);
+ byte[] nonce = new byte [28];
+ for (int i = 0; i < nonce.length; i++)
+ nonce[i] = (byte) i;
+ random.setRandomBytes (nonce);
+
+ CipherSuiteList suites = hello.getCipherSuites ();
+ suites.setSize (10);
+ suites.put (0, CipherSuite.TLS_NULL_WITH_NULL_NULL);
+ suites.put (1, CipherSuite.TLS_RSA_WITH_NULL_MD5);
+ suites.put (2, CipherSuite.TLS_RSA_WITH_NULL_SHA);
+ suites.put (3, CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5);
+ suites.put (4, CipherSuite.TLS_RSA_WITH_RC4_128_MD5);
+ suites.put (5, CipherSuite.TLS_RSA_WITH_RC4_128_SHA);
+ suites.put (6, CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA);
+ suites.put (7, CipherSuite.TLS_RSA_WITH_DES_CBC_SHA);
+ suites.put (8, CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA);
+ suites.put (9, CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA);
+
+ CompressionMethodList comps = hello.getCompressionMethods ();
+ comps.setSize (2);
+ comps.put (0, CompressionMethod.NULL);
+ comps.put (1, CompressionMethod.ZLIB);
+
+ hello.setExtensionsLength (0);
+ handshake.setLength (hello.getLength ());
+
+ hello = (ClientHello) handshake.getBody ();
+ if (!ProtocolVersion.TLS_1.equals (hello.getProtocolVersion ()))
+ System.out.println ("FAIL: getProtocolVersion ()");
+ if (hello.getRandom ().getGMTUnixTime () != 123456)
+ System.out.println ("FAIL: getRandom ().getGMTUnixTime ()");
+ if (!Arrays.equals (nonce, hello.getRandom ().getRandomBytes ()))
+ System.out.println ("FAIL: getRandom ().getRandomBytes ()");
+
+ System.err.println (handshake);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testCompressionMethodList.java b/jessie-tests/gnu/javax/net/ssl/provider/testCompressionMethodList.java
new file mode 100644
index 000000000..456c1f9a3
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testCompressionMethodList.java
@@ -0,0 +1,21 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.nio.ByteBuffer;
+
+class testCompressionMethodList
+{
+ public static void main (String[] argv) throws Exception
+ {
+ ByteBuffer buffer = ByteBuffer.allocate (3);
+ CompressionMethodList list = new CompressionMethodList (buffer);
+
+ list.setSize (2);
+ list.put (0, CompressionMethod.NULL);
+ list.put (1, CompressionMethod.ZLIB);
+ System.err.println (list);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testHelloRequest.java b/jessie-tests/gnu/javax/net/ssl/provider/testHelloRequest.java
new file mode 100644
index 000000000..ff51940d0
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testHelloRequest.java
@@ -0,0 +1,22 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.nio.ByteBuffer;
+
+class testHelloRequest
+{
+ public static void main (String[] argv) throws Throwable
+ {
+ ByteBuffer buffer = ByteBuffer.allocate (4);
+ Handshake handshake = new Handshake (buffer);
+ handshake.setType (Handshake.Type.HELLO_REQUEST);
+ handshake.setLength (0);
+ Handshake.Body body = handshake.getBody ();
+
+ if (!(body instanceof HelloRequest))
+ System.out.println ("FAIL: " + body.getClass ());
+
+ System.err.println (handshake);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testRecord.java b/jessie-tests/gnu/javax/net/ssl/provider/testRecord.java
new file mode 100644
index 000000000..176d575a4
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testRecord.java
@@ -0,0 +1,66 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+
+class testRecord
+{
+ public static void main (final String[] argv)
+ {
+ ByteBuffer buf = ByteBuffer.allocate (42 + 5);
+ Record record = new Record (buf);
+ byte[] fragment = new byte[42];
+ new java.util.Random (31337).nextBytes (fragment);
+ try
+ {
+ record.setVersion (ProtocolVersion.TLS_1);
+ System.out.println ("PASS: setVersion");
+ record.setContentType (ContentType.APPLICATION_DATA);
+ System.out.println ("PASS: setContentType");
+ record.setLength (42);
+ System.out.println ("PASS: setLength");
+ }
+ catch (Throwable t)
+ {
+ System.out.println ("FAIL: " + t);
+ System.exit (1);
+ }
+
+ try
+ {
+ record.getFragment ().put (fragment);
+ System.out.println ("PASS: getFragment ().put ()");
+ }
+ catch (Throwable t)
+ {
+ System.out.println ("FAIL: " + t);
+ System.exit (1);
+ }
+
+ if (ProtocolVersion.TLS_1.equals (record.getVersion ()))
+ System.out.println ("PASS: getVersion()");
+ else
+ System.out.println ("FAIL: getVersion()");
+
+ if (ContentType.APPLICATION_DATA.equals (record.getContentType ()))
+ System.out.println ("PASS: getContentType()");
+ else
+ System.out.println ("FAIL: getContentType()");
+
+ if (record.getLength () == 42)
+ System.out.println ("PASS: getLength()");
+ else
+ System.out.println ("FAIL: getLength()");
+
+ byte[] fragment2 = new byte[42];
+ record.getFragment ().get (fragment2);
+ if (Arrays.equals (fragment, fragment2))
+ System.out.println ("PASS: getFragment ().get ()");
+ else
+ System.out.println ("FAIL: getFragment ().get ()");
+
+ System.err.println (record);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testServerDHParams.java b/jessie-tests/gnu/javax/net/ssl/provider/testServerDHParams.java
new file mode 100644
index 000000000..20c03dc07
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testServerDHParams.java
@@ -0,0 +1,32 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.math.BigInteger;
+import java.nio.ByteBuffer;
+
+class testServerDHParams
+{
+ public static void main (String[] argv) throws Throwable
+ {
+ BigInteger p = new BigInteger ("1234567890abcdef1234567890abcdef1234567890abcdef", 16);
+ BigInteger g = BigInteger.valueOf (2);
+ BigInteger y = new BigInteger ("fedcba0987654321fedcba0987654321fedcba0987654321", 16);
+ ByteBuffer buffer = ByteBuffer.allocate (1024);
+
+ ServerDHParams params = new ServerDHParams (buffer);
+
+ params.setP (p);
+ params.setG (g);
+ params.setY (y);
+
+ if (!params.getP ().equals (p))
+ System.out.println ("FAIL: " + p + " != " + params.getP ());
+ if (!params.getG ().equals (g))
+ System.out.println ("FAIL: " + g + " != " + params.getG ());
+ if (!params.getY ().equals (y))
+ System.out.println ("FAIL: " + y + " != " + params.getY ());
+
+ System.err.println (params);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testServerHello.java b/jessie-tests/gnu/javax/net/ssl/provider/testServerHello.java
new file mode 100644
index 000000000..eba9176ce
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testServerHello.java
@@ -0,0 +1,38 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.nio.ByteBuffer;
+
+class testServerHello
+{
+ public static void main (String[] argv) throws Exception
+ {
+ final int alloc_len = 4096;
+ ByteBuffer buffer = ByteBuffer.allocate (alloc_len);
+ Handshake handshake = new Handshake (buffer);
+
+ handshake.setType (Handshake.Type.SERVER_HELLO);
+ handshake.setLength (alloc_len - 4);
+
+ ServerHello hello = (ServerHello) handshake.getBody ();
+
+ hello.setProtocolVersion (ProtocolVersion.TLS_1);
+ Random random = hello.getRandom ();
+ random.setGMTUnixTime (123456);
+ byte[] nonce = new byte[28];
+ for (int i = 0; i < nonce.length; i++)
+ nonce[i] = (byte) i;
+ random.setRandomBytes (nonce);
+ byte[] sessionId = new byte[32];
+ for (int i = 0; i < sessionId.length; i++)
+ sessionId[i] = (byte) i;
+ hello.setSessionId (sessionId);
+ hello.setCipherSuite (CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA);
+ hello.setCompressionMethod (CompressionMethod.ZLIB);
+ hello.setExtensionsLength (0);
+
+ handshake.setLength (hello.getLength ());
+ System.err.println (handshake);
+ }
+}
diff --git a/jessie-tests/gnu/javax/net/ssl/provider/testServerRSAParams.java b/jessie-tests/gnu/javax/net/ssl/provider/testServerRSAParams.java
new file mode 100644
index 000000000..b40518613
--- /dev/null
+++ b/jessie-tests/gnu/javax/net/ssl/provider/testServerRSAParams.java
@@ -0,0 +1,28 @@
+
+
+package gnu.javax.net.ssl.provider;
+
+import java.math.BigInteger;
+import java.nio.ByteBuffer;
+
+class testServerRSAParams
+{
+ public static void main (String[] argv) throws Throwable
+ {
+ BigInteger modulus = new BigInteger ("1234567890abcdef1234567890abcdef1234567890abcdef", 16);
+ BigInteger exponent = BigInteger.valueOf (0xff);
+ ByteBuffer buffer = ByteBuffer.allocate (1024);
+
+ ServerRSAParams params = new ServerRSAParams (buffer);
+
+ params.setModulus (modulus);
+ params.setExponent (exponent);
+
+ if (!params.getModulus ().equals (modulus))
+ System.out.println ("FAIL: " + modulus + " != " + params.getModulus ());
+ if (!params.getExponent ().equals (exponent))
+ System.out.println ("FAIL: " + exponent + " != " + params.getExponent ());
+
+ System.err.println (params);
+ }
+}
diff --git a/jessie-tests/run-tests.sh b/jessie-tests/run-tests.sh
new file mode 100644
index 000000000..baa27ffee
--- /dev/null
+++ b/jessie-tests/run-tests.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+test -z "$JAVAC" && export JAVAC=jikes
+test -z "$JAVA" && export JAVA=jamvm
+test -z "$JAVA_OPTIONS" && export JAVA_OPTIONS=
+test -z "$CLASSPATH" && export CLASSPATH=.
+
+tests="gnu.javax.net.ssl.provider.testAlert \
+ gnu.javax.net.ssl.provider.testCertificate \
+ gnu.javax.net.ssl.provider.testCertificateRequest \
+ gnu.javax.net.ssl.provider.testCipherSuiteList \
+ gnu.javax.net.ssl.provider.testClientHello \
+ gnu.javax.net.ssl.provider.testCompressionMethodList \
+ gnu.javax.net.ssl.provider.testHelloRequest \
+ gnu.javax.net.ssl.provider.testRecord \
+ gnu.javax.net.ssl.provider.testServerDHParams \
+ gnu.javax.net.ssl.provider.testServerHello \
+ gnu.javax.net.ssl.provider.testServerRSAParams"
+
+rm -rf test-classes
+mkdir test-classes
+${JAVAC} -d test-classes gnu/javax/net/ssl/provider/*.java || exit 1
+
+fails=0
+rm -rf check.log check.err
+echo -n "Jessie check run at " | tee check.err > check.log
+date | tee -a check.err >> check.log
+for test in $tests
+do
+ echo $test
+ echo ---- $test ---- >> check.err
+ if `(${JAVA} ${JAVA_OPTIONS} -cp ${CLASSPATH}:test-classes $test 2>> check.err || echo FAIL: $test) | tee -a check.log | grep -q ^FAIL > /dev/null`
+ then
+ echo FAIL: $test
+ let 'fails = fails + 1'
+ fi
+done
+
+if test ${fails} -eq 1
+then
+ echo $fails failure
+ echo ---- $fails failure ---- >> check.err
+else
+ echo $fails failures
+ echo ---- $fails failures ---- >> check.err
+fi
+echo -n "Jessie check done at " >> check.err
+date >> check.err
+
+if test ${fails} -gt 0
+ then
+ exit 1
+fi