summaryrefslogtreecommitdiffstats
path: root/base/util/test/com/netscape/security/x509
diff options
context:
space:
mode:
Diffstat (limited to 'base/util/test/com/netscape/security/x509')
-rw-r--r--base/util/test/com/netscape/security/x509/ConverterTestUtil.java22
-rw-r--r--base/util/test/com/netscape/security/x509/DirStrConverterTest.java122
-rw-r--r--base/util/test/com/netscape/security/x509/GenericValueConverterTest.java125
-rw-r--r--base/util/test/com/netscape/security/x509/IA5StringConverterTest.java93
-rw-r--r--base/util/test/com/netscape/security/x509/PrintableConverterTest.java103
5 files changed, 465 insertions, 0 deletions
diff --git a/base/util/test/com/netscape/security/x509/ConverterTestUtil.java b/base/util/test/com/netscape/security/x509/ConverterTestUtil.java
new file mode 100644
index 000000000..748c1b284
--- /dev/null
+++ b/base/util/test/com/netscape/security/x509/ConverterTestUtil.java
@@ -0,0 +1,22 @@
+package com.netscape.security.x509;
+
+import netscape.security.util.DerOutputStream;
+import netscape.security.util.DerValue;
+import netscape.security.x509.AVAValueConverter;
+
+public class ConverterTestUtil {
+
+ public static byte[] convert(AVAValueConverter converter, String string, byte[] tags) throws Exception {
+
+ DerOutputStream os = new DerOutputStream();
+
+ DerValue value = converter.getValue(string, tags);
+ value.encode(os);
+
+ return os.toByteArray();
+ }
+
+ public static byte[] convert(AVAValueConverter converter, String string) throws Exception {
+ return convert(converter, string, null);
+ }
+}
diff --git a/base/util/test/com/netscape/security/x509/DirStrConverterTest.java b/base/util/test/com/netscape/security/x509/DirStrConverterTest.java
new file mode 100644
index 000000000..0549dec9c
--- /dev/null
+++ b/base/util/test/com/netscape/security/x509/DirStrConverterTest.java
@@ -0,0 +1,122 @@
+package com.netscape.security.x509;
+
+import org.junit.Test;
+import org.junit.Assert;
+
+import com.netscape.security.util.JSSUtil;
+import com.netscape.security.util.StringTestUtil;
+
+import netscape.security.util.DerValue;
+import netscape.security.x509.DirStrConverter;
+
+public class DirStrConverterTest {
+
+ @Test
+ public void testEmptyString() throws Exception {
+
+ String string = "";
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_PrintableString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new DirStrConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testNullCharacters() throws Exception {
+
+ String string = StringTestUtil.NULL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_T61String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new DirStrConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testPrintableCharacters() throws Exception {
+
+ String string = StringTestUtil.PRINTABLE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_PrintableString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new DirStrConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testControlCharacters() throws Exception {
+
+ String string = StringTestUtil.CONTROL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_T61String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new DirStrConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testMultibyteCharacters() throws Exception {
+
+ String string = StringTestUtil.MULTIBYTE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_UniversalString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new DirStrConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testPrintableCharactersWithTags() throws Exception {
+
+ String string = StringTestUtil.PRINTABLE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new DirStrConverter(), string, new byte[] {
+ DerValue.tag_IA5String, DerValue.tag_UTF8String
+ });
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testMultibyteCharactersWithTags() throws Exception {
+
+ String string = StringTestUtil.MULTIBYTE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_UTF8String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new DirStrConverter(), string, new byte[] {
+ DerValue.tag_IA5String, DerValue.tag_UTF8String
+ });
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+}
diff --git a/base/util/test/com/netscape/security/x509/GenericValueConverterTest.java b/base/util/test/com/netscape/security/x509/GenericValueConverterTest.java
new file mode 100644
index 000000000..46ea86cc7
--- /dev/null
+++ b/base/util/test/com/netscape/security/x509/GenericValueConverterTest.java
@@ -0,0 +1,125 @@
+package com.netscape.security.x509;
+
+import org.junit.Test;
+import org.junit.Assert;
+
+import com.netscape.security.util.JSSUtil;
+import com.netscape.security.util.StringTestUtil;
+
+import netscape.security.util.DerValue;
+import netscape.security.x509.GenericValueConverter;
+
+public class GenericValueConverterTest {
+
+ @Test
+ public void testEmptyString() throws Exception {
+
+ String string = "";
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_PrintableString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new GenericValueConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testNullCharacters() throws Exception {
+
+ String string = StringTestUtil.NULL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new GenericValueConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testPrintableCharacters() throws Exception {
+
+ String string = StringTestUtil.PRINTABLE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_PrintableString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new GenericValueConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testControlCharacters() throws Exception {
+
+ String string = StringTestUtil.CONTROL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new GenericValueConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testMultibyteCharacters() throws Exception {
+
+ String string = StringTestUtil.MULTIBYTE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_BMPString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new GenericValueConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ actual = StringTestUtil.normalizeUnicode(actual);
+ System.out.println(" - norm. : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testPrintableCharactersWithTags() throws Exception {
+
+ String string = StringTestUtil.PRINTABLE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_T61String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new GenericValueConverter(), string, new byte[] {
+ DerValue.tag_T61String, DerValue.tag_UniversalString
+ });
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testMultibyteCharactersWithTags() throws Exception {
+
+ String string = StringTestUtil.MULTIBYTE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_UniversalString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new GenericValueConverter(), string, new byte[] {
+ DerValue.tag_T61String, DerValue.tag_UniversalString
+ });
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+}
diff --git a/base/util/test/com/netscape/security/x509/IA5StringConverterTest.java b/base/util/test/com/netscape/security/x509/IA5StringConverterTest.java
new file mode 100644
index 000000000..ba99218ad
--- /dev/null
+++ b/base/util/test/com/netscape/security/x509/IA5StringConverterTest.java
@@ -0,0 +1,93 @@
+package com.netscape.security.x509;
+
+import org.junit.Test;
+import org.junit.Assert;
+
+import com.netscape.security.util.JSSUtil;
+import com.netscape.security.util.StringTestUtil;
+
+import netscape.security.util.DerValue;
+import netscape.security.x509.IA5StringConverter;
+
+public class IA5StringConverterTest {
+
+ @Test
+ public void testEmptyString() throws Exception {
+
+ String string = "";
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testNullCharacters() throws Exception {
+
+ String string = StringTestUtil.NULL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testPrintableCharacters() throws Exception {
+
+ String string = StringTestUtil.PRINTABLE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testControlCharacters() throws Exception {
+
+ String string = StringTestUtil.CONTROL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testMultibyteCharacters() throws Exception {
+
+ String string = StringTestUtil.MULTIBYTE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ System.out.println(" - expected: IllegalArgumentException");
+
+ try {
+ byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.fail();
+
+ } catch (Exception e) {
+ System.out.println(" - actual : " + e.getClass().getSimpleName());
+ Assert.assertTrue(e instanceof IllegalArgumentException);
+ }
+ }
+}
diff --git a/base/util/test/com/netscape/security/x509/PrintableConverterTest.java b/base/util/test/com/netscape/security/x509/PrintableConverterTest.java
new file mode 100644
index 000000000..a7acc9c90
--- /dev/null
+++ b/base/util/test/com/netscape/security/x509/PrintableConverterTest.java
@@ -0,0 +1,103 @@
+package com.netscape.security.x509;
+
+import org.junit.Test;
+import org.junit.Assert;
+
+import com.netscape.security.util.JSSUtil;
+import com.netscape.security.util.StringTestUtil;
+
+import netscape.security.util.DerValue;
+import netscape.security.x509.PrintableConverter;
+
+public class PrintableConverterTest {
+
+ @Test
+ public void testEmptyString() throws Exception {
+
+ String string = "";
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_PrintableString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new PrintableConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testNullCharacters() throws Exception {
+
+ String string = StringTestUtil.NULL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ System.out.println(" - expected: IllegalArgumentException");
+
+ try {
+ byte[] actual = ConverterTestUtil.convert(new PrintableConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.fail();
+
+ } catch (Exception e) {
+ System.out.println(" - actual : " + e.getClass().getSimpleName());
+ Assert.assertTrue(e instanceof IllegalArgumentException);
+ }
+ }
+
+ @Test
+ public void testPrintableCharacters() throws Exception {
+
+ String string = StringTestUtil.PRINTABLE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ byte[] expected = JSSUtil.encode(DerValue.tag_PrintableString, string);
+ System.out.println(" - expected: " + StringTestUtil.toString(expected));
+
+ byte[] actual = ConverterTestUtil.convert(new PrintableConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testControlCharacters() throws Exception {
+
+ String string = StringTestUtil.CONTROL_CHARS;
+ System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]");
+
+ System.out.println(" - expected: IllegalArgumentException");
+
+ try {
+ byte[] actual = ConverterTestUtil.convert(new PrintableConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.fail();
+
+ } catch (Exception e) {
+ System.out.println(" - actual : " + e.getClass().getSimpleName());
+ Assert.assertTrue(e instanceof IllegalArgumentException);
+ }
+ }
+
+ @Test
+ public void testMultibyteCharacters() throws Exception {
+
+ String string = StringTestUtil.MULTIBYTE_CHARS;
+ System.out.println("Converting: [" + string + "]");
+
+ System.out.println(" - expected: IllegalArgumentException");
+
+ try {
+ byte[] actual = ConverterTestUtil.convert(new PrintableConverter(), string);
+ System.out.println(" - actual : " + StringTestUtil.toString(actual));
+
+ Assert.fail();
+
+ } catch (Exception e) {
+ System.out.println(" - actual : " + e.getClass().getSimpleName());
+ Assert.assertTrue(e instanceof IllegalArgumentException);
+ }
+ }
+}