summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/asn1/test
diff options
context:
space:
mode:
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/test')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1SequenceParserTest.java372
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1UnitTest.java89
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java69
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionSyntaxUnitTest.java97
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionsUnitTest.java86
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/AllTests.java43
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/AttributeTableUnitTest.java144
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/BiometricDataUnitTest.java133
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringConstantTester.java22
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java73
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/CMSTest.java358
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/CertHashUnitTest.java84
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/CertificateTest.java602
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeIndicationUnitTest.java103
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeQualifierUnitTest.java102
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ContentHintsUnitTest.java87
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/CscaMasterListTest.java49
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/DERApplicationSpecificTest.java77
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/DERUTF8StringTest.java101
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/DataGroupHashUnitTest.java106
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/DeclarationOfMajorityUnitTest.java90
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ESSCertIDv2UnitTest.java33
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/EncryptedPrivateKeyInfoTest.java135
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/EnumeratedTest.java115
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/EqualsAndHashCodeTest.java127
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralNameTest.java143
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralizedTimeTest.java201
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/GenerationTest.java441
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/GetInstanceTest.java888
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/InputStreamTest.java75
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java142
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/IssuingDistributionPointUnitTest.java122
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/KeyUsageTest.java55
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/LDSSecurityObjectUnitTest.java214
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/MiscTest.java113
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java85
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryValueUnitTest.java88
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/NameOrPseudonymUnitTest.java108
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/NamingAuthorityUnitTest.java99
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/NetscapeCertTypeTest.java34
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/OCSPTest.java193
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/OIDTest.java165
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ObjectIdentifierTest.java38
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/OctetStringTest.java203
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/OtherCertIDUnitTest.java97
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/OtherSigningCertificateUnitTest.java86
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS10Test.java101
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS12Test.java227
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/PKIFailureInfoTest.java68
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ParseTest.java308
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ParsingTest.java99
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/PersonalDataUnitTest.java121
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ProcurationSyntaxUnitTest.java107
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ProfessionInfoUnitTest.java117
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/QCStatementUnitTest.java104
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/RFC4519Test.java149
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/ReasonFlagsTest.java35
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/RegressionTest.java92
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/RequestedCertificateUnitTest.java108
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/RestrictionUnitTest.java70
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/SMIMETest.java109
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/SemanticsInformationUnitTest.java135
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/SetTest.java115
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/SignerLocationUnitTest.java197
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/StringTest.java161
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/SubjectKeyIdentifierTest.java48
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/TagTest.java113
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/TargetInformationTest.java48
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/TypeOfBiometricDataUnitTest.java144
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java108
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/X500NameTest.java777
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/X509ExtensionsTest.java105
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/X509NameTest.java693
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/X9Test.java173
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/package.html5
75 files changed, 0 insertions, 11524 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1SequenceParserTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1SequenceParserTest.java
deleted file mode 100644
index e0cd1af..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1SequenceParserTest.java
+++ /dev/null
@@ -1,372 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.math.BigInteger;
-import java.util.Arrays;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1Null;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1SequenceParser;
-import org.bouncycastle.asn1.ASN1StreamParser;
-import org.bouncycastle.asn1.BERSequenceGenerator;
-import org.bouncycastle.asn1.DERSequenceGenerator;
-import org.bouncycastle.util.encoders.Hex;
-
-public class ASN1SequenceParserTest
- extends TestCase
-{
- private static final byte[] seqData = Hex.decode("3006020100060129");
- private static final byte[] nestedSeqData = Hex.decode("300b0201000601293003020101");
- private static final byte[] expTagSeqData = Hex.decode("a1083006020100060129");
- private static final byte[] implTagSeqData = Hex.decode("a106020100060129");
- private static final byte[] nestedSeqExpTagData = Hex.decode("300d020100060129a1053003020101");
- private static final byte[] nestedSeqImpTagData = Hex.decode("300b020100060129a103020101");
-
- private static final byte[] berSeqData = Hex.decode("30800201000601290000");
- private static final byte[] berDERNestedSeqData = Hex.decode("308002010006012930030201010000");
- private static final byte[] berNestedSeqData = Hex.decode("3080020100060129308002010100000000");
- private static final byte[] berExpTagSeqData = Hex.decode("a180308002010006012900000000");
-
- private static final byte[] berSeqWithDERNullData = Hex.decode("308005000201000601290000");
-
- public void testDERWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DERSequenceGenerator seqGen = new DERSequenceGenerator(bOut);
-
- seqGen.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen.addObject(new ASN1ObjectIdentifier("1.1"));
-
- seqGen.close();
-
- assertTrue("basic DER writing test failed.", Arrays.equals(seqData, bOut.toByteArray()));
- }
-
- public void testNestedDERWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DERSequenceGenerator seqGen1 = new DERSequenceGenerator(bOut);
-
- seqGen1.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen1.addObject(new ASN1ObjectIdentifier("1.1"));
-
- DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream());
-
- seqGen2.addObject(new ASN1Integer(BigInteger.valueOf(1)));
-
- seqGen2.close();
-
- seqGen1.close();
-
- assertTrue("nested DER writing test failed.", Arrays.equals(nestedSeqData, bOut.toByteArray()));
- }
-
- public void testDERExplicitTaggedSequenceWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DERSequenceGenerator seqGen = new DERSequenceGenerator(bOut, 1, true);
-
- seqGen.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen.addObject(new ASN1ObjectIdentifier("1.1"));
-
- seqGen.close();
-
- assertTrue("explicit tag writing test failed.", Arrays.equals(expTagSeqData, bOut.toByteArray()));
- }
-
- public void testDERImplicitTaggedSequenceWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DERSequenceGenerator seqGen = new DERSequenceGenerator(bOut, 1, false);
-
- seqGen.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen.addObject(new ASN1ObjectIdentifier("1.1"));
-
- seqGen.close();
-
- assertTrue("implicit tag writing test failed.", Arrays.equals(implTagSeqData, bOut.toByteArray()));
- }
-
- public void testNestedExplicitTagDERWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DERSequenceGenerator seqGen1 = new DERSequenceGenerator(bOut);
-
- seqGen1.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen1.addObject(new ASN1ObjectIdentifier("1.1"));
-
- DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream(), 1, true);
-
- seqGen2.addObject(new ASN1Integer(BigInteger.valueOf(1)));
-
- seqGen2.close();
-
- seqGen1.close();
-
- assertTrue("nested explicit tagged DER writing test failed.", Arrays.equals(nestedSeqExpTagData, bOut.toByteArray()));
- }
-
- public void testNestedImplicitTagDERWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DERSequenceGenerator seqGen1 = new DERSequenceGenerator(bOut);
-
- seqGen1.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen1.addObject(new ASN1ObjectIdentifier("1.1"));
-
- DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream(), 1, false);
-
- seqGen2.addObject(new ASN1Integer(BigInteger.valueOf(1)));
-
- seqGen2.close();
-
- seqGen1.close();
-
- assertTrue("nested implicit tagged DER writing test failed.", Arrays.equals(nestedSeqImpTagData, bOut.toByteArray()));
- }
-
- public void testBERWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- BERSequenceGenerator seqGen = new BERSequenceGenerator(bOut);
-
- seqGen.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen.addObject(new ASN1ObjectIdentifier("1.1"));
-
- seqGen.close();
-
- assertTrue("basic BER writing test failed.", Arrays.equals(berSeqData, bOut.toByteArray()));
- }
-
- public void testNestedBERDERWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- BERSequenceGenerator seqGen1 = new BERSequenceGenerator(bOut);
-
- seqGen1.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen1.addObject(new ASN1ObjectIdentifier("1.1"));
-
- DERSequenceGenerator seqGen2 = new DERSequenceGenerator(seqGen1.getRawOutputStream());
-
- seqGen2.addObject(new ASN1Integer(BigInteger.valueOf(1)));
-
- seqGen2.close();
-
- seqGen1.close();
-
- assertTrue("nested BER/DER writing test failed.", Arrays.equals(berDERNestedSeqData, bOut.toByteArray()));
- }
-
- public void testNestedBERWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- BERSequenceGenerator seqGen1 = new BERSequenceGenerator(bOut);
-
- seqGen1.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen1.addObject(new ASN1ObjectIdentifier("1.1"));
-
- BERSequenceGenerator seqGen2 = new BERSequenceGenerator(seqGen1.getRawOutputStream());
-
- seqGen2.addObject(new ASN1Integer(BigInteger.valueOf(1)));
-
- seqGen2.close();
-
- seqGen1.close();
-
- assertTrue("nested BER writing test failed.", Arrays.equals(berNestedSeqData, bOut.toByteArray()));
- }
-
- public void testDERReading()
- throws Exception
- {
- ASN1StreamParser aIn = new ASN1StreamParser(seqData);
-
- ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject();
- Object o;
- int count = 0;
-
- assertNotNull("null sequence returned", seq);
-
- while ((o = seq.readObject()) != null)
- {
- switch (count)
- {
- case 0:
- assertTrue(o instanceof ASN1Integer);
- break;
- case 1:
- assertTrue(o instanceof ASN1ObjectIdentifier);
- break;
- }
- count++;
- }
-
- assertEquals("wrong number of objects in sequence", 2, count);
- }
-
- private void testNestedReading(
- byte[] data)
- throws Exception
- {
- ASN1StreamParser aIn = new ASN1StreamParser(data);
-
- ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject();
- Object o;
- int count = 0;
-
- assertNotNull("null sequence returned", seq);
-
- while ((o = seq.readObject()) != null)
- {
- switch (count)
- {
- case 0:
- assertTrue(o instanceof ASN1Integer);
- break;
- case 1:
- assertTrue(o instanceof ASN1ObjectIdentifier);
- break;
- case 2:
- assertTrue(o instanceof ASN1SequenceParser);
-
- ASN1SequenceParser s = (ASN1SequenceParser)o;
-
- // NB: Must exhaust the nested parser
- while (s.readObject() != null)
- {
- // Nothing
- }
-
- break;
- }
- count++;
- }
-
- assertEquals("wrong number of objects in sequence", 3, count);
- }
-
- public void testNestedDERReading()
- throws Exception
- {
- testNestedReading(nestedSeqData);
- }
-
- public void testBERReading()
- throws Exception
- {
- ASN1StreamParser aIn = new ASN1StreamParser(berSeqData);
-
- ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject();
- Object o;
- int count = 0;
-
- assertNotNull("null sequence returned", seq);
-
- while ((o = seq.readObject()) != null)
- {
- switch (count)
- {
- case 0:
- assertTrue(o instanceof ASN1Integer);
- break;
- case 1:
- assertTrue(o instanceof ASN1ObjectIdentifier);
- break;
- }
- count++;
- }
-
- assertEquals("wrong number of objects in sequence", 2, count);
- }
-
- public void testNestedBERDERReading()
- throws Exception
- {
- testNestedReading(berDERNestedSeqData);
- }
-
- public void testNestedBERReading()
- throws Exception
- {
- testNestedReading(berNestedSeqData);
- }
-
- public void testBERExplicitTaggedSequenceWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- BERSequenceGenerator seqGen = new BERSequenceGenerator(bOut, 1, true);
-
- seqGen.addObject(new ASN1Integer(BigInteger.valueOf(0)));
-
- seqGen.addObject(new ASN1ObjectIdentifier("1.1"));
-
- seqGen.close();
-
- assertTrue("explicit BER tag writing test failed.", Arrays.equals(berExpTagSeqData, bOut.toByteArray()));
- }
-
- public void testSequenceWithDERNullReading()
- throws Exception
- {
- testParseWithNull(berSeqWithDERNullData);
- }
-
- private void testParseWithNull(byte[] data)
- throws IOException
- {
- ASN1StreamParser aIn = new ASN1StreamParser(data);
- ASN1SequenceParser seq = (ASN1SequenceParser)aIn.readObject();
- Object o;
- int count = 0;
-
- assertNotNull("null sequence returned", seq);
-
- while ((o = seq.readObject()) != null)
- {
- switch (count)
- {
- case 0:
- assertTrue(o instanceof ASN1Null);
- break;
- case 1:
- assertTrue(o instanceof ASN1Integer);
- break;
- case 2:
- assertTrue(o instanceof ASN1ObjectIdentifier);
- break;
- }
- count++;
- }
-
- assertEquals("wrong number of objects in sequence", 3, count);
- }
-
- public static Test suite()
- {
- return new TestSuite(ASN1SequenceParserTest.class);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1UnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1UnitTest.java
deleted file mode 100644
index d51cc6a..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ASN1UnitTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1Encodable;
-import org.bouncycastle.util.test.SimpleTest;
-
-import java.math.BigInteger;
-
-public abstract class ASN1UnitTest
- extends SimpleTest
-{
- protected void checkMandatoryField(String name, ASN1Encodable expected, ASN1Encodable present)
- {
- if (!expected.equals(present))
- {
- fail(name + " field doesn't match.");
- }
- }
-
- protected void checkMandatoryField(String name, String expected, String present)
- {
- if (!expected.equals(present))
- {
- fail(name + " field doesn't match.");
- }
- }
-
- protected void checkMandatoryField(String name, byte[] expected, byte[] present)
- {
- if (!areEqual(expected, present))
- {
- fail(name + " field doesn't match.");
- }
- }
-
- protected void checkMandatoryField(String name, int expected, int present)
- {
- if (expected != present)
- {
- fail(name + " field doesn't match.");
- }
- }
-
- protected void checkOptionalField(String name, ASN1Encodable expected, ASN1Encodable present)
- {
- if (expected != null)
- {
- if (!expected.equals(present))
- {
- fail(name + " field doesn't match.");
- }
- }
- else if (present != null)
- {
- fail(name + " field found when none expected.");
- }
- }
-
- protected void checkOptionalField(String name, String expected, String present)
- {
- if (expected != null)
- {
- if (!expected.equals(present))
- {
- fail(name + " field doesn't match.");
- }
- }
- else if (present != null)
- {
- fail(name + " field found when none expected.");
- }
- }
-
- protected void checkOptionalField(String name, BigInteger expected, BigInteger present)
- {
- if (expected != null)
- {
- if (!expected.equals(present))
- {
- fail(name + " field doesn't match.");
- }
- }
- else if (present != null)
- {
- fail(name + " field found when none expected.");
- }
- }
-
-
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java
deleted file mode 100644
index baf0750..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1String;
-import org.bouncycastle.asn1.isismtt.x509.AdditionalInformationSyntax;
-import org.bouncycastle.asn1.x500.DirectoryString;
-
-public class AdditionalInformationSyntaxUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "AdditionalInformationSyntax";
- }
-
- public void performTest()
- throws Exception
- {
- AdditionalInformationSyntax syntax = new AdditionalInformationSyntax("hello world");
-
- checkConstruction(syntax, new DirectoryString("hello world"));
-
- try
- {
- AdditionalInformationSyntax.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- AdditionalInformationSyntax syntax,
- DirectoryString information)
- throws IOException
- {
- checkValues(syntax, information);
-
- syntax = AdditionalInformationSyntax.getInstance(syntax);
-
- checkValues(syntax, information);
-
- ASN1InputStream aIn = new ASN1InputStream(syntax.toASN1Object().getEncoded());
-
- ASN1String info = (ASN1String)aIn.readObject();
-
- syntax = AdditionalInformationSyntax.getInstance(info);
-
- checkValues(syntax, information);
- }
-
- private void checkValues(
- AdditionalInformationSyntax syntax,
- DirectoryString information)
- {
- checkMandatoryField("information", information, syntax.getInformation());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new AdditionalInformationSyntaxUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionSyntaxUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionSyntaxUnitTest.java
deleted file mode 100644
index ad0e925..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionSyntaxUnitTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.isismtt.x509.AdmissionSyntax;
-import org.bouncycastle.asn1.isismtt.x509.Admissions;
-import org.bouncycastle.asn1.isismtt.x509.NamingAuthority;
-import org.bouncycastle.asn1.isismtt.x509.ProfessionInfo;
-import org.bouncycastle.asn1.x500.DirectoryString;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.X509Name;
-
-public class AdmissionSyntaxUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "AdmissionSyntax";
- }
-
- public void performTest()
- throws Exception
- {
- GeneralName name = new GeneralName(new X509Name("CN=hello world"));
- ASN1Sequence admissions = new DERSequence(
- new Admissions(name,
- new NamingAuthority(new ASN1ObjectIdentifier("1.2.3"), "url", new DirectoryString("fred")),
- new ProfessionInfo[0]));
- AdmissionSyntax syntax = new AdmissionSyntax(name, admissions);
-
- checkConstruction(syntax, name, admissions);
-
- syntax = AdmissionSyntax.getInstance(null);
-
- if (syntax != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- AdmissionSyntax.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- AdmissionSyntax syntax,
- GeneralName authority,
- ASN1Sequence admissions)
- throws IOException
- {
- checkValues(syntax, authority, admissions);
-
- syntax = AdmissionSyntax.getInstance(syntax);
-
- checkValues(syntax, authority, admissions);
-
- ASN1InputStream aIn = new ASN1InputStream(syntax.toASN1Object().getEncoded());
-
- ASN1Sequence info = (ASN1Sequence)aIn.readObject();
-
- syntax = AdmissionSyntax.getInstance(info);
-
- checkValues(syntax, authority, admissions);
- }
-
- private void checkValues(
- AdmissionSyntax syntax,
- GeneralName authority,
- ASN1Sequence admissions)
- {
- checkMandatoryField("admissionAuthority", authority, syntax.getAdmissionAuthority());
-
- Admissions[] adm = syntax.getContentsOfAdmissions();
-
- if (adm.length != 1 || !adm[0].equals(admissions.getObjectAt(0)))
- {
- fail("admissions check failed");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new AdmissionSyntaxUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionsUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionsUnitTest.java
deleted file mode 100644
index 171faec..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/AdmissionsUnitTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.isismtt.x509.Admissions;
-import org.bouncycastle.asn1.isismtt.x509.NamingAuthority;
-import org.bouncycastle.asn1.isismtt.x509.ProfessionInfo;
-import org.bouncycastle.asn1.x500.DirectoryString;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.X509Name;
-
-public class AdmissionsUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "Admissions";
- }
-
- public void performTest()
- throws Exception
- {
- GeneralName name = new GeneralName(new X509Name("CN=hello world"));
- NamingAuthority auth = new NamingAuthority(new ASN1ObjectIdentifier("1.2.3"), "url", new DirectoryString("fred"));
- Admissions admissions = new Admissions(name, auth, new ProfessionInfo[0]);
-
- checkConstruction(admissions, name, auth);
-
- admissions = Admissions.getInstance(null);
-
- if (admissions != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- Admissions.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- Admissions admissions,
- GeneralName name,
- NamingAuthority auth)
- throws IOException
- {
- checkValues(admissions, name, auth);
-
- admissions = Admissions.getInstance(admissions);
-
- checkValues(admissions, name, auth);
-
- ASN1InputStream aIn = new ASN1InputStream(admissions.toASN1Object().getEncoded());
-
- ASN1Sequence info = (ASN1Sequence)aIn.readObject();
-
- admissions = Admissions.getInstance(info);
-
- checkValues(admissions, name, auth);
- }
-
- private void checkValues(
- Admissions admissions,
- GeneralName name,
- NamingAuthority auth)
- {
- checkMandatoryField("admissionAuthority", name, admissions.getAdmissionAuthority());
- checkMandatoryField("namingAuthority", auth, admissions.getNamingAuthority());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new AdmissionsUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/AllTests.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/AllTests.java
deleted file mode 100644
index 5b647b3..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/AllTests.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.bouncycastle.util.test.SimpleTestResult;
-
-public class AllTests
- extends TestCase
-{
- public void testASN1()
- {
- org.bouncycastle.util.test.Test[] tests = RegressionTest.tests;
-
- for (int i = 0; i != tests.length; i++)
- {
- SimpleTestResult result = (SimpleTestResult)tests[i].perform();
-
- if (!result.isSuccessful())
- {
- fail(result.toString());
- }
- }
- }
-
- public static void main (String[] args)
- {
- junit.textui.TestRunner.run(suite());
- }
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite("ASN.1 Tests");
-
- suite.addTestSuite(AllTests.class);
- suite.addTestSuite(GetInstanceTest.class);
- suite.addTestSuite(ASN1SequenceParserTest.class);
- suite.addTestSuite(OctetStringTest.class);
- suite.addTestSuite(ParseTest.class);
-
- return suite;
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/AttributeTableUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/AttributeTableUnitTest.java
deleted file mode 100644
index 337fb1a..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/AttributeTableUnitTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.util.Hashtable;
-
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.DERSet;
-import org.bouncycastle.asn1.cms.Attribute;
-import org.bouncycastle.asn1.cms.AttributeTable;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class AttributeTableUnitTest
- extends SimpleTest
-{
- private static final ASN1ObjectIdentifier type1 = new ASN1ObjectIdentifier("1.1.1");
- private static final ASN1ObjectIdentifier type2 = new ASN1ObjectIdentifier("1.1.2");
- private static final ASN1ObjectIdentifier type3 = new ASN1ObjectIdentifier("1.1.3");
-
- public String getName()
- {
- return "AttributeTable";
- }
-
- public void performTest()
- throws Exception
- {
- ASN1EncodableVector v = new ASN1EncodableVector();
-
- v.add(new Attribute(type1, new DERSet(type1)));
- v.add(new Attribute(type2, new DERSet(type2)));
-
- AttributeTable table = new AttributeTable(v);
-
- Attribute a = table.get(type1);
- if (a == null)
- {
- fail("type1 attribute not found.");
- }
- if (!a.getAttrValues().equals(new DERSet(type1)))
- {
- fail("wrong value retrieved for type1!");
- }
-
- a = table.get(type2);
- if (a == null)
- {
- fail("type2 attribute not found.");
- }
- if (!a.getAttrValues().equals(new DERSet(type2)))
- {
- fail("wrong value retrieved for type2!");
- }
-
- a = table.get(type3);
- if (a != null)
- {
- fail("type3 attribute found when none expected.");
- }
-
- ASN1EncodableVector vec = table.getAll(type1);
- if (vec.size() != 1)
- {
- fail("wrong vector size for type1.");
- }
-
- vec = table.getAll(type3);
- if (vec.size() != 0)
- {
- fail("wrong vector size for type3.");
- }
-
- vec = table.toASN1EncodableVector();
- if (vec.size() != 2)
- {
- fail("wrong vector size for single.");
- }
-
- Hashtable t = table.toHashtable();
-
- if (t.size() != 2)
- {
- fail("hashtable wrong size.");
- }
-
- // multiple
-
- v = new ASN1EncodableVector();
-
- v.add(new Attribute(type1, new DERSet(type1)));
- v.add(new Attribute(type1, new DERSet(type2)));
- v.add(new Attribute(type1, new DERSet(type3)));
- v.add(new Attribute(type2, new DERSet(type2)));
-
- table = new AttributeTable(v);
-
- a = table.get(type1);
- if (!a.getAttrValues().equals(new DERSet(type1)))
- {
- fail("wrong value retrieved for type1 multi get!");
- }
-
- vec = table.getAll(type1);
- if (vec.size() != 3)
- {
- fail("wrong vector size for multiple type1.");
- }
-
- a = (Attribute)vec.get(0);
- if (!a.getAttrValues().equals(new DERSet(type1)))
- {
- fail("wrong value retrieved for type1(0)!");
- }
-
- a = (Attribute)vec.get(1);
- if (!a.getAttrValues().equals(new DERSet(type2)))
- {
- fail("wrong value retrieved for type1(1)!");
- }
-
- a = (Attribute)vec.get(2);
- if (!a.getAttrValues().equals(new DERSet(type3)))
- {
- fail("wrong value retrieved for type1(2)!");
- }
-
- vec = table.getAll(type2);
- if (vec.size() != 1)
- {
- fail("wrong vector size for multiple type2.");
- }
-
- vec = table.toASN1EncodableVector();
- if (vec.size() != 4)
- {
- fail("wrong vector size for multiple.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new AttributeTableUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/BiometricDataUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/BiometricDataUnitTest.java
deleted file mode 100644
index b4c2ea4..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/BiometricDataUnitTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.security.SecureRandom;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1OctetString;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DERIA5String;
-import org.bouncycastle.asn1.DERNull;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.asn1.x509.qualified.BiometricData;
-import org.bouncycastle.asn1.x509.qualified.TypeOfBiometricData;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class BiometricDataUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "BiometricData";
- }
-
- private byte[] generateHash()
- {
- SecureRandom rand = new SecureRandom();
- byte[] bytes = new byte[20];
-
- rand.nextBytes(bytes);
-
- return bytes;
- }
-
- public void performTest()
- throws Exception
- {
- TypeOfBiometricData dataType = new TypeOfBiometricData(TypeOfBiometricData.HANDWRITTEN_SIGNATURE);
- AlgorithmIdentifier hashAlgorithm = new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE);
- ASN1OctetString dataHash = new DEROctetString(generateHash());
- BiometricData bd = new BiometricData(dataType, hashAlgorithm, dataHash);
-
- checkConstruction(bd, dataType, hashAlgorithm, dataHash, null);
-
- DERIA5String dataUri = new DERIA5String("http://test");
-
- bd = new BiometricData(dataType, hashAlgorithm, dataHash, dataUri);
-
- checkConstruction(bd, dataType, hashAlgorithm, dataHash, dataUri);
-
- bd = BiometricData.getInstance(null);
-
- if (bd != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- BiometricData.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- BiometricData bd,
- TypeOfBiometricData dataType,
- AlgorithmIdentifier hashAlgorithm,
- ASN1OctetString dataHash,
- DERIA5String dataUri)
- throws Exception
- {
- checkValues(bd, dataType, hashAlgorithm, dataHash, dataUri);
-
- bd = BiometricData.getInstance(bd);
-
- checkValues(bd, dataType, hashAlgorithm, dataHash, dataUri);
-
- ASN1InputStream aIn = new ASN1InputStream(bd.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- bd = BiometricData.getInstance(seq);
-
- checkValues(bd, dataType, hashAlgorithm, dataHash, dataUri);
- }
-
- private void checkValues(
- BiometricData bd,
- TypeOfBiometricData dataType,
- AlgorithmIdentifier algID,
- ASN1OctetString dataHash,
- DERIA5String sourceDataURI)
- {
- if (!bd.getTypeOfBiometricData().equals(dataType))
- {
- fail("types don't match.");
- }
-
- if (!bd.getHashAlgorithm().equals(algID))
- {
- fail("hash algorithms don't match.");
- }
-
- if (!bd.getBiometricDataHash().equals(dataHash))
- {
- fail("hash algorithms don't match.");
- }
-
- if (sourceDataURI != null)
- {
- if (!bd.getSourceDataUri().equals(sourceDataURI))
- {
- fail("data uris don't match.");
- }
- }
- else if (bd.getSourceDataUri() != null)
- {
- fail("data uri found when none expected.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new BiometricDataUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringConstantTester.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringConstantTester.java
deleted file mode 100644
index bbea4a3..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringConstantTester.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-public class BitStringConstantTester
-{
- private static final int[] bits =
- {
- 1 << 7, 1 << 6, 1 << 5, 1 << 4, 1 << 3, 1 << 2, 1 << 1, 1 << 0,
- 1 << 15, 1 << 14, 1 << 13, 1 << 12, 1 << 11, 1 << 10, 1 << 9, 1 << 8,
- 1 << 23, 1 << 22, 1 << 21, 1 << 20, 1 << 19, 1 << 18, 1 << 17, 1 << 16,
- 1 << 31, 1 << 30, 1 << 29, 1 << 28, 1 << 27, 1 << 26, 1 << 25, 1 << 24
- };
-
- public static void testFlagValueCorrect(
- int bitNo,
- int value)
- {
- if (bits[bitNo] != value)
- {
- throw new IllegalArgumentException("bit value " + bitNo + " wrong");
- }
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java
deleted file mode 100644
index 1cd5bd3..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.DERBitString;
-import org.bouncycastle.asn1.x509.KeyUsage;
-import org.bouncycastle.util.test.SimpleTestResult;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class BitStringTest
- implements Test
-{
- public TestResult perform()
- {
- KeyUsage k = new KeyUsage(KeyUsage.digitalSignature);
- if ((k.getBytes()[0] != (byte)KeyUsage.digitalSignature) || (k.getPadBits() != 7))
- {
- return new SimpleTestResult(false, getName() + ": failed digitalSignature");
- }
-
- k = new KeyUsage(KeyUsage.nonRepudiation);
- if ((k.getBytes()[0] != (byte)KeyUsage.nonRepudiation) || (k.getPadBits() != 6))
- {
- return new SimpleTestResult(false, getName() + ": failed nonRepudiation");
- }
-
- k = new KeyUsage(KeyUsage.keyEncipherment);
- if ((k.getBytes()[0] != (byte)KeyUsage.keyEncipherment) || (k.getPadBits() != 5))
- {
- return new SimpleTestResult(false, getName() + ": failed keyEncipherment");
- }
-
- k = new KeyUsage(KeyUsage.cRLSign);
- if ((k.getBytes()[0] != (byte)KeyUsage.cRLSign) || (k.getPadBits() != 1))
- {
- return new SimpleTestResult(false, getName() + ": failed cRLSign");
- }
-
- k = new KeyUsage(KeyUsage.decipherOnly);
- if ((k.getBytes()[1] != (byte)(KeyUsage.decipherOnly >> 8)) || (k.getPadBits() != 7))
- {
- return new SimpleTestResult(false, getName() + ": failed decipherOnly");
- }
-
- // test for zero length bit string
- try
- {
- ASN1Primitive.fromByteArray(new DERBitString(new byte[0], 0).getEncoded());
- }
- catch (IOException e)
- {
- return new SimpleTestResult(false, getName() + ": " + e);
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
-
- public String getName()
- {
- return "BitString";
- }
-
- public static void main(
- String[] args)
- {
- BitStringTest test = new BitStringTest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/CMSTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/CMSTest.java
deleted file mode 100644
index 873b27c..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/CMSTest.java
+++ /dev/null
@@ -1,358 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1OctetStringParser;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1SequenceParser;
-import org.bouncycastle.asn1.ASN1Set;
-import org.bouncycastle.asn1.ASN1SetParser;
-import org.bouncycastle.asn1.ASN1StreamParser;
-import org.bouncycastle.asn1.BERTags;
-import org.bouncycastle.asn1.DERSet;
-import org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
-import org.bouncycastle.asn1.cms.CompressedData;
-import org.bouncycastle.asn1.cms.ContentInfo;
-import org.bouncycastle.asn1.cms.ContentInfoParser;
-import org.bouncycastle.asn1.cms.EncryptedContentInfoParser;
-import org.bouncycastle.asn1.cms.EnvelopedData;
-import org.bouncycastle.asn1.cms.EnvelopedDataParser;
-import org.bouncycastle.asn1.cms.KEKRecipientInfo;
-import org.bouncycastle.asn1.cms.KeyTransRecipientInfo;
-import org.bouncycastle.asn1.cms.RecipientInfo;
-import org.bouncycastle.asn1.cms.SignedData;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.io.Streams;
-import org.bouncycastle.util.test.SimpleTestResult;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class CMSTest
- implements Test
-{
- //
- // compressed data object
- //
- byte[] compData = Base64.decode(
- "MIAGCyqGSIb3DQEJEAEJoIAwgAIBADANBgsqhkiG9w0BCRADCDCABgkqhkiG9w0BBwGggCSABIIC"
- + "Hnic7ZRdb9owFIbvK/k/5PqVYPFXGK12YYyboVFASSp1vQtZGiLRACZE49/XHoUW7S/0tXP8Efux"
- + "fU5ivWnasml72XFb3gb5druui7ytN803M570nii7C5r8tfwR281hy/p/KSM3+jzH5s3+pbQ90xSb"
- + "P3VT3QbLusnt8WPIuN5vN/vaA2+DulnXTXkXvNTr8j8ouZmkCmGI/UW+ZS/C8zP0bz2dz0zwLt+1"
- + "UEk2M8mlaxjRMByAhZTj0RGYg4TvogiRASROsZgjpVcJCb1KV6QzQeDJ1XkoQ5Jm+C5PbOHZZGRi"
- + "v+ORAcshOGeCcdFJyfgFxdtCdEcmOrbinc/+BBMzRThEYpwl+jEBpciSGWQkI0TSlREmD/eOHb2D"
- + "SGLuESm/iKUFt1y4XHBO2a5oq0IKJKWLS9kUZTA7vC5LSxYmgVL46SIWxIfWBQd6AdrnjLmH94UT"
- + "vGxVibLqRCtIpp4g2qpdtqK1LiOeolpVK5wVQ5P7+QjZAlrh0cePYTx/gNZuB9Vhndtgujl9T/tg"
- + "W9ogK+3rnmg3YWygnTuF5GDS+Q/jIVLnCcYZFc6Kk/+c80wKwZjwdZIqDYWRH68MuBQSXLgXYXj2"
- + "3CAaYOBNJMliTl0X7eV5DnoKIFSKYdj3cRpD/cK/JWTHJRe76MUXnfBW8m7Hd5zhQ4ri2NrVF/WL"
- + "+kV1/3AGSlJ32bFPd2BsQD8uSzIx6lObkjdz95c0AAAAAAAAAAAAAAAA");
-
- //
- // enveloped data
- //
- byte[] envDataKeyTrns = Base64.decode(
- "MIAGCSqGSIb3DQEHA6CAMIACAQAxgcQwgcECAQAwKjAlMRYwFAYDVQQKEw1Cb3Vu"
- + "Y3kgQ2FzdGxlMQswCQYDVQQGEwJBVQIBCjANBgkqhkiG9w0BAQEFAASBgC5vdGrB"
- + "itQSGwifLf3KwPILjaB4WEXgT/IIO1KDzrsbItCJsMA0Smq2y0zptxT0pSRL6JRg"
- + "NMxLk1ySnrIrvGiEPLMR1zjxlT8yQ6VLX+kEoK43ztd1aaLw0oBfrcXcLN7BEpZ1"
- + "TIdjlBfXIOx1S88WY1MiYqJJFc3LMwRUaTEDMIAGCSqGSIb3DQEHATAdBglghkgB"
- + "ZQMEARYEEAfxLMWeaBOTTZQwUq0Y5FuggAQgwOJhL04rjSZCBCSOv5i5XpFfGsOd"
- + "YSHSqwntGpFqCx4AAAAAAAAAAAAA");
-
- byte[] envDataKEK = Base64.decode(
- "MIAGCSqGSIb3DQEHA6CAMIACAQIxUqJQAgEEMAcEBQECAwQFMBAGCyqGSIb3DQEJE"
- + "AMHAgE6BDC7G/HyUPilIrin2Yeajqmj795VoLWETRnZAAFcAiQdoQWyz+oCh6WY/H"
- + "jHHi+0y+cwgAYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAiY3eDBBbF6naCABBiNdzJb"
- + "/v6+UZB3XXKipxFDUpz9GyjzB+gAAAAAAAAAAAAA");
-
- byte[] envDataNestedNDEF = Base64.decode(
- "MIAGCSqGSIb3DQEHA6CAMIACAQAxge8wgewCAQAwgZUwgY8xKDAmBgNVBAoMH1RoZSBMZWdpb24g"
- + "b2YgdGhlIEJvdW5jeSBDYXN0bGUxLzAtBgkqhkiG9w0BCQEWIGZlZWRiYWNrLWNyeXB0b0Bib3Vu"
- + "Y3ljYXN0bGUub3JnMREwDwYDVQQIDAhWaWN0b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMQswCQYD"
- + "VQQGEwJBVQIBATANBgkqhkiG9w0BAQEFAARABIXMd8xiTyWDKO/LQfvdGYTPW3I9oSQWwtm4OIaN"
- + "VINpfY2lfwTvbmE6VXiLKeALC0dMBV8z7DEM9hE0HVmvLDCABgkqhkiG9w0BBwEwHQYJYIZIAWUD"
- + "BAECBBB32ko6WrVxDTqwUYEpV6IUoIAEggKgS6RowrhNlmWWI13zxD/lryxkZ5oWXPUfNiUxYX/P"
- + "r5iscW3s8VKJKUpJ4W5SNA7JGL4l/5LmSnJ4Qu/xzxcoH4r4vmt75EDE9p2Ob2Xi1NuSFAZubJFc"
- + "Zlnp4e05UHKikmoaz0PbiAi277sLQlK2FcVsntTYVT00y8+IwuuQu0ATVqkXC+VhfjV/sK6vQZnw"
- + "2rQKedZhLB7B4dUkmxCujb/UAq4lgSpLMXg2P6wMimTczXyQxRiZxPeI4ByCENjkafXbfcJft2eD"
- + "gv1DEDdYM5WrW9Z75b4lmJiOJ/xxDniHCvum7KGXzpK1d1mqTlpzPC2xoz08/MO4lRf5Mb0bYdq6"
- + "CjMaYqVwGsYryp/2ayX+d8H+JphEG+V9Eg8uPcDoibwhDI4KkoyGHstPw5bxcy7vVFt7LXUdNjJc"
- + "K1wxaUKEXDGKt9Vj93FnBTLMX0Pc9HpueV5o1ipX34dn/P3HZB9XK8ScbrE38B1VnIgylStnhVFO"
- + "Cj9s7qSVqI2L+xYHJRHsxaMumIRnmRuOqdXDfIo28EZAnFtQ/b9BziMGVvAW5+A8h8s2oazhSmK2"
- + "23ftV7uv98ScgE8fCd3PwT1kKJM83ThTYyBzokvMfPYCCvsonMV+kTWXhWcwjYTS4ukrpR452ZdW"
- + "l3aJqDnzobt5FK4T8OGciOj+1PxYFZyRmCuafm2Dx6o7Et2Tu/T5HYvhdY9jHyqtDl2PXH4CTnVi"
- + "gA1YOAArjPVmsZVwAM3Ml46uyXXhcsXwQ1X0Tv4D+PSa/id4UQ2cObOw8Cj1eW2GB8iJIZVqkZaU"
- + "XBexqgWYOIoxjqODSeoZKiBsTK3c+oOUBqBDueY1i55swE2o6dDt95FluX6iyr/q4w2wLt3upY1J"
- + "YL+TuvZxAKviuAczMS1bAAAAAAAAAAAAAA==");
-
- //
- // signed data
- //
- byte[] signedData = Base64.decode(
- "MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCA"
- + "JIAEDEhlbGxvIFdvcmxkIQAAAAAAAKCCBGIwggINMIIBdqADAgECAgEBMA0GCSqG"
- + "SIb3DQEBBAUAMCUxFjAUBgNVBAoTDUJvdW5jeSBDYXN0bGUxCzAJBgNVBAYTAkFV"
- + "MB4XDTA0MTAyNDA0MzA1OFoXDTA1MDIwMTA0MzA1OFowJTEWMBQGA1UEChMNQm91"
- + "bmN5IENhc3RsZTELMAkGA1UEBhMCQVUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ"
- + "AoGBAJj3OAshAOgDmPcYZ1jdNSuhOHRH9VhC/PG17FdiInVGc2ulJhEifEQga/uq"
- + "ZCpSd1nHsJUZKm9k1bVneWzC0941i9Znfxgb2jnXXsa5kwB2KEVESrOWsRjSRtnY"
- + "iLgqBG0rzpaMn5A5ntu7N0406EesBhe19cjZAageEHGZDbufAgMBAAGjTTBLMB0G"
- + "A1UdDgQWBBR/iHNKOo6f4ByWFFywRNZ65XSr1jAfBgNVHSMEGDAWgBR/iHNKOo6f"
- + "4ByWFFywRNZ65XSr1jAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBBAUAA4GBAFMJJ7QO"
- + "pHo30bnlQ4Ny3PCnK+Se+Gw3TpaYGp84+a8fGD9Dme78G6NEsgvpFGTyoLxvJ4CB"
- + "84Kzys+1p2HdXzoZiyXAer5S4IwptE3TxxFwKyj28cRrM6dK47DDyXUkV0qwBAMN"
- + "luwnk/no4K7ilzN2MZk5l7wXyNa9yJ6CHW6dMIICTTCCAbagAwIBAgIBAjANBgkq"
- + "hkiG9w0BAQQFADAlMRYwFAYDVQQKEw1Cb3VuY3kgQ2FzdGxlMQswCQYDVQQGEwJB"
- + "VTAeFw0wNDEwMjQwNDMwNTlaFw0wNTAyMDEwNDMwNTlaMGUxGDAWBgNVBAMTD0Vy"
- + "aWMgSC4gRWNoaWRuYTEkMCIGCSqGSIb3DQEJARYVZXJpY0Bib3VuY3ljYXN0bGUu"
- + "b3JnMRYwFAYDVQQKEw1Cb3VuY3kgQ2FzdGxlMQswCQYDVQQGEwJBVTCBnzANBgkq"
- + "hkiG9w0BAQEFAAOBjQAwgYkCgYEAm+5CnGU6W45iUpCsaGkn5gDruZv3j/o7N6ag"
- + "mRZhikaLG2JF6ECaX13iioVJfmzBsPKxAACWwuTXCoSSXG8viK/qpSHwJpfQHYEh"
- + "tcC0CxIqlnltv3KQAGwh/PdwpSPvSNnkQBGvtFq++9gnXDBbynfP8b2L2Eis0X9U"
- + "2y6gFiMCAwEAAaNNMEswHQYDVR0OBBYEFEAmOksnF66FoQm6IQBVN66vJo1TMB8G"
- + "A1UdIwQYMBaAFH+Ic0o6jp/gHJYUXLBE1nrldKvWMAkGA1UdEwQCMAAwDQYJKoZI"
- + "hvcNAQEEBQADgYEAEeIjvNkKMPU/ZYCu1TqjGZPEqi+glntg2hC/CF0oGyHFpMuG"
- + "tMepF3puW+uzKM1s61ar3ahidp3XFhr/GEU/XxK24AolI3yFgxP8PRgUWmQizTQX"
- + "pWUmhlsBe1uIKVEfNAzCgtYfJQ8HJIKsUCcdWeCKVKs4jRionsek1rozkPExggEv"
- + "MIIBKwIBATAqMCUxFjAUBgNVBAoTDUJvdW5jeSBDYXN0bGUxCzAJBgNVBAYTAkFV"
- + "AgECMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqG"
- + "SIb3DQEJBTEPFw0wNDEwMjQwNDMwNTlaMCMGCSqGSIb3DQEJBDEWBBQu973mCM5U"
- + "BOl9XwQvlfifHCMocTANBgkqhkiG9w0BAQEFAASBgGHbe3/jcZu6b/erRhc3PEji"
- + "MUO8mEIRiNYBr5/vFNhkry8TrGfOpI45m7gu1MS0/vdas7ykvidl/sNZfO0GphEI"
- + "UaIjMRT3U6yuTWF4aLpatJbbRsIepJO/B2kdIAbV5SCbZgVDJIPOR2qnruHN2wLF"
- + "a+fEv4J8wQ8Xwvk0C8iMAAAAAAAA");
-
- private boolean isSameAs(
- byte[] a,
- byte[] b)
- {
- if (a.length != b.length)
- {
- return false;
- }
-
- for (int i = 0; i != a.length; i++)
- {
- if (a[i] != b[i])
- {
- return false;
- }
- }
-
- return true;
- }
-
- private TestResult compressionTest()
- {
- try
- {
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(compData));
-
- ContentInfo info = ContentInfo.getInstance(aIn.readObject());
- CompressedData data = CompressedData.getInstance(info.getContent());
-
- data = new CompressedData(data.getCompressionAlgorithmIdentifier(), data.getEncapContentInfo());
- info = new ContentInfo(CMSObjectIdentifiers.compressedData, data);
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(info);
-
- if (!isSameAs(bOut.toByteArray(), compData))
- {
- return new SimpleTestResult(false, getName() + ": CMS compression failed to re-encode");
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": CMS compression failed - " + e.toString(), e);
- }
- }
-
- private TestResult envelopedTest()
- {
- try
- {
- //
- // Key trans
- //
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(envDataKeyTrns));
-
- ContentInfo info = ContentInfo.getInstance(aIn.readObject());
- EnvelopedData envData = EnvelopedData.getInstance(info.getContent());
- ASN1Set s = envData.getRecipientInfos();
-
- if (s.size() != 1)
- {
- return new SimpleTestResult(false, getName() + ": CMS KeyTrans enveloped, wrong number of recipients");
- }
-
- RecipientInfo recip = RecipientInfo.getInstance(s.getObjectAt(0));
-
- if (recip.getInfo() instanceof KeyTransRecipientInfo)
- {
- KeyTransRecipientInfo inf = KeyTransRecipientInfo.getInstance(recip.getInfo());
-
- inf = new KeyTransRecipientInfo(inf.getRecipientIdentifier(), inf.getKeyEncryptionAlgorithm(), inf.getEncryptedKey());
-
- s = new DERSet(new RecipientInfo(inf));
- }
- else
- {
- return new SimpleTestResult(false, getName() + ": CMS KeyTrans enveloped, wrong recipient type");
- }
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- envData = new EnvelopedData(envData.getOriginatorInfo(), s, envData.getEncryptedContentInfo(), envData.getUnprotectedAttrs());
- info = new ContentInfo(CMSObjectIdentifiers.envelopedData, envData);
-
- aOut.writeObject(info);
-
- if (!isSameAs(bOut.toByteArray(), envDataKeyTrns))
- {
- return new SimpleTestResult(false, getName() + ": CMS KeyTrans enveloped failed to re-encode");
- }
-
- //
- // KEK
- //
- aIn = new ASN1InputStream(new ByteArrayInputStream(envDataKEK));
-
- info = ContentInfo.getInstance(aIn.readObject());
- envData = EnvelopedData.getInstance(info.getContent());
- s = envData.getRecipientInfos();
-
- if (s.size() != 1)
- {
- return new SimpleTestResult(false, getName() + ": CMS KEK enveloped, wrong number of recipients");
- }
-
- recip = RecipientInfo.getInstance(s.getObjectAt(0));
-
- if (recip.getInfo() instanceof KEKRecipientInfo)
- {
- KEKRecipientInfo inf = KEKRecipientInfo.getInstance(recip.getInfo());
-
- inf = new KEKRecipientInfo(inf.getKekid(), inf.getKeyEncryptionAlgorithm(), inf.getEncryptedKey());
-
- s = new DERSet(new RecipientInfo(inf));
- }
- else
- {
- return new SimpleTestResult(false, getName() + ": CMS KEK enveloped, wrong recipient type");
- }
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- envData = new EnvelopedData(envData.getOriginatorInfo(), s, envData.getEncryptedContentInfo(), envData.getUnprotectedAttrs());
- info = new ContentInfo(CMSObjectIdentifiers.envelopedData, envData);
-
- aOut.writeObject(info);
-
- if (!isSameAs(bOut.toByteArray(), envDataKEK))
- { System.out.println(new String(Base64.encode(bOut.toByteArray())));
- return new SimpleTestResult(false, getName() + ": CMS KEK enveloped failed to re-encode");
- }
-
- // Nested NDEF problem
- ASN1StreamParser asn1In = new ASN1StreamParser(new ByteArrayInputStream(envDataNestedNDEF));
- ContentInfoParser ci = new ContentInfoParser((ASN1SequenceParser)asn1In.readObject());
- EnvelopedDataParser ed = new EnvelopedDataParser((ASN1SequenceParser)ci
- .getContent(BERTags.SEQUENCE));
- ed.getVersion();
- ed.getOriginatorInfo();
- ed.getRecipientInfos().toASN1Primitive();
- EncryptedContentInfoParser eci = ed.getEncryptedContentInfo();
- eci.getContentType();
- eci.getContentEncryptionAlgorithm();
-
- InputStream dataIn = ((ASN1OctetStringParser)eci.getEncryptedContent(BERTags.OCTET_STRING))
- .getOctetStream();
- Streams.drain(dataIn);
- dataIn.close();
-
- // Test data doesn't have unprotected attrs, bug was being thrown by this call
- ASN1SetParser upa = ed.getUnprotectedAttrs();
- if (upa != null)
- {
- upa.toASN1Primitive();
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": CMS enveloped failed - " + e.toString(), e);
- }
- }
-
- private TestResult signedTest()
- {
- try
- {
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(signedData));
-
- ContentInfo info = ContentInfo.getInstance(aIn.readObject());
- SignedData sData = SignedData.getInstance(info.getContent());
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- sData = new SignedData(sData.getDigestAlgorithms(), sData.getEncapContentInfo(), sData.getCertificates(), sData.getCRLs(), sData.getSignerInfos());
- info = new ContentInfo(CMSObjectIdentifiers.signedData, sData);
-
- aOut.writeObject(info);
-
- if (!isSameAs(bOut.toByteArray(), signedData))
- {
- return new SimpleTestResult(false, getName() + ": CMS signed failed to re-encode");
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": CMS signed failed - " + e.toString(), e);
- }
- }
-
- public TestResult perform()
- {
- TestResult res = compressionTest();
-
- if (!res.isSuccessful())
- {
- return res;
- }
-
- res = envelopedTest();
- if (!res.isSuccessful())
- {
- return res;
- }
-
- return signedTest();
- }
-
- public String getName()
- {
- return "CMS";
- }
-
- public static void main(
- String[] args)
- {
- CMSTest test = new CMSTest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/CertHashUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/CertHashUnitTest.java
deleted file mode 100644
index 62c81d4..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/CertHashUnitTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.isismtt.ocsp.CertHash;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-
-public class CertHashUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "CertHash";
- }
-
- public void performTest()
- throws Exception
- {
- AlgorithmIdentifier algId = new AlgorithmIdentifier(new ASN1ObjectIdentifier("1.2.2.3"));
- byte[] digest = new byte[20];
-
- CertHash certID = new CertHash(algId, digest);
-
- checkConstruction(certID, algId, digest);
-
- certID = CertHash.getInstance(null);
-
- if (certID != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- CertHash.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- CertHash certHash,
- AlgorithmIdentifier algId,
- byte[] digest)
- throws IOException
- {
- checkValues(certHash, algId, digest);
-
- certHash = CertHash.getInstance(certHash);
-
- checkValues(certHash, algId, digest);
-
- ASN1InputStream aIn = new ASN1InputStream(certHash.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- certHash = CertHash.getInstance(seq);
-
- checkValues(certHash, algId, digest);
- }
-
- private void checkValues(
- CertHash certHash,
- AlgorithmIdentifier algId,
- byte[] digest)
- {
- checkMandatoryField("algorithmHash", algId, certHash.getHashAlgorithm());
-
- checkMandatoryField("certificateHash", digest, certHash.getCertificateHash());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new CertHashUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/CertificateTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/CertificateTest.java
deleted file mode 100644
index 6aa8cef..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/CertificateTest.java
+++ /dev/null
@@ -1,602 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.util.Enumeration;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1OctetString;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.asn1.x509.AttCertIssuer;
-import org.bouncycastle.asn1.x509.AttCertValidityPeriod;
-import org.bouncycastle.asn1.x509.Attribute;
-import org.bouncycastle.asn1.x509.AttributeCertificate;
-import org.bouncycastle.asn1.x509.AttributeCertificateInfo;
-import org.bouncycastle.asn1.x509.AuthorityKeyIdentifier;
-import org.bouncycastle.asn1.x509.BasicConstraints;
-import org.bouncycastle.asn1.x509.CRLDistPoint;
-import org.bouncycastle.asn1.x509.Certificate;
-import org.bouncycastle.asn1.x509.DistributionPoint;
-import org.bouncycastle.asn1.x509.ExtendedKeyUsage;
-import org.bouncycastle.asn1.x509.Extension;
-import org.bouncycastle.asn1.x509.Extensions;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.Holder;
-import org.bouncycastle.asn1.x509.KeyPurposeId;
-import org.bouncycastle.asn1.x509.KeyUsage;
-import org.bouncycastle.asn1.x509.PolicyInformation;
-import org.bouncycastle.asn1.x509.SubjectKeyIdentifier;
-import org.bouncycastle.asn1.x509.TBSCertificate;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class CertificateTest
- extends SimpleTest
-{
- //
- // server.crt
- //
- byte[] cert1 = Base64.decode(
- "MIIDXjCCAsegAwIBAgIBBzANBgkqhkiG9w0BAQQFADCBtzELMAkGA1UEBhMCQVUx"
- + "ETAPBgNVBAgTCFZpY3RvcmlhMRgwFgYDVQQHEw9Tb3V0aCBNZWxib3VybmUxGjAY"
- + "BgNVBAoTEUNvbm5lY3QgNCBQdHkgTHRkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB"
- + "dXRob3JpdHkxFTATBgNVBAMTDENvbm5lY3QgNCBDQTEoMCYGCSqGSIb3DQEJARYZ"
- + "d2VibWFzdGVyQGNvbm5lY3Q0LmNvbS5hdTAeFw0wMDA2MDIwNzU2MjFaFw0wMTA2"
- + "MDIwNzU2MjFaMIG4MQswCQYDVQQGEwJBVTERMA8GA1UECBMIVmljdG9yaWExGDAW"
- + "BgNVBAcTD1NvdXRoIE1lbGJvdXJuZTEaMBgGA1UEChMRQ29ubmVjdCA0IFB0eSBM"
- + "dGQxFzAVBgNVBAsTDldlYnNlcnZlciBUZWFtMR0wGwYDVQQDExR3d3cyLmNvbm5l"
- + "Y3Q0LmNvbS5hdTEoMCYGCSqGSIb3DQEJARYZd2VibWFzdGVyQGNvbm5lY3Q0LmNv"
- + "bS5hdTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArvDxclKAhyv7Q/Wmr2re"
- + "Gw4XL9Cnh9e+6VgWy2AWNy/MVeXdlxzd7QAuc1eOWQkGQEiLPy5XQtTY+sBUJ3AO"
- + "Rvd2fEVJIcjf29ey7bYua9J/vz5MG2KYo9/WCHIwqD9mmG9g0xLcfwq/s8ZJBswE"
- + "7sb85VU+h94PTvsWOsWuKaECAwEAAaN3MHUwJAYDVR0RBB0wG4EZd2VibWFzdGVy"
- + "QGNvbm5lY3Q0LmNvbS5hdTA6BglghkgBhvhCAQ0ELRYrbW9kX3NzbCBnZW5lcmF0"
- + "ZWQgY3VzdG9tIHNlcnZlciBjZXJ0aWZpY2F0ZTARBglghkgBhvhCAQEEBAMCBkAw"
- + "DQYJKoZIhvcNAQEEBQADgYEAotccfKpwSsIxM1Hae8DR7M/Rw8dg/RqOWx45HNVL"
- + "iBS4/3N/TO195yeQKbfmzbAA2jbPVvIvGgTxPgO1MP4ZgvgRhasaa0qCJCkWvpM4"
- + "yQf33vOiYQbpv4rTwzU8AmRlBG45WdjyNIigGV+oRc61aKCTnLq7zB8N3z1TF/bF"
- + "5/8=");
-
- //
- // ca.crt
- //
- byte[] cert2 = Base64.decode(
- "MIIDbDCCAtWgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBtzELMAkGA1UEBhMCQVUx"
- + "ETAPBgNVBAgTCFZpY3RvcmlhMRgwFgYDVQQHEw9Tb3V0aCBNZWxib3VybmUxGjAY"
- + "BgNVBAoTEUNvbm5lY3QgNCBQdHkgTHRkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB"
- + "dXRob3JpdHkxFTATBgNVBAMTDENvbm5lY3QgNCBDQTEoMCYGCSqGSIb3DQEJARYZ"
- + "d2VibWFzdGVyQGNvbm5lY3Q0LmNvbS5hdTAeFw0wMDA2MDIwNzU1MzNaFw0wMTA2"
- + "MDIwNzU1MzNaMIG3MQswCQYDVQQGEwJBVTERMA8GA1UECBMIVmljdG9yaWExGDAW"
- + "BgNVBAcTD1NvdXRoIE1lbGJvdXJuZTEaMBgGA1UEChMRQ29ubmVjdCA0IFB0eSBM"
- + "dGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhvcml0eTEVMBMGA1UEAxMMQ29u"
- + "bmVjdCA0IENBMSgwJgYJKoZIhvcNAQkBFhl3ZWJtYXN0ZXJAY29ubmVjdDQuY29t"
- + "LmF1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgs5ptNG6Qv1ZpCDuUNGmv"
- + "rhjqMDPd3ri8JzZNRiiFlBA4e6/ReaO1U8ASewDeQMH6i9R6degFdQRLngbuJP0s"
- + "xcEE+SksEWNvygfzLwV9J/q+TQDyJYK52utb++lS0b48A1KPLwEsyL6kOAgelbur"
- + "ukwxowprKUIV7Knf1ajetQIDAQABo4GFMIGCMCQGA1UdEQQdMBuBGXdlYm1hc3Rl"
- + "ckBjb25uZWN0NC5jb20uYXUwDwYDVR0TBAgwBgEB/wIBADA2BglghkgBhvhCAQ0E"
- + "KRYnbW9kX3NzbCBnZW5lcmF0ZWQgY3VzdG9tIENBIGNlcnRpZmljYXRlMBEGCWCG"
- + "SAGG+EIBAQQEAwICBDANBgkqhkiG9w0BAQQFAAOBgQCsGvfdghH8pPhlwm1r3pQk"
- + "msnLAVIBb01EhbXm2861iXZfWqGQjrGAaA0ZpXNk9oo110yxoqEoSJSzniZa7Xtz"
- + "soTwNUpE0SLHvWf/SlKdFWlzXA+vOZbzEv4UmjeelekTm7lc01EEa5QRVzOxHFtQ"
- + "DhkaJ8VqOMajkQFma2r9iA==");
-
- //
- // testx509.pem
- //
- byte[] cert3 = Base64.decode(
- "MIIBWzCCAQYCARgwDQYJKoZIhvcNAQEEBQAwODELMAkGA1UEBhMCQVUxDDAKBgNV"
- + "BAgTA1FMRDEbMBkGA1UEAxMSU1NMZWF5L3JzYSB0ZXN0IENBMB4XDTk1MDYxOTIz"
- + "MzMxMloXDTk1MDcxNzIzMzMxMlowOjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA1FM"
- + "RDEdMBsGA1UEAxMUU1NMZWF5L3JzYSB0ZXN0IGNlcnQwXDANBgkqhkiG9w0BAQEF"
- + "AANLADBIAkEAqtt6qS5GTxVxGZYWa0/4u+IwHf7p2LNZbcPBp9/OfIcYAXBQn8hO"
- + "/Re1uwLKXdCjIoaGs4DLdG88rkzfyK5dPQIDAQABMAwGCCqGSIb3DQIFBQADQQAE"
- + "Wc7EcF8po2/ZO6kNCwK/ICH6DobgLekA5lSLr5EvuioZniZp5lFzAw4+YzPQ7XKJ"
- + "zl9HYIMxATFyqSiD9jsx");
-
- //
- // v3-cert1.pem
- //
- byte[] cert4 = Base64.decode(
- "MIICjTCCAfigAwIBAgIEMaYgRzALBgkqhkiG9w0BAQQwRTELMAkGA1UEBhMCVVMx"
- + "NjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFuZCBTcGFjZSBBZG1pbmlz"
- + "dHJhdGlvbjAmFxE5NjA1MjgxMzQ5MDUrMDgwMBcROTgwNTI4MTM0OTA1KzA4MDAw"
- + "ZzELMAkGA1UEBhMCVVMxNjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFu"
- + "ZCBTcGFjZSBBZG1pbmlzdHJhdGlvbjEgMAkGA1UEBRMCMTYwEwYDVQQDEwxTdGV2"
- + "ZSBTY2hvY2gwWDALBgkqhkiG9w0BAQEDSQAwRgJBALrAwyYdgxmzNP/ts0Uyf6Bp"
- + "miJYktU/w4NG67ULaN4B5CnEz7k57s9o3YY3LecETgQ5iQHmkwlYDTL2fTgVfw0C"
- + "AQOjgaswgagwZAYDVR0ZAQH/BFowWDBWMFQxCzAJBgNVBAYTAlVTMTYwNAYDVQQK"
- + "Ey1OYXRpb25hbCBBZXJvbmF1dGljcyBhbmQgU3BhY2UgQWRtaW5pc3RyYXRpb24x"
- + "DTALBgNVBAMTBENSTDEwFwYDVR0BAQH/BA0wC4AJODMyOTcwODEwMBgGA1UdAgQR"
- + "MA8ECTgzMjk3MDgyM4ACBSAwDQYDVR0KBAYwBAMCBkAwCwYJKoZIhvcNAQEEA4GB"
- + "AH2y1VCEw/A4zaXzSYZJTTUi3uawbbFiS2yxHvgf28+8Js0OHXk1H1w2d6qOHH21"
- + "X82tZXd/0JtG0g1T9usFFBDvYK8O0ebgz/P5ELJnBL2+atObEuJy1ZZ0pBDWINR3"
- + "WkDNLCGiTkCKp0F5EWIrVDwh54NNevkCQRZita+z4IBO");
-
- //
- // v3-cert2.pem
- //
- byte[] cert5 = Base64.decode(
- "MIICiTCCAfKgAwIBAgIEMeZfHzANBgkqhkiG9w0BAQQFADB9MQswCQYDVQQGEwJD"
- + "YTEPMA0GA1UEBxMGTmVwZWFuMR4wHAYDVQQLExVObyBMaWFiaWxpdHkgQWNjZXB0"
- + "ZWQxHzAdBgNVBAoTFkZvciBEZW1vIFB1cnBvc2VzIE9ubHkxHDAaBgNVBAMTE0Vu"
- + "dHJ1c3QgRGVtbyBXZWIgQ0EwHhcNOTYwNzEyMTQyMDE1WhcNOTYxMDEyMTQyMDE1"
- + "WjB0MSQwIgYJKoZIhvcNAQkBExVjb29rZUBpc3NsLmF0bC5ocC5jb20xCzAJBgNV"
- + "BAYTAlVTMScwJQYDVQQLEx5IZXdsZXR0IFBhY2thcmQgQ29tcGFueSAoSVNTTCkx"
- + "FjAUBgNVBAMTDVBhdWwgQS4gQ29va2UwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA"
- + "6ceSq9a9AU6g+zBwaL/yVmW1/9EE8s5you1mgjHnj0wAILuoB3L6rm6jmFRy7QZT"
- + "G43IhVZdDua4e+5/n1ZslwIDAQABo2MwYTARBglghkgBhvhCAQEEBAMCB4AwTAYJ"
- + "YIZIAYb4QgENBD8WPVRoaXMgY2VydGlmaWNhdGUgaXMgb25seSBpbnRlbmRlZCBm"
- + "b3IgZGVtb25zdHJhdGlvbiBwdXJwb3Nlcy4wDQYJKoZIhvcNAQEEBQADgYEAi8qc"
- + "F3zfFqy1sV8NhjwLVwOKuSfhR/Z8mbIEUeSTlnH3QbYt3HWZQ+vXI8mvtZoBc2Fz"
- + "lexKeIkAZXCesqGbs6z6nCt16P6tmdfbZF3I3AWzLquPcOXjPf4HgstkyvVBn0Ap"
- + "jAFN418KF/Cx4qyHB4cjdvLrRjjQLnb2+ibo7QU=");
-
- byte[] cert6 = Base64.decode(
- "MIIEDjCCAvagAwIBAgIEFAAq2jANBgkqhkiG9w0BAQUFADBLMSowKAYDVQQDEyFT"
- + "dW4gTWljcm9zeXN0ZW1zIEluYyBDQSAoQ2xhc3MgQikxHTAbBgNVBAoTFFN1biBN"
- + "aWNyb3N5c3RlbXMgSW5jMB4XDTA0MDIyOTAwNDMzNFoXDTA5MDMwMTAwNDMzNFow"
- + "NzEdMBsGA1UEChMUU3VuIE1pY3Jvc3lzdGVtcyBJbmMxFjAUBgNVBAMTDXN0b3Jl"
- + "LnN1bi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAP9ErzFT7MPg2bVV"
- + "LNmHTgN4kmiRNlPpuLGWS7EDIXYBbLeSSOCp/e1ANcOGnsuf0WIq9ejd/CPyEfh4"
- + "sWoVvQzpOfHZ/Jyei29PEuxzWT+4kQmCx3+sLK25lAnDFsz1KiFmB6Y3GJ/JSjpp"
- + "L0Yy1R9YlIc82I8gSw44y5JDABW5AgMBAAGjggGQMIIBjDAOBgNVHQ8BAf8EBAMC"
- + "BaAwHQYDVR0OBBYEFG1WB3PApZM7OPPVWJ31UrERaoKWMEcGA1UdIARAMD4wPAYL"
- + "YIZIAYb3AIN9k18wLTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5zdW4uY29tL3Br"
- + "aS9jcHMuaHRtbDCBhQYDVR0fBH4wfDB6oCegJYYjaHR0cDovL3d3dy5zdW4uY29t"
- + "L3BraS9wa2lzbWljYS5jcmyiT6RNMEsxKjAoBgNVBAMTIVN1biBNaWNyb3N5c3Rl"
- + "bXMgSW5jIENBIChDbGFzcyBCKTEdMBsGA1UEChMUU3VuIE1pY3Jvc3lzdGVtcyBJ"
- + "bmMwHwYDVR0jBBgwFoAUT7ZnqR/EEBSgG6h1wdYMI5RiiWswVAYIKwYBBQUHAQEE"
- + "SDBGMB0GCCsGAQUFBzABhhFodHRwOi8vdmEuc3VuLmNvbTAlBggrBgEFBQcwAYYZ"
- + "aHR0cDovL3ZhLmNlbnRyYWwuc3VuLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDATAN"
- + "BgkqhkiG9w0BAQUFAAOCAQEAq3byQgyU24tBpR07iQK7agm1zQyzDQ6itdbji0ln"
- + "T7fOd5Pnp99iig8ovwWliNtXKAmgtJY60jWz7nEuk38AioZJhS+RPWIWX/+2PRV7"
- + "s2aWTzM3n43BypD+jU2qF9c9kDWP/NW9K9IcrS7SfU/2MZVmiCMD/9FEL+CWndwE"
- + "JJQ/oenXm44BFISI/NjV7fMckN8EayPvgtzQkD5KnEiggOD6HOrwTDFR+tmAEJ0K"
- + "ZttQNwOzCOcEdxXTg6qBHUbONdL7bjTT5NzV+JR/bnfiCqHzdnGwfbHzhmrnXw8j"
- + "QCVXcfBfL9++nmpNNRlnJMRdYGeCY6OAfh/PRo8/fXak1Q==");
-
- byte[] cert7 = Base64.decode(
- "MIIFJDCCBAygAwIBAgIKEcJZuwAAAAAABzANBgkqhkiG9w0BAQUFADAPMQ0wCwYD"
- + "VQQDEwRNU0NBMB4XDTA0MDUyMjE2MTM1OFoXDTA1MDUyMjE2MjM1OFowaTEbMBkG"
- + "CSqGSIb3DQEJCBMMMTkyLjE2OC4xLjMzMScwJQYJKoZIhvcNAQkCExhwaXhmaXJl"
- + "d2FsbC5jaXNjb3BpeC5jb20xITAfBgNVBAMTGHBpeGZpcmV3YWxsLmNpc2NvcGl4"
- + "LmNvbTB8MA0GCSqGSIb3DQEBAQUAA2sAMGgCYQCbcsY7vrjweXZiFQdhUafEjJV+"
- + "HRy5UKmuCy0237ffmYrN+XNLw0h90cdCSK6KPZebd2E2Bc2UmTikc/FY8meBT3/E"
- + "O/Osmywzi++Ur8/IrDvtuR1zd0c/xEPnV1ZRezkCAwEAAaOCAs4wggLKMAsGA1Ud"
- + "DwQEAwIFoDAdBgNVHQ4EFgQUzJBSxkQiN9TKvhTMQ1/Aq4gZnHswHwYDVR0jBBgw"
- + "FoAUMsxzXVh+5UKMNpwNHmqSfcRYfJ4wgfcGA1UdHwSB7zCB7DCB6aCB5qCB44aB"
- + "r2xkYXA6Ly8vQ049TVNDQSxDTj1NQVVELENOPUNEUCxDTj1QdWJsaWMlMjBLZXkl"
- + "MjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWludCxE"
- + "Qz1wcmltZWtleSxEQz1zZT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/"
- + "b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSGL2h0dHA6Ly9tYXVkLmlu"
- + "dC5wcmltZWtleS5zZS9DZXJ0RW5yb2xsL01TQ0EuY3JsMIIBEAYIKwYBBQUHAQEE"
- + "ggECMIH/MIGqBggrBgEFBQcwAoaBnWxkYXA6Ly8vQ049TVNDQSxDTj1BSUEsQ049"
- + "UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh"
- + "dGlvbixEQz1pbnQsREM9cHJpbWVrZXksREM9c2U/Y0FDZXJ0aWZpY2F0ZT9iYXNl"
- + "P29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwUAYIKwYBBQUHMAKG"
- + "RGh0dHA6Ly9tYXVkLmludC5wcmltZWtleS5zZS9DZXJ0RW5yb2xsL01BVUQuaW50"
- + "LnByaW1la2V5LnNlX01TQ0EuY3J0MCwGA1UdEQEB/wQiMCCCGHBpeGZpcmV3YWxs"
- + "LmNpc2NvcGl4LmNvbYcEwKgBITA/BgkrBgEEAYI3FAIEMh4wAEkAUABTAEUAQwBJ"
- + "AG4AdABlAHIAbQBlAGQAaQBhAHQAZQBPAGYAZgBsAGkAbgBlMA0GCSqGSIb3DQEB"
- + "BQUAA4IBAQCa0asiPbObLJjpSz6ndJ7y4KOWMiuuBc/VQBnLr7RBCF3ZlZ6z1+e6"
- + "dmv8se/z11NgateKfxw69IhLCriA960HEgX9Z61MiVG+DrCFpbQyp8+hPFHoqCZN"
- + "b7upc8k2OtJW6KPaP9k0DW52YQDIky4Vb2rZeC4AMCorWN+KlndHhr1HFA14HxwA"
- + "4Mka0FM6HNWnBV2UmTjBZMDr/OrGH1jLYIceAaZK0X2R+/DWXeeqIga8jwP5empq"
- + "JetYnkXdtTbEh3xL0BX+mZl8vDI+/PGcwox/7YjFmyFWphRMxk9CZ3rF2/FQWMJP"
- + "YqQpKiQOmQg5NAhcwffLAuVjVVibPYqi");
-
- byte[] cert8 = Base64.decode(
- "MIIB0zCCATwCAQEwbqBsMGekZTBjMQswCQYDVQQGEwJERTELMAkGA1UECBMCQlkx"
- + "EzARBgNVBAcTClJlZ2Vuc2J1cmcxEDAOBgNVBAoTB0FDIFRlc3QxCzAJBgNVBAsT"
- + "AkNBMRMwEQYDVQQDEwpBQyBUZXN0IENBAgEBoHYwdKRyMHAxCzAJBgNVBAYTAkRF"
- + "MQswCQYDVQQIEwJCWTETMBEGA1UEBxMKUmVnZW5zYnVyZzESMBAGA1UEChMJQUMg"
- + "SXNzdWVyMRowGAYDVQQLExFBQyBJc3N1ZXIgc2VjdGlvbjEPMA0GA1UEAxMGQUMg"
- + "TWFuMA0GCSqGSIb3DQEBBQUAAgEBMCIYDzIwMDQxMTI2MTI1MjUxWhgPMjAwNDEy"
- + "MzEyMzAwMDBaMBkwFwYDVRhIMRAwDoEMREFVMTIzNDU2Nzg5MA0GCSqGSIb3DQEB"
- + "BQUAA4GBABd4Odx3yEMGL/BvItuT1RafNR2uuWuZbajg0pD6bshUsl+WCIfRiEkq"
- + "lHMkpI7WqAZikdnAEQ5jQsVWEuVejWxR6gjejKxc0fb9qpIui7/GoI5Eh6dmG20e"
- + "xbwJL3+6YYFrZwxR8cC5rPvWrblUR5XKJy+Zp/H5+t9iANnL1L8J");
-
- // V1 attribute certificate
- private static final byte[] attrCertv1 = Base64.decode(
- "MIIFdDCCBFygXTBbMFOkUTBPMQswCQYDVQQGEwJERTEcMBoGA1UECgwTRGV1"
- + "dHNjaGUgVGVsZWtvbSBBRzEiMCAGA1UEAwwZVGVsZVNlYyBQS1MgU2lnRyBD"
- + "QSAxNzpQTgIEG1toDjBTpFEwTzELMAkGA1UEBhMCREUxHDAaBgNVBAoME0Rl"
- + "dXRzY2hlIFRlbGVrb20gQUcxIjAgBgNVBAMMGVRlbGVTZWMgUEtTIFNpZ0cg"
- + "Q0EgMjU6UE4wDQYJKoZIhvcNAQELBQACBCep3f0wIhgPMjAxMDA0MTIxMTI5"
- + "MTJaGA8yMDEyMDQxMjEwNTkyOFowggGmMIIBogYFKyQIAwgxggGXDIIBk1Ro"
- + "ZSBxdWFsaWZpZWQgc2lnbmF0dXJlIGF0IGhhbmQgaXMgcmVzdHJpY3RlZCB0"
- + "byBwcmVzZW50aW5nIGludm9pY2VzIG9yIGNyZWRpdHMgdG8gY3VzdG9tZXJz"
- + "IGFjY29yZGluZyB0byBFVSBDb3VuY2lsIGRpcmVjdGl2ZSAyMDAxLzExNS9F"
- + "QyAoMjB0aCBEZWNlbWJlciAyMDAxKSBhbmQgR2VybWFuIFZBVCB0YXggKMKn"
- + "MTQgVVN0RykuICBEaWUgdm9ybGllZ2VuZGUgcXVhbGlmaXppZXJ0ZSBTaWdu"
- + "YXR1ciBpc3QgYXVmIGRpZSAgUHJhZXNlbnRhdGlvbiB2b24gUmVjaG51bmdl"
- + "biBvZGVyIEd1dHNjaHJpZnRlbiBnZW1hZXNzIEVVIERpcmVrdGl2ZSAyMDAx"
- + "LzExNS9FQyAoMjAuIERlemVtYmVyIDIwMDEpIHVuZCBkZXV0c2NoZW0gVW1z"
- + "YXR6c3RldWVyZ2VzZXR6ICAowqcxNCBVU3RHKSBiZXNjaHJhZW5rdC4wggHB"
- + "MB8GA1UdIwQYMBaAFM6i1yR/z8IikpxpU/Fdh8BPxhq8MEMGA1UdIAQ8MDow"
- + "OAYFKyQIAQEwLzAtBggrBgEFBQcCARYhaHR0cDovL3Brcy50ZWxlc2VjLmRl"
- + "L2Nwcy9jcHMucGRmMIIBBAYDVR0fBIH8MIH5MIH2oG2ga4Y1bGRhcDovL3Br"
- + "cy1sZGFwLnRlbGVzZWMuZGUvbz1EZXV0c2NoZSBUZWxla29tIEFHLGM9ZGWG"
- + "Mmh0dHA6Ly9wa3MudGVsZXNlYy5kZS90ZWxlc2VjL3NlcnZsZXQvZG93bmxv"
- + "YWRfY3JsooGEpIGBMH8xCzAJBgNVBAYTAkRFMRwwGgYDVQQKFBNEZXV0c2No"
- + "ZSBUZWxla29tIEFHMR8wHQYDVQQLFBZQcm9kdWt0emVudHJ1bSBUZWxlU2Vj"
- + "MTEwDAYHAoIGAQoHFBMBMTAhBgNVBAMUGlRlbGVTZWMgUEtTIFNpZ0cgRElS"
- + "IDM1OlBOMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL3Br"
- + "cy50ZWxlc2VjLmRlL29jc3ByMBgGCCsGAQUFBwEDBAwwCjAIBgYEAI5GAQEw"
- + "DQYJKoZIhvcNAQELBQADggEBAEz2OvU9YytJUKHMDQcND5njIyUXTkSrlWjV"
- + "F28uwxVlveO4JPTAY7PvXy69HUuTPwlvqCfJIUF2RLPZFQx0wFto8ajC9v5X"
- + "SqwQcINXRakpE6FPAdQFnH44TaIQWXW1hy9xr8GuD0uhQLTJGYqVzHfLoM8e"
- + "llPNHUVhC7CEOxDb1PTHCUlQFNkFRmeeqzEVoj1F0pM6wI5zf8+w2WwrFPCD"
- + "jrjEr/VoBRoEi/tKnsLq6oOkizUKT0KJEnSyYxoOa7euT1yX+Co94SPnMZi5"
- + "qukHSj8Kiio6Jecl//qDPG/mHo1ro+8rH+rbze7EEfKMp5yeWCwXGthL9oYo"
- + "RYl+UuI=");
-
-
- // bad issuer certificate
- private static final byte[] dudCert = Base64.decode(
- "MIICLzCCAZgCBFp/9TowDQYJKoZIhvcNAQEFBQAwAjEAMB4XDTA4MDcyNTEzNTQ0" +
- "MFoXDTEzMDgyNTA1MDAwMFowgboxCzAJBgNVBAYTAlVTMQ0wCwYDVQQIEwRJb3dh" +
- "MRMwEQYDVQQHEwpEZXMgTW9pbmVzMT0wOwYDVQQKEzRTdGF0ZSBvZiBJb3dhLCBE" +
- "ZXBhcnRtZW50IG9mIEFkbWluaXN0cmF0aXZlIFNlcnZpY2VzMSowKAYDVQQLEyFJ" +
- "bmZvcm1hdGlvbiBUZWNobm9sb2d5IEVudGVycHJpc2UxHDAaBgNVBAMTE3d3dy5k" +
- "b20uc3RhdGUuaWEudXMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK0C7Jca" +
- "C0RiD0hcBcPUdGc78y815yPuHGmF/A2K+3LbwfFXDhsY7ebRxHVfL7gt+nFBvJ2r" +
- "MqDBIMHFB3vYdSnGbND41eso6cLnzkMVtSisG25Tat3F8BF/js54sa0mFEn4qMQ+" +
- "6T6jxyPflsjKpmi6L7lfRdPNbBbKSmK9ik2lAgMBAAEwDQYJKoZIhvcNAQEFBQAD" +
- "gYEAc9Rx95MiPzJiCn3nOoP+3PPQCGTyUcUWZfYKXuC7aOzMYUXes71Q3K1/W6Vy" +
- "V2Tlrbj0KT8j2/kBmy8+7d5whnUklJNsH6VJMst3V4Uxvk3os+uaW0FHsW389sNY" +
- "/5LdslDjfqV2nUc2GqDPn38PATL26SRJKlCvU2NagdID3WM="
- );
-
- String[] subjects =
- {
- "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Webserver Team,CN=www2.connect4.com.au,E=webmaster@connect4.com.au",
- "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Certificate Authority,CN=Connect 4 CA,E=webmaster@connect4.com.au",
- "C=AU,ST=QLD,CN=SSLeay/rsa test cert",
- "C=US,O=National Aeronautics and Space Administration,SERIALNUMBER=16+CN=Steve Schoch",
- "E=cooke@issl.atl.hp.com,C=US,OU=Hewlett Packard Company (ISSL),CN=Paul A. Cooke",
- "O=Sun Microsystems Inc,CN=store.sun.com",
- "unstructuredAddress=192.168.1.33,unstructuredName=pixfirewall.ciscopix.com,CN=pixfirewall.ciscopix.com"
- };
-
- public String getName()
- {
- return "Certificate";
- }
-
- public void checkCertificate(
- int id,
- byte[] cert)
- throws Exception
- {
- ByteArrayInputStream bIn = new ByteArrayInputStream(cert);
- ASN1InputStream aIn = new ASN1InputStream(bIn);
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-// String dump = ASN1Dump.dumpAsString(seq);
-
- Certificate obj = Certificate.getInstance(seq);
- TBSCertificate tbsCert = obj.getTBSCertificate();
-
- if (!tbsCert.getSubject().toString().equals(subjects[id - 1]))
- {
- fail("failed subject test for certificate id " + id + " got " + tbsCert.getSubject().toString());
- }
-
- if (tbsCert.getVersionNumber() == 3)
- {
- Extensions ext = tbsCert.getExtensions();
- if (ext != null)
- {
- Enumeration en = ext.oids();
- while (en.hasMoreElements())
- {
- ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)en.nextElement();
- Extension extVal = ext.getExtension(oid);
-
- ASN1OctetString oct = extVal.getExtnValue();
- ASN1InputStream extIn = new ASN1InputStream(new ByteArrayInputStream(oct.getOctets()));
-
- if (oid.equals(Extension.subjectKeyIdentifier))
- {
- SubjectKeyIdentifier si = SubjectKeyIdentifier.getInstance(extIn.readObject());
-
- if (!si.equals(SubjectKeyIdentifier.fromExtensions(ext)))
- {
- fail("SubjectKeyIdentifier not matched");
- }
- }
- else if (oid.equals(Extension.keyUsage))
- {
- KeyUsage ku = KeyUsage.getInstance(extIn.readObject());
-
- if (!ku.equals(KeyUsage.fromExtensions(ext)))
- {
- fail("KeyUsage not matched");
- }
- }
- else if (oid.equals(Extension.extendedKeyUsage))
- {
- ExtendedKeyUsage ku = ExtendedKeyUsage.getInstance(extIn.readObject());
-
- ASN1Sequence sq = (ASN1Sequence)ku.toASN1Primitive();
- for (int i = 0; i != sq.size(); i++)
- {
- ASN1ObjectIdentifier p = ASN1ObjectIdentifier.getInstance(KeyPurposeId.getInstance(sq.getObjectAt(i)));
- }
-
- if (!ku.equals(ExtendedKeyUsage.fromExtensions(ext)))
- {
- fail("ExtendedKeyUsage not matched");
- }
- }
- else if (oid.equals(Extension.subjectAlternativeName))
- {
- GeneralNames gn = GeneralNames.getInstance(extIn.readObject());
-
- ASN1Sequence sq = (ASN1Sequence)gn.toASN1Primitive();
- for (int i = 0; i != sq.size(); i++)
- {
- GeneralName n = GeneralName.getInstance(sq.getObjectAt(i));
- }
- }
- else if (oid.equals(Extension.issuerAlternativeName))
- {
- GeneralNames gn = GeneralNames.getInstance(extIn.readObject());
-
- ASN1Sequence sq = (ASN1Sequence)gn.toASN1Primitive();
- for (int i = 0; i != sq.size(); i++)
- {
- GeneralName n = GeneralName.getInstance(sq.getObjectAt(i));
- }
- }
- else if (oid.equals(Extension.cRLDistributionPoints))
- {
- CRLDistPoint p = CRLDistPoint.getInstance(extIn.readObject());
-
- DistributionPoint[] points = p.getDistributionPoints();
- for (int i = 0; i != points.length; i++)
- {
- // do nothing
- }
- }
- else if (oid.equals(Extension.certificatePolicies))
- {
- ASN1Sequence cp = (ASN1Sequence)extIn.readObject();
-
- for (int i = 0; i != cp.size(); i++)
- {
- PolicyInformation.getInstance(cp.getObjectAt(i));
- }
- }
- else if (oid.equals(Extension.authorityKeyIdentifier))
- {
- AuthorityKeyIdentifier auth = AuthorityKeyIdentifier.getInstance(extIn.readObject());
-
- if (!auth.equals(AuthorityKeyIdentifier.fromExtensions(ext)))
- {
- fail("AuthorityKeyIdentifier not matched");
- }
- }
- else if (oid.equals(Extension.basicConstraints))
- {
- BasicConstraints bc = BasicConstraints.getInstance(extIn.readObject());
-
- if (!bc.equals(BasicConstraints.fromExtensions(ext)))
- {
- fail("BasicConstraints not matched");
- }
- }
- else
- {
- //System.out.println(oid.getId());
- }
- }
- }
- }
- }
-
-
- public void checkAttributeCertificate(
- int id,
- byte[] cert)
- throws Exception
- {
- ByteArrayInputStream bIn;
- ASN1InputStream aIn;
-
- bIn = new ByteArrayInputStream(cert);
- aIn = new ASN1InputStream(bIn);
-
- ASN1Sequence seq = (ASN1Sequence) aIn.readObject();
-// String dump = ASN1Dump.dumpAsString(seq);
-
- AttributeCertificate obj = AttributeCertificate.getInstance(seq);
- AttributeCertificateInfo acInfo = obj.getAcinfo();
-
- // Version
- if (!(acInfo.getVersion().equals(new ASN1Integer(1)))
- && (!(acInfo.getVersion().equals(new ASN1Integer(2)))))
- {
- fail(
- "failed AC Version test for id " + id);
- }
-
- // Holder
- Holder h = acInfo.getHolder();
- if (h == null)
- {
- fail(
- "failed AC Holder test, it's null, for id " + id);
- }
-
- // Issuer
- AttCertIssuer aci = acInfo.getIssuer();
- if (aci == null)
- {
- fail(
- "failed AC Issuer test, it's null, for id " + id);
- }
-
- // Signature
- AlgorithmIdentifier sig = acInfo.getSignature();
- if (sig == null)
- {
- fail(
- "failed AC Signature test for id " + id);
- }
-
- // Serial
- ASN1Integer serial = acInfo.getSerialNumber();
-
- // Validity
- AttCertValidityPeriod validity = acInfo.getAttrCertValidityPeriod();
- if (validity == null)
- {
- fail("failed AC AttCertValidityPeriod test for id " + id);
- }
-
- // Attributes
- ASN1Sequence attribSeq = acInfo.getAttributes();
- Attribute att[] = new Attribute[attribSeq.size()];
- for (int i = 0; i < attribSeq.size(); i++)
- {
- att[i] = Attribute.getInstance(attribSeq.getObjectAt(i));
- }
-
- // IssuerUniqueId
- // TODO, how to best test?
-
- // X509 Extensions
- Extensions ext = acInfo.getExtensions();
- if (ext != null)
- {
- Enumeration en = ext.oids();
- while (en.hasMoreElements())
- {
- ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) en
- .nextElement();
- Extension extVal = ext.getExtension(oid);
- }
- }
- }
-
- public void checkV1AttributeCertificate(
- int id,
- byte[] cert)
- throws Exception
- {
- ByteArrayInputStream bIn;
- ASN1InputStream aIn;
-
- bIn = new ByteArrayInputStream(cert);
- aIn = new ASN1InputStream(bIn);
-
- ASN1Sequence seq = (ASN1Sequence) aIn.readObject();
- //String dump = ASN1Dump.dumpAsString(seq);
-
- AttributeCertificate obj = AttributeCertificate.getInstance(seq);
- AttributeCertificateInfo acInfo = obj.getAcinfo();
-
- // Version
- if (!(acInfo.getVersion().equals(new ASN1Integer(0))))
- {
- fail(
- "failed AC Version test for id " + id);
- }
-
- // Holder
- Holder h = acInfo.getHolder();
- if (h == null)
- {
- fail(
- "failed AC Holder test, it's null, for id " + id);
- }
-
- // Issuer
- AttCertIssuer aci = acInfo.getIssuer();
- if (aci == null)
- {
- fail(
- "failed AC Issuer test, it's null, for id " + id);
- }
-
- // Signature
- AlgorithmIdentifier sig = acInfo.getSignature();
- if (sig == null)
- {
- fail(
- "failed AC Signature test for id " + id);
- }
-
- // Serial
- ASN1Integer serial = acInfo.getSerialNumber();
-
- // Validity
- AttCertValidityPeriod validity = acInfo.getAttrCertValidityPeriod();
- if (validity == null)
- {
- fail("failed AC AttCertValidityPeriod test for id " + id);
- }
-
- // Attributes
- ASN1Sequence attribSeq = acInfo.getAttributes();
- Attribute att[] = new Attribute[attribSeq.size()];
- for (int i = 0; i < attribSeq.size(); i++)
- {
- att[i] = Attribute.getInstance(attribSeq.getObjectAt(i));
- }
-
- // IssuerUniqueId
- // TODO, how to best test?
-
- // X509 Extensions
- Extensions ext = acInfo.getExtensions();
- if (ext != null)
- {
- Enumeration en = ext.oids();
- while (en.hasMoreElements())
- {
- ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) en
- .nextElement();
- Extension extVal = ext.getExtension(oid);
- }
- }
- }
-
- private void checkDudCertificate()
- {
- Certificate cert = Certificate.getInstance(dudCert);
-
- if (!"".equals(cert.getIssuer().toString()))
- {
- fail("empty issuer not recognised correctly");
- }
- }
-
- public void performTest()
- throws Exception
- {
- checkCertificate(1, cert1);
- checkCertificate(2, cert2);
- checkCertificate(3, cert3);
- checkCertificate(4, cert4);
- checkCertificate(5, cert5);
- checkCertificate(6, cert6);
- checkCertificate(7, cert7);
- checkAttributeCertificate(8,cert8);
- checkV1AttributeCertificate(9, attrCertv1);
- checkDudCertificate();
- }
-
- public static void main(
- String[] args)
- {
- runTest(new CertificateTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeIndicationUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeIndicationUnitTest.java
deleted file mode 100644
index 0ce1c23..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeIndicationUnitTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Encodable;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.esf.CommitmentTypeIdentifier;
-import org.bouncycastle.asn1.esf.CommitmentTypeIndication;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class CommitmentTypeIndicationUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "CommitmentTypeIndication";
- }
-
- public void performTest()
- throws Exception
- {
- CommitmentTypeIndication cti = new CommitmentTypeIndication(CommitmentTypeIdentifier.proofOfOrigin);
-
- checkConstruction(cti, CommitmentTypeIdentifier.proofOfOrigin, null);
-
- ASN1Sequence qualifier = new DERSequence(new ASN1ObjectIdentifier("1.2"));
-
- cti = new CommitmentTypeIndication(CommitmentTypeIdentifier.proofOfOrigin, qualifier);
-
- checkConstruction(cti, CommitmentTypeIdentifier.proofOfOrigin, qualifier);
-
- cti = CommitmentTypeIndication.getInstance(null);
-
- if (cti != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- CommitmentTypeIndication.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- CommitmentTypeIndication mv,
- ASN1ObjectIdentifier commitmenttTypeId,
- ASN1Encodable qualifier)
- throws IOException
- {
- checkStatement(mv, commitmenttTypeId, qualifier);
-
- mv = CommitmentTypeIndication.getInstance(mv);
-
- checkStatement(mv, commitmenttTypeId, qualifier);
-
- ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- mv = CommitmentTypeIndication.getInstance(seq);
-
- checkStatement(mv, commitmenttTypeId, qualifier);
- }
-
- private void checkStatement(
- CommitmentTypeIndication cti,
- ASN1ObjectIdentifier commitmentTypeId,
- ASN1Encodable qualifier)
- {
- if (!cti.getCommitmentTypeId().equals(commitmentTypeId))
- {
- fail("commitmentTypeIds don't match.");
- }
-
- if (qualifier != null)
- {
- if (!cti.getCommitmentTypeQualifier().equals(qualifier))
- {
- fail("qualifiers don't match.");
- }
- }
- else if (cti.getCommitmentTypeQualifier() != null)
- {
- fail("qualifier found when none expected.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new CommitmentTypeIndicationUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeQualifierUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeQualifierUnitTest.java
deleted file mode 100644
index 2d782ba..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/CommitmentTypeQualifierUnitTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Encodable;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.esf.CommitmentTypeIdentifier;
-import org.bouncycastle.asn1.esf.CommitmentTypeQualifier;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class CommitmentTypeQualifierUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "CommitmentTypeQualifier";
- }
-
- public void performTest()
- throws Exception
- {
- CommitmentTypeQualifier ctq = new CommitmentTypeQualifier(CommitmentTypeIdentifier.proofOfOrigin);
-
- checkConstruction(ctq, CommitmentTypeIdentifier.proofOfOrigin, null);
-
- ASN1Encodable info = new ASN1ObjectIdentifier("1.2");
-
- ctq = new CommitmentTypeQualifier(CommitmentTypeIdentifier.proofOfOrigin, info);
-
- checkConstruction(ctq, CommitmentTypeIdentifier.proofOfOrigin, info);
-
- ctq = CommitmentTypeQualifier.getInstance(null);
-
- if (ctq != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- CommitmentTypeQualifier.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- CommitmentTypeQualifier mv,
- ASN1ObjectIdentifier commitmenttTypeId,
- ASN1Encodable qualifier)
- throws IOException
- {
- checkStatement(mv, commitmenttTypeId, qualifier);
-
- mv = CommitmentTypeQualifier.getInstance(mv);
-
- checkStatement(mv, commitmenttTypeId, qualifier);
-
- ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- mv = CommitmentTypeQualifier.getInstance(seq);
-
- checkStatement(mv, commitmenttTypeId, qualifier);
- }
-
- private void checkStatement(
- CommitmentTypeQualifier ctq,
- ASN1ObjectIdentifier commitmentTypeId,
- ASN1Encodable qualifier)
- {
- if (!ctq.getCommitmentTypeIdentifier().equals(commitmentTypeId))
- {
- fail("commitmentTypeIds don't match.");
- }
-
- if (qualifier != null)
- {
- if (!ctq.getQualifier().equals(qualifier))
- {
- fail("qualifiers don't match.");
- }
- }
- else if (ctq.getQualifier() != null)
- {
- fail("qualifier found when none expected.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new CommitmentTypeQualifierUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ContentHintsUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ContentHintsUnitTest.java
deleted file mode 100644
index 1ae15e7..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ContentHintsUnitTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.asn1.ess.ContentHints;
-
-public class ContentHintsUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "ContentHints";
- }
-
- public void performTest()
- throws Exception
- {
- DERUTF8String contentDescription = new DERUTF8String("Description");
- ASN1ObjectIdentifier contentType = new ASN1ObjectIdentifier("1.2.2.3");
-
- ContentHints hints = new ContentHints(contentType);
-
- checkConstruction(hints, contentType, null);
-
- hints = new ContentHints(contentType, contentDescription);
-
- checkConstruction(hints, contentType, contentDescription);
-
- hints = ContentHints.getInstance(null);
-
- if (hints != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- ContentHints.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- ContentHints hints,
- ASN1ObjectIdentifier contentType,
- DERUTF8String description)
- throws IOException
- {
- checkValues(hints, contentType, description);
-
- hints = ContentHints.getInstance(hints);
-
- checkValues(hints, contentType, description);
-
- ASN1InputStream aIn = new ASN1InputStream(hints.toASN1Primitive().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- hints = ContentHints.getInstance(seq);
-
- checkValues(hints, contentType, description);
- }
-
- private void checkValues(
- ContentHints hints,
- ASN1ObjectIdentifier contentType,
- DERUTF8String description)
- {
- checkMandatoryField("contentType", contentType, hints.getContentType());
- checkOptionalField("description", description, hints.getContentDescription());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new ContentHintsUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/CscaMasterListTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/CscaMasterListTest.java
deleted file mode 100644
index c870069..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/CscaMasterListTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.icao.CscaMasterList;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.io.Streams;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class CscaMasterListTest
- extends SimpleTest
-{
- public String getName()
- {
- return "CscaMasterList";
- }
-
- public void performTest()
- throws Exception
- {
- byte[] input = getInput("masterlist-content.data");
- CscaMasterList parsedList
- = CscaMasterList.getInstance(ASN1Primitive.fromByteArray(input));
-
- if (parsedList.getCertStructs().length != 3)
- {
- fail("Cert structure parsing failed: incorrect length");
- }
-
- byte[] output = parsedList.getEncoded();
- if (!Arrays.areEqual(input, output))
- {
- fail("Encoding failed after parse");
- }
- }
-
- private byte[] getInput(String name)
- throws IOException
- {
- return Streams.readAll(getClass().getResourceAsStream(name));
- }
-
- public static void main(
- String[] args)
- {
- runTest(new CscaMasterListTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/DERApplicationSpecificTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/DERApplicationSpecificTest.java
deleted file mode 100644
index 2e047de..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/DERApplicationSpecificTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1Encoding;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.BERTags;
-import org.bouncycastle.asn1.DERApplicationSpecific;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class DERApplicationSpecificTest
- extends SimpleTest
-{
- private static final byte[] impData = Hex.decode("430109");
-
- private static final byte[] certData = Hex.decode(
- "7F218201897F4E8201495F290100420E44454356434145504153533030317F49"
- + "81FD060A04007F00070202020202811CD7C134AA264366862A18302575D1D787"
- + "B09F075797DA89F57EC8C0FF821C68A5E62CA9CE6C1C299803A6C1530B514E18"
- + "2AD8B0042A59CAD29F43831C2580F63CCFE44138870713B1A92369E33E2135D2"
- + "66DBB372386C400B8439040D9029AD2C7E5CF4340823B2A87DC68C9E4CE3174C"
- + "1E6EFDEE12C07D58AA56F772C0726F24C6B89E4ECDAC24354B9E99CAA3F6D376"
- + "1402CD851CD7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A793"
- + "9F863904393EE8E06DB6C7F528F8B4260B49AA93309824D92CDB1807E5437EE2"
- + "E26E29B73A7111530FA86B350037CB9415E153704394463797139E148701015F"
- + "200E44454356434145504153533030317F4C0E060904007F0007030102015301"
- + "C15F25060007000400015F24060009000400015F37384CCF25C59F3612EEE188"
- + "75F6C5F2E2D21F0395683B532A26E4C189B71EFE659C3F26E0EB9AEAE9986310"
- + "7F9B0DADA16414FFA204516AEE2B");
-
- public String getName()
- {
- return "DERApplicationSpecific";
- }
-
- public void performTest()
- throws Exception
- {
- ASN1Integer value = new ASN1Integer(9);
-
- DERApplicationSpecific tagged = new DERApplicationSpecific(false, 3, value);
-
- if (!areEqual(impData, tagged.getEncoded()))
- {
- fail("implicit encoding failed");
- }
-
- ASN1Integer recVal = (ASN1Integer)tagged.getObject(BERTags.INTEGER);
-
- if (!value.equals(recVal))
- {
- fail("implicit read back failed");
- }
-
- DERApplicationSpecific certObj = (DERApplicationSpecific)
- ASN1Primitive.fromByteArray(certData);
-
- if (!certObj.isConstructed() || certObj.getApplicationTag() != 33)
- {
- fail("parsing of certificate data failed");
- }
-
- byte[] encoded = certObj.getEncoded(ASN1Encoding.DER);
-
- if (!Arrays.areEqual(certData, encoded))
- {
- fail("re-encoding of certificate data failed");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new DERApplicationSpecificTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/DERUTF8StringTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/DERUTF8StringTest.java
deleted file mode 100644
index 7e38d7d..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/DERUTF8StringTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.Strings;
-import org.bouncycastle.util.test.SimpleTestResult;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class DERUTF8StringTest
- implements Test
-{
-
- /**
- * Unicode code point U+10400 coded as surrogate in two native Java UTF-16
- * code units
- */
- private final static char[] glyph1_utf16 = { 0xd801, 0xdc00 };
-
- /**
- * U+10400 coded in UTF-8
- */
- private final static byte[] glyph1_utf8 = { (byte)0xF0, (byte)0x90, (byte)0x90, (byte)0x80 };
-
- /**
- * Unicode code point U+6771 in native Java UTF-16
- */
- private final static char[] glyph2_utf16 = { 0x6771 };
-
- /**
- * U+6771 coded in UTF-8
- */
- private final static byte[] glyph2_utf8 = { (byte)0xE6, (byte)0x9D, (byte)0xB1 };
-
- /**
- * Unicode code point U+00DF in native Java UTF-16
- */
- private final static char[] glyph3_utf16 = { 0x00DF };
-
- /**
- * U+00DF coded in UTF-8
- */
- private final static byte[] glyph3_utf8 = { (byte)0xC3, (byte)0x9f };
-
- /**
- * Unicode code point U+0041 in native Java UTF-16
- */
- private final static char[] glyph4_utf16 = { 0x0041 };
-
- /**
- * U+0041 coded in UTF-8
- */
- private final static byte[] glyph4_utf8 = { 0x41 };
-
- private final static byte[][] glyphs_utf8 = { glyph1_utf8, glyph2_utf8, glyph3_utf8, glyph4_utf8 };
-
- private final static char[][] glyphs_utf16 = { glyph1_utf16, glyph2_utf16, glyph3_utf16, glyph4_utf16 };
-
- public TestResult perform()
- {
- try
- {
- for (int i = 0; i < glyphs_utf16.length; i++)
- {
- String s = new String(glyphs_utf16[i]);
- byte[] b1 = new DERUTF8String(s).getEncoded();
- byte temp[] = new byte[b1.length - 2];
- System.arraycopy(b1, 2, temp, 0, b1.length - 2);
- byte[] b2 = new DERUTF8String(Strings.fromUTF8ByteArray(new DEROctetString(temp).getOctets())).getEncoded();
- if (!Arrays.areEqual(b1, b2))
- {
- return new SimpleTestResult(false, getName() + ": failed UTF-8 encoding and decoding");
- }
- if (!Arrays.areEqual(temp, glyphs_utf8[i]))
- {
- return new SimpleTestResult(false, getName() + ": failed UTF-8 encoding and decoding");
- }
- }
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": failed with Exception " + e.getMessage());
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
-
- public String getName()
- {
- return "DERUTF8String";
- }
-
- public static void main(String[] args)
- {
- DERUTF8StringTest test = new DERUTF8StringTest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/DataGroupHashUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/DataGroupHashUnitTest.java
deleted file mode 100644
index 85f01e9..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/DataGroupHashUnitTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-import java.util.Random;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1OctetString;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.icao.DataGroupHash;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class DataGroupHashUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "DataGroupHash";
- }
-
- private byte[] generateHash()
- {
- Random rand = new Random();
- byte[] bytes = new byte[20];
-
- for (int i = 0; i != bytes.length; i++)
- {
- bytes[i] = (byte)rand.nextInt();
- }
-
- return bytes;
- }
-
- public void performTest()
- throws Exception
- {
- int dataGroupNumber = 1;
- ASN1OctetString dataHash = new DEROctetString(generateHash());
- DataGroupHash dg = new DataGroupHash(dataGroupNumber, dataHash);
-
- checkConstruction(dg, dataGroupNumber, dataHash);
-
- try
- {
- DataGroupHash.getInstance(null);
- }
- catch (Exception e)
- {
- fail("getInstance() failed to handle null.");
- }
-
- try
- {
- DataGroupHash.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- DataGroupHash dg,
- int dataGroupNumber,
- ASN1OctetString dataGroupHashValue)
- throws IOException
- {
- checkValues(dg, dataGroupNumber, dataGroupHashValue);
-
- dg = DataGroupHash.getInstance(dg);
-
- checkValues(dg, dataGroupNumber, dataGroupHashValue);
-
- ASN1InputStream aIn = new ASN1InputStream(dg.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- dg = DataGroupHash.getInstance(seq);
-
- checkValues(dg, dataGroupNumber, dataGroupHashValue);
- }
-
- private void checkValues(
- DataGroupHash dg,
- int dataGroupNumber,
- ASN1OctetString dataGroupHashValue)
- {
- if (dg.getDataGroupNumber() != dataGroupNumber)
- {
- fail("group number don't match.");
- }
-
- if (!dg.getDataGroupHashValue().equals(dataGroupHashValue))
- {
- fail("hash value don't match.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new DataGroupHashUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/DeclarationOfMajorityUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/DeclarationOfMajorityUnitTest.java
deleted file mode 100644
index cd42340..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/DeclarationOfMajorityUnitTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1GeneralizedTime;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.DERTaggedObject;
-import org.bouncycastle.asn1.isismtt.x509.DeclarationOfMajority;
-
-public class DeclarationOfMajorityUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "DeclarationOfMajority";
- }
-
- public void performTest()
- throws Exception
- {
- ASN1GeneralizedTime dateOfBirth = new ASN1GeneralizedTime("20070315173729Z");
- DeclarationOfMajority decl = new DeclarationOfMajority(dateOfBirth);
-
- checkConstruction(decl, DeclarationOfMajority.dateOfBirth, dateOfBirth, -1);
-
- decl = new DeclarationOfMajority(6);
-
- checkConstruction(decl, DeclarationOfMajority.notYoungerThan, null, 6);
-
- decl = DeclarationOfMajority.getInstance(null);
-
- if (decl != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- DeclarationOfMajority.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- DeclarationOfMajority decl,
- int type,
- ASN1GeneralizedTime dateOfBirth,
- int notYoungerThan)
- throws IOException
- {
- checkValues(decl, type, dateOfBirth, notYoungerThan);
-
- decl = DeclarationOfMajority.getInstance(decl);
-
- checkValues(decl, type, dateOfBirth, notYoungerThan);
-
- ASN1InputStream aIn = new ASN1InputStream(decl.toASN1Object().getEncoded());
-
- DERTaggedObject info = (DERTaggedObject)aIn.readObject();
-
- decl = DeclarationOfMajority.getInstance(info);
-
- checkValues(decl, type, dateOfBirth, notYoungerThan);
- }
-
- private void checkValues(
- DeclarationOfMajority decl,
- int type,
- ASN1GeneralizedTime dateOfBirth,
- int notYoungerThan)
- {
- checkMandatoryField("type", type, decl.getType());
- checkOptionalField("dateOfBirth", dateOfBirth, decl.getDateOfBirth());
- if (notYoungerThan != -1 && notYoungerThan != decl.notYoungerThan())
- {
- fail("notYoungerThan mismatch");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new DeclarationOfMajorityUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ESSCertIDv2UnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ESSCertIDv2UnitTest.java
deleted file mode 100644
index e8978ca..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ESSCertIDv2UnitTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.ess.ESSCertIDv2;
-import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-
-public class ESSCertIDv2UnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "ESSCertIDv2";
- }
-
- public void performTest()
- throws Exception
- {
- // check getInstance on default algorithm.
- byte[] digest = new byte [256];
- ESSCertIDv2 essCertIdv2 = new ESSCertIDv2(new AlgorithmIdentifier(
- NISTObjectIdentifiers.id_sha256), digest);
- ASN1Primitive asn1Object = essCertIdv2.toASN1Primitive();
-
- ESSCertIDv2.getInstance(asn1Object);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new ESSCertIDv2UnitTest());
- }
-} \ No newline at end of file
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/EncryptedPrivateKeyInfoTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/EncryptedPrivateKeyInfoTest.java
deleted file mode 100644
index f4732cf..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/EncryptedPrivateKeyInfoTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.DEROutputStream;
-import org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo;
-import org.bouncycastle.asn1.util.ASN1Dump;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTest;
-
-/**
- * Test the reading and writing of EncryptedPrivateKeyInfo objects using
- * the test vectors provided at
- * <a href=http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html>
- * RSA's PKCS5 Page</a>.
- * <br>
- * The vectors are Base 64 encoded and encrypted using the password "password"
- * (without quotes). They should all yield the same PrivateKeyInfo object.
- */
-public class EncryptedPrivateKeyInfoTest
- extends SimpleTest
-{
- static byte[] sample1 = Base64.decode(
- "MIIBozA9BgkqhkiG9w0BBQ0wMDAbBgkqhkiG9w0BBQwwDgQIfWBDXwLp4K4CAggA"
- + "MBEGBSsOAwIHBAiaCF/AvOgQ6QSCAWDWX4BdAzCRNSQSANSuNsT5X8mWYO27mr3Y"
- + "9c9LoBVXGNmYWKA77MI4967f7SmjNcgXj3xNE/jmnVz6hhsjS8E5VPT3kfyVkpdZ"
- + "0lr5e9Yk2m3JWpPU7++v5zBkZmC4V/MwV/XuIs6U+vykgzMgpxQg0oZKS9zgmiZo"
- + "f/4dOCL0UtCDnyOSvqT7mCVIcMDIEKu8QbVlgZYBop08l60EuEU3gARUo8WsYQmO"
- + "Dz/ldx0Z+znIT0SXVuOwc+RVItC5T/Qx+aijmmpt+9l14nmaGBrEkmuhmtdvU/4v"
- + "aptewGRgmjOfD6cqK+zs0O5NrrJ3P/6ZSxXj91CQgrThGfOv72bUncXEMNtc8pks"
- + "2jpHFjGMdKufnadAD7XuMgzkkaklEXZ4f5tU6heIIwr51g0GBEGF96gYPFnjnSQM"
- + "75JE02Clo+DfcfXpcybPTwwFg2jd6JTTOfkdf6OdSlA/1XNK43FA");
-
- static byte[] sample2 = Base64.decode(
- "MIIBpjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIeFeOWl1jywYCAggA"
- + "MBQGCCqGSIb3DQMHBAjUJ5eGBhQGtQSCAWBrHrRgqO8UUMLcWzZEtpk1l3mjxiF/"
- + "koCMkHsFwowgyWhEbgIkTgbSViK54LVK8PskekcGNLph+rB6bGZ7pPbL5pbXASJ8"
- + "+MkQcG3FZdlS4Ek9tTJDApj3O1UubZGFG4uvTlJJFbF1BOJ3MkY3XQ9Gl1qwv7j5"
- + "6e103Da7Cq9+oIDKmznza78XXQYrUsPo8mJGjUxPskEYlzwvHjKubRnYm/K6RKhi"
- + "5f4zX4BQ/Dt3H812ZjRXrsjAJP0KrD/jyD/jCT7zNBVPH1izBds+RwizyQAHwfNJ"
- + "BFR78TH4cgzB619X47FDVOnT0LqQNVd0O3cSwnPrXE9XR3tPayE+iOB15llFSmi8"
- + "z0ByOXldEpkezCn92Umk++suzIVj1qfsK+bv2phZWJPbLEIWPDRHUbYf76q5ArAr"
- + "u4xtxT/hoK3krEs/IN3d70qjlUJ36SEw1UaZ82PWhakQbdtu39ZraMJB");
-
- static byte[] sample3 = Base64.decode(
- "MIIBrjBIBgkqhkiG9w0BBQ0wOzAeBgkqhkiG9w0BBQwwEQQIrHyQPBZqWLUCAggA"
- + "AgEQMBkGCCqGSIb3DQMCMA0CAToECEhbh7YZKiPSBIIBYCT1zp6o5jpFlIkgwPop"
- + "7bW1+8ACr4exqzkeb3WflQ8cWJ4cURxzVdvxUnXeW1VJdaQZtjS/QHs5GhPTG/0f"
- + "wtvnaPfwrIJ3FeGaZfcg2CrYhalOFmEb4xrE4KyoEQmUN8tb/Cg94uzd16BOPw21"
- + "RDnE8bnPdIGY7TyL95kbkqH23mK53pi7h+xWIgduW+atIqDyyt55f7WMZcvDvlj6"
- + "VpN/V0h+qxBHL274WA4dj6GYgeyUFpi60HdGCK7By2TBy8h1ZvKGjmB9h8jZvkx1"
- + "MkbRumXxyFsowTZawyYvO8Um6lbfEDP9zIEUq0IV8RqH2MRyblsPNSikyYhxX/cz"
- + "tdDxRKhilySbSBg5Kr8OfcwKp9bpinN96nmG4xr3Tch1bnVvqJzOQ5+Vva2WwVvH"
- + "2JkWvYm5WaANg4Q6bRxu9vz7DuhbJjQdZbxFezIAgrJdSe92B00jO/0Kny1WjiVO"
- + "6DA=");
-
- public String getName()
- {
- return "EncryptedPrivateKeyInfoTest";
- }
-
- private void test(
- int id,
- byte[] sample)
- {
- ByteArrayInputStream bIn = new ByteArrayInputStream(sample);
- ASN1InputStream aIn = new ASN1InputStream(bIn);
- EncryptedPrivateKeyInfo info = null;
-
- try
- {
- info = EncryptedPrivateKeyInfo.getInstance(aIn.readObject());
- }
- catch (Exception e)
- {
- fail("test " + id + " failed construction - exception " + e.toString(), e);
- }
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DEROutputStream dOut = new DEROutputStream(bOut);
-
- try
- {
- dOut.writeObject(info);
- }
- catch (Exception e)
- {
- fail("test " + id + " failed writing - exception " + e.toString(), e);
- }
-
- byte[] bytes = bOut.toByteArray();
-
- if (bytes.length != sample.length)
- {
- try
- {
- bIn = new ByteArrayInputStream(bytes);
- aIn = new ASN1InputStream(bIn);
-
- ASN1Primitive obj = aIn.readObject();
-
- fail("test " + id + " length mismatch - expected " + sample.length + System.getProperty("line.separator") + ASN1Dump.dumpAsString(info) + " got " + bytes.length + System.getProperty("line.separator") + ASN1Dump.dumpAsString(obj));
- }
- catch (Exception e)
- {
- fail("test " + id + " length mismatch - exception " + e.toString());
- }
- }
-
- for (int i = 0; i != bytes.length; i++)
- {
- if (bytes[i] != sample[i])
- {
- fail("test " + id + " data mismatch");
- }
- }
- }
-
- public void performTest()
- {
- test(0, sample1);
- test(1, sample2);
- test(2, sample3);
- }
-
-
- public static void main(
- String[] args)
- {
- runTest(new EncryptedPrivateKeyInfoTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/EnumeratedTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/EnumeratedTest.java
deleted file mode 100644
index c1c3b3b..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/EnumeratedTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.bouncycastle.asn1.ASN1Boolean;
-import org.bouncycastle.asn1.ASN1Enumerated;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.util.encoders.Hex;
-
-/**
- * Tests used to verify correct decoding of the ENUMERATED type.
- */
-public class EnumeratedTest
- extends TestCase
-{
- /**
- * Test vector used to test decoding of multiple items. This sample uses an ENUMERATED and a BOOLEAN.
- */
- private static final byte[] MultipleSingleByteItems = Hex.decode("30060a01010101ff");
-
- /**
- * Test vector used to test decoding of multiple items. This sample uses two ENUMERATEDs.
- */
- private static final byte[] MultipleDoubleByteItems = Hex.decode("30080a0201010a020202");
-
- /**
- * Test vector used to test decoding of multiple items. This sample uses an ENUMERATED and an OBJECT IDENTIFIER.
- */
- private static final byte[] MultipleTripleByteItems = Hex.decode("300a0a0301010106032b0601");
-
- /**
- * Makes sure multiple identically sized values are parsed correctly.
- */
- public void testReadingMultipleSingleByteItems()
- throws IOException
- {
- ASN1Primitive obj = ASN1Primitive.fromByteArray(MultipleSingleByteItems);
-
- assertTrue("Null ASN.1 SEQUENCE", obj instanceof ASN1Sequence);
-
- ASN1Sequence sequence = (ASN1Sequence)obj;
-
- assertEquals("2 items expected", 2, sequence.size());
-
- ASN1Enumerated enumerated = ASN1Enumerated.getInstance(sequence.getObjectAt(0));
-
- assertNotNull("ENUMERATED expected", enumerated);
-
- assertEquals("Unexpected ENUMERATED value", 1, enumerated.getValue().intValue());
-
- ASN1Boolean b = ASN1Boolean.getInstance(sequence.getObjectAt(1));
-
- assertNotNull("BOOLEAN expected", b);
-
- assertTrue("Unexpected BOOLEAN value", b.isTrue());
- }
-
- /**
- * Makes sure multiple identically sized values are parsed correctly.
- */
- public void testReadingMultipleDoubleByteItems()
- throws IOException
- {
- ASN1Primitive obj = ASN1Primitive.fromByteArray(MultipleDoubleByteItems);
-
- assertTrue("Null ASN.1 SEQUENCE", obj instanceof ASN1Sequence);
-
- ASN1Sequence sequence = (ASN1Sequence)obj;
-
- assertEquals("2 items expected", 2, sequence.size());
-
- ASN1Enumerated enumerated1 = ASN1Enumerated.getInstance(sequence.getObjectAt(0));
-
- assertNotNull("ENUMERATED expected", enumerated1);
-
- assertEquals("Unexpected ENUMERATED value", 257, enumerated1.getValue().intValue());
-
- ASN1Enumerated enumerated2 = ASN1Enumerated.getInstance(sequence.getObjectAt(1));
-
- assertNotNull("ENUMERATED expected", enumerated2);
-
- assertEquals("Unexpected ENUMERATED value", 514, enumerated2.getValue().intValue());
- }
-
- /**
- * Makes sure multiple identically sized values are parsed correctly.
- */
- public void testReadingMultipleTripleByteItems()
- throws IOException
- {
- ASN1Primitive obj = ASN1Primitive.fromByteArray(MultipleTripleByteItems);
-
- assertTrue("Null ASN.1 SEQUENCE", obj instanceof ASN1Sequence);
-
- ASN1Sequence sequence = (ASN1Sequence)obj;
-
- assertEquals("2 items expected", 2, sequence.size());
-
- ASN1Enumerated enumerated = ASN1Enumerated.getInstance(sequence.getObjectAt(0));
-
- assertNotNull("ENUMERATED expected", enumerated);
-
- assertEquals("Unexpected ENUMERATED value", 65793, enumerated.getValue().intValue());
-
- ASN1ObjectIdentifier objectId = ASN1ObjectIdentifier.getInstance(sequence.getObjectAt(1));
-
- assertNotNull("OBJECT IDENTIFIER expected", objectId);
-
- assertEquals("Unexpected OBJECT IDENTIFIER value", "1.3.6.1", objectId.getId());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/EqualsAndHashCodeTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/EqualsAndHashCodeTest.java
deleted file mode 100644
index 3da4e6a..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/EqualsAndHashCodeTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.Date;
-
-import org.bouncycastle.asn1.ASN1Boolean;
-import org.bouncycastle.asn1.ASN1Enumerated;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.BERConstructedOctetString;
-import org.bouncycastle.asn1.BERSequence;
-import org.bouncycastle.asn1.BERSet;
-import org.bouncycastle.asn1.BERTaggedObject;
-import org.bouncycastle.asn1.DERApplicationSpecific;
-import org.bouncycastle.asn1.DERBMPString;
-import org.bouncycastle.asn1.DERBitString;
-import org.bouncycastle.asn1.DERGeneralString;
-import org.bouncycastle.asn1.DERGeneralizedTime;
-import org.bouncycastle.asn1.DERIA5String;
-import org.bouncycastle.asn1.DERNull;
-import org.bouncycastle.asn1.DERNumericString;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.DERPrintableString;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.DERSet;
-import org.bouncycastle.asn1.DERT61String;
-import org.bouncycastle.asn1.DERTaggedObject;
-import org.bouncycastle.asn1.DERUTCTime;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.asn1.DERUniversalString;
-import org.bouncycastle.asn1.DERVisibleString;
-import org.bouncycastle.util.test.SimpleTestResult;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class EqualsAndHashCodeTest
- implements Test
-{
- public TestResult perform()
- {
- byte[] data = { 0, 1, 0, 1, 0, 0, 1 };
-
- ASN1Primitive values[] = {
- new BERConstructedOctetString(data),
- new BERSequence(new DERPrintableString("hello world")),
- new BERSet(new DERPrintableString("hello world")),
- new BERTaggedObject(0, new DERPrintableString("hello world")),
- new DERApplicationSpecific(0, data),
- new DERBitString(data),
- new DERBMPString("hello world"),
- new ASN1Boolean(true),
- new ASN1Boolean(false),
- new ASN1Enumerated(100),
- new DERGeneralizedTime("20070315173729Z"),
- new DERGeneralString("hello world"),
- new DERIA5String("hello"),
- new ASN1Integer(1000),
- new DERNull(),
- new DERNumericString("123456"),
- new ASN1ObjectIdentifier("1.1.1.10000.1"),
- new DEROctetString(data),
- new DERPrintableString("hello world"),
- new DERSequence(new DERPrintableString("hello world")),
- new DERSet(new DERPrintableString("hello world")),
- new DERT61String("hello world"),
- new DERTaggedObject(0, new DERPrintableString("hello world")),
- new DERUniversalString(data),
- new DERUTCTime(new Date()),
- new DERUTF8String("hello world"),
- new DERVisibleString("hello world")
- };
-
- try
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- for (int i = 0; i != values.length; i++)
- {
- aOut.writeObject(values[i]);
- }
-
- ASN1Primitive[] readValues = new ASN1Primitive[values.length];
-
- ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray());
- ASN1InputStream aIn = new ASN1InputStream(bIn);
-
- for (int i = 0; i != values.length; i++)
- {
- ASN1Primitive o = aIn.readObject();
- if (!o.equals(values[i]))
- {
- return new SimpleTestResult(false, getName() + ": Failed equality test for " + o.getClass());
- }
-
- if (o.hashCode() != values[i].hashCode())
- {
- return new SimpleTestResult(false, getName() + ": Failed hashCode test for " + o.getClass());
- }
- }
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": Failed - exception " + e.toString(), e);
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
-
- public String getName()
- {
- return "EqualsAndHashCode";
- }
-
- public static void main(
- String[] args)
- {
- EqualsAndHashCodeTest test = new EqualsAndHashCodeTest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralNameTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralNameTest.java
deleted file mode 100644
index f88a83c..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralNameTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class GeneralNameTest
- extends SimpleTest
-{
- private static final byte[] ipv4 = Hex.decode("87040a090800");
- private static final byte[] ipv4WithMask1 = Hex.decode("87080a090800ffffff00");
- private static final byte[] ipv4WithMask2 = Hex.decode("87080a090800ffff8000");
- private static final byte[] ipv4WithMask3 = Hex.decode("87080a090800ffffc000");
-
- private static final byte[] ipv6a = Hex.decode("871020010db885a308d313198a2e03707334");
- private static final byte[] ipv6b = Hex.decode("871020010db885a3000013198a2e03707334");
- private static final byte[] ipv6c = Hex.decode("871000000000000000000000000000000001");
- private static final byte[] ipv6d = Hex.decode("871020010db885a3000000008a2e03707334");
- private static final byte[] ipv6e = Hex.decode("871020010db885a3000000008a2e0a090800");
- private static final byte[] ipv6f = Hex.decode("872020010db885a3000000008a2e0a090800ffffffffffff00000000000000000000");
- private static final byte[] ipv6g = Hex.decode("872020010db885a3000000008a2e0a090800ffffffffffffffffffffffffffffffff");
- private static final byte[] ipv6h = Hex.decode("872020010db885a300000000000000000000ffffffffffff00000000000000000000");
- private static final byte[] ipv6i = Hex.decode("872020010db885a300000000000000000000fffffffffffe00000000000000000000");
- private static final byte[] ipv6j = Hex.decode("872020010db885a300000000000000000000ffffffffffff80000000000000000000");
-
- public String getName()
- {
- return "GeneralName";
- }
-
- public void performTest()
- throws Exception
- {
- GeneralName nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0");
- if (!Arrays.areEqual(nm.getEncoded(), ipv4))
- {
- fail("ipv4 encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/255.255.255.0");
- if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask1))
- {
- fail("ipv4 with netmask 1 encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/24");
- if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask1))
- {
- fail("ipv4 with netmask 2 encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/255.255.128.0");
- if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask2))
- {
- fail("ipv4 with netmask 3a encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/17");
- if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask2))
- {
- fail("ipv4 with netmask 3b encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/255.255.192.0");
- if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask3))
- {
- fail("ipv4 with netmask 3a encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "10.9.8.0/18");
- if (!Arrays.areEqual(nm.getEncoded(), ipv4WithMask3))
- {
- fail("ipv4 with netmask 3b encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3:08d3:1319:8a2e:0370:7334");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6a))
- {
- fail("ipv6 with netmask encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::1319:8a2e:0370:7334");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6b))
- {
- fail("ipv6b encoding failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "::1");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6c))
- {
- fail("ipv6c failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:0370:7334");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6d))
- {
- fail("ipv6d failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:10.9.8.0");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6e))
- {
- fail("ipv6e failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:10.9.8.0/ffff:ffff:ffff::0000");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6f))
- {
- fail("ipv6f failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::8a2e:10.9.8.0/128");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6g))
- {
- fail("ipv6g failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::/48");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6h))
- {
- fail("ipv6h failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::/47");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6i))
- {
- fail("ipv6i failed");
- }
-
- nm = new GeneralName(GeneralName.iPAddress, "2001:0db8:85a3::/49");
- if (!Arrays.areEqual(nm.getEncoded(), ipv6j))
- {
- fail("ipv6j failed");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new GeneralNameTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralizedTimeTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralizedTimeTest.java
deleted file mode 100644
index 3a86370..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/GeneralizedTimeTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.SimpleTimeZone;
-import java.util.TimeZone;
-
-import org.bouncycastle.asn1.DERGeneralizedTime;
-import org.bouncycastle.util.test.SimpleTest;
-
-/**
- * X.690 test example
- */
-public class GeneralizedTimeTest
- extends SimpleTest
-{
- String[] input =
- {
- "20020122122220",
- "20020122122220Z",
- "20020122122220-1000",
- "20020122122220+00",
- "20020122122220.1",
- "20020122122220.1Z",
- "20020122122220.1-1000",
- "20020122122220.1+00",
- "20020122122220.01",
- "20020122122220.01Z",
- "20020122122220.01-1000",
- "20020122122220.01+00",
- "20020122122220.001",
- "20020122122220.001Z",
- "20020122122220.001-1000",
- "20020122122220.001+00",
- "20020122122220.0001",
- "20020122122220.0001Z",
- "20020122122220.0001-1000",
- "20020122122220.0001+00",
- "20020122122220.0001+1000"
- };
-
- String[] output = {
- "20020122122220",
- "20020122122220GMT+00:00",
- "20020122122220GMT-10:00",
- "20020122122220GMT+00:00",
- "20020122122220.1",
- "20020122122220.1GMT+00:00",
- "20020122122220.1GMT-10:00",
- "20020122122220.1GMT+00:00",
- "20020122122220.01",
- "20020122122220.01GMT+00:00",
- "20020122122220.01GMT-10:00",
- "20020122122220.01GMT+00:00",
- "20020122122220.001",
- "20020122122220.001GMT+00:00",
- "20020122122220.001GMT-10:00",
- "20020122122220.001GMT+00:00",
- "20020122122220.0001",
- "20020122122220.0001GMT+00:00",
- "20020122122220.0001GMT-10:00",
- "20020122122220.0001GMT+00:00",
- "20020122122220.0001GMT+10:00" };
-
- String[] zOutput = {
- "20020122122220Z",
- "20020122122220Z",
- "20020122222220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122222220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122222220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122222220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122122220Z",
- "20020122222220Z",
- "20020122122220Z",
- "20020122022220Z"
- };
-
- String[] mzOutput = {
- "20020122122220.000Z",
- "20020122122220.000Z",
- "20020122222220.000Z",
- "20020122122220.000Z",
- "20020122122220.100Z",
- "20020122122220.100Z",
- "20020122222220.100Z",
- "20020122122220.100Z",
- "20020122122220.010Z",
- "20020122122220.010Z",
- "20020122222220.010Z",
- "20020122122220.010Z",
- "20020122122220.001Z",
- "20020122122220.001Z",
- "20020122222220.001Z",
- "20020122122220.001Z",
- "20020122122220.000Z",
- "20020122122220.000Z",
- "20020122222220.000Z",
- "20020122122220.000Z",
- "20020122022220.000Z"
- };
-
- public String getName()
- {
- return "GeneralizedTime";
- }
-
- public void performTest()
- throws Exception
- {
- SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmss'Z'");
-
- dateF.setTimeZone(new SimpleTimeZone(0,"Z"));
-
- for (int i = 0; i != input.length; i++)
- {
- DERGeneralizedTime t = new DERGeneralizedTime(input[i]);
-
- if (output[i].indexOf('G') > 0) // don't check local time the same way
- {
- if (!t.getTime().equals(output[i]))
- {
- fail("failed conversion test");
- }
- if (!dateF.format(t.getDate()).equals(zOutput[i]))
- {
- fail("failed date conversion test");
- }
- }
- else
- {
- String offset = calculateGMTOffset(t.getDate());
- if (!t.getTime().equals(output[i] + offset))
- {
- fail("failed conversion test");
- }
- }
- }
-
- dateF = new SimpleDateFormat("yyyyMMddHHmmss.SSS'Z'");
-
- dateF.setTimeZone(new SimpleTimeZone(0,"Z"));
-
- for (int i = 0; i != input.length; i++)
- {
- DERGeneralizedTime t = new DERGeneralizedTime(input[i]);
-
- if (!dateF.format(t.getDate()).equals(mzOutput[i]))
- {
- fail("failed long date conversion test");
- }
- }
- }
-
- private String calculateGMTOffset(Date date)
- {
- String sign = "+";
- TimeZone timeZone = TimeZone.getDefault();
- int offset = timeZone.getRawOffset();
- if (offset < 0)
- {
- sign = "-";
- offset = -offset;
- }
- int hours = offset / (60 * 60 * 1000);
- int minutes = (offset - (hours * 60 * 60 * 1000)) / (60 * 1000);
-
- if (timeZone.useDaylightTime() && timeZone.inDaylightTime(date))
- {
- hours += sign.equals("+") ? 1 : -1;
- }
-
- return "GMT" + sign + convert(hours) + ":" + convert(minutes);
- }
-
- private String convert(int time)
- {
- if (time < 10)
- {
- return "0" + time;
- }
-
- return Integer.toString(time);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new GeneralizedTimeTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/GenerationTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/GenerationTest.java
deleted file mode 100644
index aa5444f..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/GenerationTest.java
+++ /dev/null
@@ -1,441 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.math.BigInteger;
-import java.text.ParseException;
-import java.util.Date;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1GeneralizedTime;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.DERNull;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.oiw.ElGamalParameter;
-import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
-import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
-import org.bouncycastle.asn1.x500.X500Name;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.asn1.x509.AuthorityKeyIdentifier;
-import org.bouncycastle.asn1.x509.CRLReason;
-import org.bouncycastle.asn1.x509.Extension;
-import org.bouncycastle.asn1.x509.Extensions;
-import org.bouncycastle.asn1.x509.ExtensionsGenerator;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.IssuingDistributionPoint;
-import org.bouncycastle.asn1.x509.KeyUsage;
-import org.bouncycastle.asn1.x509.RSAPublicKeyStructure;
-import org.bouncycastle.asn1.x509.SubjectKeyIdentifier;
-import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
-import org.bouncycastle.asn1.x509.TBSCertList;
-import org.bouncycastle.asn1.x509.TBSCertificate;
-import org.bouncycastle.asn1.x509.Time;
-import org.bouncycastle.asn1.x509.V1TBSCertificateGenerator;
-import org.bouncycastle.asn1.x509.V2TBSCertListGenerator;
-import org.bouncycastle.asn1.x509.V3TBSCertificateGenerator;
-import org.bouncycastle.asn1.x509.X509Extension;
-import org.bouncycastle.asn1.x509.X509Extensions;
-import org.bouncycastle.asn1.x509.X509Name;
-import org.bouncycastle.crypto.Digest;
-import org.bouncycastle.crypto.digests.SHA1Digest;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class GenerationTest
- extends SimpleTest
-{
- private byte[] v1Cert = Base64.decode(
- "MIGtAgEBMA0GCSqGSIb3DQEBBAUAMCUxCzAJBgNVBAMMAkFVMRYwFAYDVQQKDA1Cb"
- + "3VuY3kgQ2FzdGxlMB4XDTcwMDEwMTAwMDAwMVoXDTcwMDEwMTAwMDAxMlowNjELMA"
- + "kGA1UEAwwCQVUxFjAUBgNVBAoMDUJvdW5jeSBDYXN0bGUxDzANBgNVBAsMBlRlc3Q"
- + "gMTAaMA0GCSqGSIb3DQEBAQUAAwkAMAYCAQECAQI=");
-
- private byte[] v3Cert = Base64.decode(
- "MIIBSKADAgECAgECMA0GCSqGSIb3DQEBBAUAMCUxCzAJBgNVBAMMAkFVMRYwFAYD"
- + "VQQKDA1Cb3VuY3kgQ2FzdGxlMB4XDTcwMDEwMTAwMDAwMVoXDTcwMDEwMTAwMDAw"
- + "MlowNjELMAkGA1UEAwwCQVUxFjAUBgNVBAoMDUJvdW5jeSBDYXN0bGUxDzANBgNV"
- + "BAsMBlRlc3QgMjAYMBAGBisOBwIBATAGAgEBAgECAwQAAgEDo4GVMIGSMGEGA1Ud"
- + "IwEB/wRXMFWAFDZPdpHPzKi7o8EJokkQU2uqCHRRoTqkODA2MQswCQYDVQQDDAJB"
- + "VTEWMBQGA1UECgwNQm91bmN5IENhc3RsZTEPMA0GA1UECwwGVGVzdCAyggECMCAG"
- + "A1UdDgEB/wQWBBQ2T3aRz8you6PBCaJJEFNrqgh0UTALBgNVHQ8EBAMCBBA=");
-
- private byte[] v3CertNullSubject = Base64.decode(
- "MIHGoAMCAQICAQIwDQYJKoZIhvcNAQEEBQAwJTELMAkGA1UEAwwCQVUxFjAUBgNVB"
- + "AoMDUJvdW5jeSBDYXN0bGUwHhcNNzAwMTAxMDAwMDAxWhcNNzAwMTAxMDAwMDAyWj"
- + "AAMBgwEAYGKw4HAgEBMAYCAQECAQIDBAACAQOjSjBIMEYGA1UdEQEB/wQ8MDqkODA"
- + "2MQswCQYDVQQDDAJBVTEWMBQGA1UECgwNQm91bmN5IENhc3RsZTEPMA0GA1UECwwG"
- + "VGVzdCAy");
-
- private byte[] v2CertList = Base64.decode(
- "MIIBQwIBATANBgkqhkiG9w0BAQUFADAlMQswCQYDVQQDDAJBVTEWMBQGA1UECgwN" +
- "Qm91bmN5IENhc3RsZRcNNzAwMTAxMDAwMDAwWhcNNzAwMTAxMDAwMDAyWjAiMCAC" +
- "AQEXDTcwMDEwMTAwMDAwMVowDDAKBgNVHRUEAwoBCqCBxTCBwjBhBgNVHSMBAf8E" +
- "VzBVgBQ2T3aRz8you6PBCaJJEFNrqgh0UaE6pDgwNjELMAkGA1UEAwwCQVUxFjAU" +
- "BgNVBAoMDUJvdW5jeSBDYXN0bGUxDzANBgNVBAsMBlRlc3QgMoIBAjBDBgNVHRIE" +
- "PDA6pDgwNjELMAkGA1UEAwwCQVUxFjAUBgNVBAoMDUJvdW5jeSBDYXN0bGUxDzAN" +
- "BgNVBAsMBlRlc3QgMzAKBgNVHRQEAwIBATAMBgNVHRwBAf8EAjAA");
-
- private void tbsV1CertGen()
- throws IOException
- {
- V1TBSCertificateGenerator gen = new V1TBSCertificateGenerator();
- Date startDate = new Date(1000);
- Date endDate = new Date(12000);
-
- gen.setSerialNumber(new ASN1Integer(1));
-
- gen.setStartDate(new Time(startDate));
- gen.setEndDate(new Time(endDate));
-
- gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle"));
- gen.setSubject(new X500Name("CN=AU,O=Bouncy Castle,OU=Test 1"));
-
- gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.md5WithRSAEncryption, DERNull.INSTANCE));
-
- SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(PKCSObjectIdentifiers.rsaEncryption, DERNull.INSTANCE),
- new RSAPublicKeyStructure(BigInteger.valueOf(1), BigInteger.valueOf(2)));
-
- gen.setSubjectPublicKeyInfo(info);
-
- TBSCertificate tbs = gen.generateTBSCertificate();
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(tbs);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v1Cert))
- {
- fail("failed v1 cert generation");
- }
-
- //
- // read back test
- //
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v1Cert));
- ASN1Primitive o = aIn.readObject();
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(o);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v1Cert))
- {
- fail("failed v1 cert read back test");
- }
- }
-
- private AuthorityKeyIdentifier createAuthorityKeyId(
- SubjectPublicKeyInfo info,
- X500Name name,
- int sNumber)
- {
- GeneralName genName = new GeneralName(name);
- ASN1EncodableVector v = new ASN1EncodableVector();
-
- v.add(genName);
-
- return new AuthorityKeyIdentifier(
- info, GeneralNames.getInstance(new DERSequence(v)), BigInteger.valueOf(sNumber));
- }
-
- private void tbsV3CertGen()
- throws IOException
- {
- V3TBSCertificateGenerator gen = new V3TBSCertificateGenerator();
- Date startDate = new Date(1000);
- Date endDate = new Date(2000);
-
- gen.setSerialNumber(new ASN1Integer(2));
-
- gen.setStartDate(new Time(startDate));
- gen.setEndDate(new Time(endDate));
-
- gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle"));
- gen.setSubject(new X500Name("CN=AU,O=Bouncy Castle,OU=Test 2"));
-
- gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.md5WithRSAEncryption, DERNull.INSTANCE));
-
- SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(OIWObjectIdentifiers.elGamalAlgorithm, new ElGamalParameter(BigInteger.valueOf(1), BigInteger.valueOf(2))), new ASN1Integer(3));
-
- gen.setSubjectPublicKeyInfo(info);
-
- //
- // add extensions
- //
- Vector order = new Vector();
- Hashtable extensions = new Hashtable();
-
- order.addElement(X509Extension.authorityKeyIdentifier);
- order.addElement(X509Extension.subjectKeyIdentifier);
- order.addElement(X509Extension.keyUsage);
-
- extensions.put(X509Extension.authorityKeyIdentifier, new X509Extension(true, new DEROctetString(createAuthorityKeyId(info, new X500Name("CN=AU,O=Bouncy Castle,OU=Test 2"), 2))));
- extensions.put(X509Extension.subjectKeyIdentifier, new X509Extension(true, new DEROctetString(new SubjectKeyIdentifier(getDigest(info)))));
- extensions.put(X509Extension.keyUsage, new X509Extension(false, new DEROctetString(new KeyUsage(KeyUsage.dataEncipherment))));
-
- X509Extensions ex = new X509Extensions(order, extensions);
-
- gen.setExtensions(ex);
-
- TBSCertificate tbs = gen.generateTBSCertificate();
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(tbs);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v3Cert))
- {
- fail("failed v3 cert generation");
- }
-
- //
- // read back test
- //
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v3Cert));
- ASN1Primitive o = aIn.readObject();
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(o);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v3Cert))
- {
- fail("failed v3 cert read back test");
- }
- }
-
- private void tbsV3CertGenWithNullSubject()
- throws IOException
- {
- V3TBSCertificateGenerator gen = new V3TBSCertificateGenerator();
- Date startDate = new Date(1000);
- Date endDate = new Date(2000);
-
- gen.setSerialNumber(new ASN1Integer(2));
-
- gen.setStartDate(new Time(startDate));
- gen.setEndDate(new Time(endDate));
-
- gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle"));
-
- gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.md5WithRSAEncryption, DERNull.INSTANCE));
-
- SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(OIWObjectIdentifiers.elGamalAlgorithm, new ElGamalParameter(BigInteger.valueOf(1), BigInteger.valueOf(2))), new ASN1Integer(3));
-
- gen.setSubjectPublicKeyInfo(info);
-
- try
- {
- gen.generateTBSCertificate();
- fail("null subject not caught!");
- }
- catch (IllegalStateException e)
- {
- if (!e.getMessage().equals("not all mandatory fields set in V3 TBScertificate generator"))
- {
- fail("unexpected exception", e);
- }
- }
-
- //
- // add extensions
- //
- Vector order = new Vector();
- Hashtable extensions = new Hashtable();
-
- order.addElement(X509Extension.subjectAlternativeName);
-
- extensions.put(X509Extension.subjectAlternativeName, new X509Extension(true, new DEROctetString(new GeneralNames(new GeneralName(new X509Name("CN=AU,O=Bouncy Castle,OU=Test 2"))))));
-
- X509Extensions ex = new X509Extensions(order, extensions);
-
- gen.setExtensions(ex);
-
- TBSCertificate tbs = gen.generateTBSCertificate();
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(tbs);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v3CertNullSubject))
- {
- fail("failed v3 null sub cert generation");
- }
-
- //
- // read back test
- //
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v3CertNullSubject));
- ASN1Primitive o = aIn.readObject();
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(o);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v3CertNullSubject))
- {
- fail("failed v3 null sub cert read back test");
- }
- }
-
- private void tbsV2CertListGen()
- throws IOException
- {
- V2TBSCertListGenerator gen = new V2TBSCertListGenerator();
-
- gen.setIssuer(new X500Name("CN=AU,O=Bouncy Castle"));
-
- gen.addCRLEntry(new ASN1Integer(1), new Time(new Date(1000)), CRLReason.aACompromise);
-
- gen.setNextUpdate(new Time(new Date(2000)));
-
- gen.setThisUpdate(new Time(new Date(500)));
-
- gen.setSignature(new AlgorithmIdentifier(PKCSObjectIdentifiers.sha1WithRSAEncryption, DERNull.INSTANCE));
-
- //
- // extensions
- //
- SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(OIWObjectIdentifiers.elGamalAlgorithm, new ElGamalParameter(BigInteger.valueOf(1), BigInteger.valueOf(2))), new ASN1Integer(3));
-
- ExtensionsGenerator extGen = new ExtensionsGenerator();
-
- extGen.addExtension(Extension.authorityKeyIdentifier, true, createAuthorityKeyId(info, new X500Name("CN=AU,O=Bouncy Castle,OU=Test 2"), 2));
- extGen.addExtension(Extension.issuerAlternativeName, false, new GeneralNames(new GeneralName(new X500Name("CN=AU,O=Bouncy Castle,OU=Test 3"))));
- extGen.addExtension(Extension.cRLNumber, false, new ASN1Integer(1));
- extGen.addExtension(Extension.issuingDistributionPoint, true, IssuingDistributionPoint.getInstance(new DERSequence()));
-
- Extensions ex = extGen.generate();
-
- gen.setExtensions(ex);
-
- TBSCertList tbs = gen.generateTBSCertList();
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(tbs);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v2CertList))
- {
- System.out.println(new String(Base64.encode(bOut.toByteArray())));
- fail("failed v2 cert list generation");
- }
-
- //
- // read back test
- //
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(v2CertList));
- ASN1Primitive o = aIn.readObject();
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(o);
-
- if (!Arrays.areEqual(bOut.toByteArray(), v2CertList))
- {
- fail("failed v2 cert list read back test");
- }
-
- //
- // check we can add a custom reason
- //
- gen.addCRLEntry(new ASN1Integer(1), new Time(new Date(1000)), CRLReason.aACompromise);
-
- //
- // check invalidity date
- gen.addCRLEntry(new ASN1Integer(2), new Time(new Date(1000)), CRLReason.affiliationChanged, new ASN1GeneralizedTime(new Date(2000)));
-
- TBSCertList crl = gen.generateTBSCertList();
-
- TBSCertList.CRLEntry[] entries = crl.getRevokedCertificates();
- for (int i = 0; i != entries.length; i++)
- {
- TBSCertList.CRLEntry entry = entries[i];
-
- if (entry.getUserCertificate().equals(new ASN1Integer(1)))
- {
- Extensions extensions = entry.getExtensions();
- Extension ext = extensions.getExtension(Extension.reasonCode);
-
- CRLReason r = CRLReason.getInstance(ext.getParsedValue());
-
- if (r.getValue().intValue() != CRLReason.aACompromise)
- {
- fail("reason code mismatch");
- }
- }
- else if (entry.getUserCertificate().equals(new ASN1Integer(2)))
- {
- Extensions extensions = entry.getExtensions();
- Extension ext = extensions.getExtension(Extension.reasonCode);
-
- CRLReason r = CRLReason.getInstance(ext.getParsedValue());
-
- if (r.getValue().intValue() != CRLReason.affiliationChanged)
- {
- fail("reason code mismatch");
- }
-
- ext = extensions.getExtension(Extension.invalidityDate);
-
- ASN1GeneralizedTime t = ASN1GeneralizedTime.getInstance(ext.getParsedValue());
-
- try
- {
- if (!t.getDate().equals(new Date(2000)))
- {
- fail("invalidity date mismatch");
- }
- }
- catch (ParseException e)
- {
- fail("can't parse date", e);
- }
- }
- }
- }
-
- public void performTest()
- throws Exception
- {
- tbsV1CertGen();
- tbsV3CertGen();
- tbsV3CertGenWithNullSubject();
- tbsV2CertListGen();
- }
-
- public String getName()
- {
- return "Generation";
- }
-
- private static byte[] getDigest(SubjectPublicKeyInfo spki)
- {
- Digest digest = new SHA1Digest();
- byte[] resBuf = new byte[digest.getDigestSize()];
-
- byte[] bytes = spki.getPublicKeyData().getBytes();
- digest.update(bytes, 0, bytes.length);
- digest.doFinal(resBuf, 0);
- return resBuf;
- }
-
- public static void main(
- String[] args)
- {
- runTest(new GenerationTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/GetInstanceTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/GetInstanceTest.java
deleted file mode 100644
index cda7c50..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/GetInstanceTest.java
+++ /dev/null
@@ -1,888 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.lang.reflect.Method;
-import java.math.BigInteger;
-import java.util.Date;
-import java.util.Vector;
-
-import junit.framework.TestCase;
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1Enumerated;
-import org.bouncycastle.asn1.ASN1GeneralizedTime;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1Object;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1TaggedObject;
-import org.bouncycastle.asn1.ASN1UTCTime;
-import org.bouncycastle.asn1.DERBMPString;
-import org.bouncycastle.asn1.DERBitString;
-import org.bouncycastle.asn1.DERGeneralString;
-import org.bouncycastle.asn1.DERIA5String;
-import org.bouncycastle.asn1.DERNull;
-import org.bouncycastle.asn1.DERNumericString;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.DERPrintableString;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.DERSet;
-import org.bouncycastle.asn1.DERT61String;
-import org.bouncycastle.asn1.DERTaggedObject;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.asn1.DERUniversalString;
-import org.bouncycastle.asn1.DERVisibleString;
-import org.bouncycastle.asn1.cmp.CAKeyUpdAnnContent;
-import org.bouncycastle.asn1.cmp.CMPCertificate;
-import org.bouncycastle.asn1.cmp.CRLAnnContent;
-import org.bouncycastle.asn1.cmp.CertConfirmContent;
-import org.bouncycastle.asn1.cmp.CertOrEncCert;
-import org.bouncycastle.asn1.cmp.CertRepMessage;
-import org.bouncycastle.asn1.cmp.CertResponse;
-import org.bouncycastle.asn1.cmp.CertifiedKeyPair;
-import org.bouncycastle.asn1.cmp.Challenge;
-import org.bouncycastle.asn1.cmp.ErrorMsgContent;
-import org.bouncycastle.asn1.cmp.GenMsgContent;
-import org.bouncycastle.asn1.cmp.GenRepContent;
-import org.bouncycastle.asn1.cmp.InfoTypeAndValue;
-import org.bouncycastle.asn1.cmp.KeyRecRepContent;
-import org.bouncycastle.asn1.cmp.OOBCertHash;
-import org.bouncycastle.asn1.cmp.PBMParameter;
-import org.bouncycastle.asn1.cmp.PKIBody;
-import org.bouncycastle.asn1.cmp.PKIConfirmContent;
-import org.bouncycastle.asn1.cmp.PKIFailureInfo;
-import org.bouncycastle.asn1.cmp.PKIFreeText;
-import org.bouncycastle.asn1.cmp.PKIHeader;
-import org.bouncycastle.asn1.cmp.PKIMessage;
-import org.bouncycastle.asn1.cmp.PKIMessages;
-import org.bouncycastle.asn1.cmp.PKIStatus;
-import org.bouncycastle.asn1.cmp.PKIStatusInfo;
-import org.bouncycastle.asn1.cmp.POPODecKeyChallContent;
-import org.bouncycastle.asn1.cmp.POPODecKeyRespContent;
-import org.bouncycastle.asn1.cmp.PollRepContent;
-import org.bouncycastle.asn1.cmp.PollReqContent;
-import org.bouncycastle.asn1.cmp.ProtectedPart;
-import org.bouncycastle.asn1.cmp.RevAnnContent;
-import org.bouncycastle.asn1.cmp.RevDetails;
-import org.bouncycastle.asn1.cmp.RevRepContent;
-import org.bouncycastle.asn1.cmp.RevReqContent;
-import org.bouncycastle.asn1.cms.Attribute;
-import org.bouncycastle.asn1.cms.Attributes;
-import org.bouncycastle.asn1.cms.AuthEnvelopedData;
-import org.bouncycastle.asn1.cms.AuthenticatedData;
-import org.bouncycastle.asn1.cms.CompressedData;
-import org.bouncycastle.asn1.cms.ContentInfo;
-import org.bouncycastle.asn1.cms.EncryptedContentInfo;
-import org.bouncycastle.asn1.cms.EncryptedData;
-import org.bouncycastle.asn1.cms.EnvelopedData;
-import org.bouncycastle.asn1.cms.Evidence;
-import org.bouncycastle.asn1.cms.IssuerAndSerialNumber;
-import org.bouncycastle.asn1.cms.KEKIdentifier;
-import org.bouncycastle.asn1.cms.KEKRecipientInfo;
-import org.bouncycastle.asn1.cms.KeyAgreeRecipientIdentifier;
-import org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo;
-import org.bouncycastle.asn1.cms.KeyTransRecipientInfo;
-import org.bouncycastle.asn1.cms.MetaData;
-import org.bouncycastle.asn1.cms.OriginatorIdentifierOrKey;
-import org.bouncycastle.asn1.cms.OriginatorInfo;
-import org.bouncycastle.asn1.cms.OriginatorPublicKey;
-import org.bouncycastle.asn1.cms.OtherKeyAttribute;
-import org.bouncycastle.asn1.cms.OtherRecipientInfo;
-import org.bouncycastle.asn1.cms.PasswordRecipientInfo;
-import org.bouncycastle.asn1.cms.RecipientEncryptedKey;
-import org.bouncycastle.asn1.cms.RecipientIdentifier;
-import org.bouncycastle.asn1.cms.RecipientInfo;
-import org.bouncycastle.asn1.cms.RecipientKeyIdentifier;
-import org.bouncycastle.asn1.cms.SignerIdentifier;
-import org.bouncycastle.asn1.cms.SignerInfo;
-import org.bouncycastle.asn1.cms.TimeStampAndCRL;
-import org.bouncycastle.asn1.cms.TimeStampTokenEvidence;
-import org.bouncycastle.asn1.cms.TimeStampedData;
-import org.bouncycastle.asn1.cms.ecc.MQVuserKeyingMaterial;
-import org.bouncycastle.asn1.crmf.AttributeTypeAndValue;
-import org.bouncycastle.asn1.crmf.CertId;
-import org.bouncycastle.asn1.crmf.CertReqMessages;
-import org.bouncycastle.asn1.crmf.CertReqMsg;
-import org.bouncycastle.asn1.crmf.CertRequest;
-import org.bouncycastle.asn1.crmf.CertTemplate;
-import org.bouncycastle.asn1.crmf.Controls;
-import org.bouncycastle.asn1.crmf.EncKeyWithID;
-import org.bouncycastle.asn1.crmf.EncryptedKey;
-import org.bouncycastle.asn1.crmf.EncryptedValue;
-import org.bouncycastle.asn1.crmf.OptionalValidity;
-import org.bouncycastle.asn1.crmf.PKIArchiveOptions;
-import org.bouncycastle.asn1.crmf.PKIPublicationInfo;
-import org.bouncycastle.asn1.crmf.PKMACValue;
-import org.bouncycastle.asn1.crmf.POPOPrivKey;
-import org.bouncycastle.asn1.crmf.POPOSigningKey;
-import org.bouncycastle.asn1.crmf.POPOSigningKeyInput;
-import org.bouncycastle.asn1.crmf.ProofOfPossession;
-import org.bouncycastle.asn1.crmf.SinglePubInfo;
-import org.bouncycastle.asn1.cryptopro.ECGOST3410ParamSetParameters;
-import org.bouncycastle.asn1.cryptopro.GOST28147Parameters;
-import org.bouncycastle.asn1.cryptopro.GOST3410ParamSetParameters;
-import org.bouncycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters;
-import org.bouncycastle.asn1.eac.CVCertificate;
-import org.bouncycastle.asn1.eac.CVCertificateRequest;
-import org.bouncycastle.asn1.eac.CertificateBody;
-import org.bouncycastle.asn1.eac.PublicKeyDataObject;
-import org.bouncycastle.asn1.eac.RSAPublicKey;
-import org.bouncycastle.asn1.eac.UnsignedInteger;
-import org.bouncycastle.asn1.esf.CommitmentTypeIndication;
-import org.bouncycastle.asn1.esf.CommitmentTypeQualifier;
-import org.bouncycastle.asn1.esf.CompleteRevocationRefs;
-import org.bouncycastle.asn1.esf.CrlIdentifier;
-import org.bouncycastle.asn1.esf.CrlListID;
-import org.bouncycastle.asn1.esf.CrlOcspRef;
-import org.bouncycastle.asn1.esf.CrlValidatedID;
-import org.bouncycastle.asn1.esf.OcspIdentifier;
-import org.bouncycastle.asn1.esf.OcspListID;
-import org.bouncycastle.asn1.esf.OcspResponsesID;
-import org.bouncycastle.asn1.esf.OtherHash;
-import org.bouncycastle.asn1.esf.OtherHashAlgAndValue;
-import org.bouncycastle.asn1.esf.OtherRevRefs;
-import org.bouncycastle.asn1.esf.OtherRevVals;
-import org.bouncycastle.asn1.esf.RevocationValues;
-import org.bouncycastle.asn1.esf.SPUserNotice;
-import org.bouncycastle.asn1.esf.SPuri;
-import org.bouncycastle.asn1.esf.SigPolicyQualifierInfo;
-import org.bouncycastle.asn1.esf.SigPolicyQualifiers;
-import org.bouncycastle.asn1.esf.SignaturePolicyId;
-import org.bouncycastle.asn1.esf.SignaturePolicyIdentifier;
-import org.bouncycastle.asn1.esf.SignerAttribute;
-import org.bouncycastle.asn1.esf.SignerLocation;
-import org.bouncycastle.asn1.ess.ContentHints;
-import org.bouncycastle.asn1.ess.ContentIdentifier;
-import org.bouncycastle.asn1.ess.ESSCertID;
-import org.bouncycastle.asn1.ess.ESSCertIDv2;
-import org.bouncycastle.asn1.ess.OtherCertID;
-import org.bouncycastle.asn1.ess.OtherSigningCertificate;
-import org.bouncycastle.asn1.ess.SigningCertificate;
-import org.bouncycastle.asn1.ess.SigningCertificateV2;
-import org.bouncycastle.asn1.icao.CscaMasterList;
-import org.bouncycastle.asn1.icao.DataGroupHash;
-import org.bouncycastle.asn1.icao.LDSSecurityObject;
-import org.bouncycastle.asn1.icao.LDSVersionInfo;
-import org.bouncycastle.asn1.isismtt.ocsp.CertHash;
-import org.bouncycastle.asn1.isismtt.ocsp.RequestedCertificate;
-import org.bouncycastle.asn1.isismtt.x509.AdditionalInformationSyntax;
-import org.bouncycastle.asn1.isismtt.x509.AdmissionSyntax;
-import org.bouncycastle.asn1.isismtt.x509.Admissions;
-import org.bouncycastle.asn1.isismtt.x509.DeclarationOfMajority;
-import org.bouncycastle.asn1.isismtt.x509.MonetaryLimit;
-import org.bouncycastle.asn1.isismtt.x509.NamingAuthority;
-import org.bouncycastle.asn1.isismtt.x509.ProcurationSyntax;
-import org.bouncycastle.asn1.isismtt.x509.ProfessionInfo;
-import org.bouncycastle.asn1.isismtt.x509.Restriction;
-import org.bouncycastle.asn1.misc.CAST5CBCParameters;
-import org.bouncycastle.asn1.misc.IDEACBCPar;
-import org.bouncycastle.asn1.mozilla.PublicKeyAndChallenge;
-import org.bouncycastle.asn1.ocsp.BasicOCSPResponse;
-import org.bouncycastle.asn1.ocsp.CertID;
-import org.bouncycastle.asn1.ocsp.CertStatus;
-import org.bouncycastle.asn1.ocsp.CrlID;
-import org.bouncycastle.asn1.ocsp.OCSPRequest;
-import org.bouncycastle.asn1.ocsp.OCSPResponse;
-import org.bouncycastle.asn1.ocsp.OCSPResponseStatus;
-import org.bouncycastle.asn1.ocsp.Request;
-import org.bouncycastle.asn1.ocsp.ResponderID;
-import org.bouncycastle.asn1.ocsp.ResponseBytes;
-import org.bouncycastle.asn1.ocsp.ResponseData;
-import org.bouncycastle.asn1.ocsp.RevokedInfo;
-import org.bouncycastle.asn1.ocsp.Signature;
-import org.bouncycastle.asn1.ocsp.SingleResponse;
-import org.bouncycastle.asn1.ocsp.TBSRequest;
-import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
-import org.bouncycastle.asn1.pkcs.AuthenticatedSafe;
-import org.bouncycastle.asn1.pkcs.CertificationRequest;
-import org.bouncycastle.asn1.pkcs.CertificationRequestInfo;
-import org.bouncycastle.asn1.pkcs.DHParameter;
-import org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo;
-import org.bouncycastle.asn1.pkcs.MacData;
-import org.bouncycastle.asn1.pkcs.PBEParameter;
-import org.bouncycastle.asn1.pkcs.PBES2Parameters;
-import org.bouncycastle.asn1.pkcs.PBKDF2Params;
-import org.bouncycastle.asn1.pkcs.PKCS12PBEParams;
-import org.bouncycastle.asn1.pkcs.Pfx;
-import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
-import org.bouncycastle.asn1.pkcs.RC2CBCParameter;
-import org.bouncycastle.asn1.pkcs.RSAESOAEPparams;
-import org.bouncycastle.asn1.pkcs.RSAPrivateKey;
-import org.bouncycastle.asn1.pkcs.RSASSAPSSparams;
-import org.bouncycastle.asn1.pkcs.SafeBag;
-import org.bouncycastle.asn1.pkcs.SignedData;
-import org.bouncycastle.asn1.sec.ECPrivateKey;
-import org.bouncycastle.asn1.smime.SMIMECapabilities;
-import org.bouncycastle.asn1.smime.SMIMECapability;
-import org.bouncycastle.asn1.tsp.Accuracy;
-import org.bouncycastle.asn1.tsp.MessageImprint;
-import org.bouncycastle.asn1.tsp.TSTInfo;
-import org.bouncycastle.asn1.tsp.TimeStampReq;
-import org.bouncycastle.asn1.tsp.TimeStampResp;
-import org.bouncycastle.asn1.x500.DirectoryString;
-import org.bouncycastle.asn1.x500.RDN;
-import org.bouncycastle.asn1.x500.X500Name;
-import org.bouncycastle.asn1.x509.AccessDescription;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.asn1.x509.AttCertIssuer;
-import org.bouncycastle.asn1.x509.AttCertValidityPeriod;
-import org.bouncycastle.asn1.x509.AttributeCertificate;
-import org.bouncycastle.asn1.x509.AttributeCertificateInfo;
-import org.bouncycastle.asn1.x509.AuthorityInformationAccess;
-import org.bouncycastle.asn1.x509.AuthorityKeyIdentifier;
-import org.bouncycastle.asn1.x509.BasicConstraints;
-import org.bouncycastle.asn1.x509.CRLDistPoint;
-import org.bouncycastle.asn1.x509.CRLNumber;
-import org.bouncycastle.asn1.x509.CRLReason;
-import org.bouncycastle.asn1.x509.Certificate;
-import org.bouncycastle.asn1.x509.CertificateList;
-import org.bouncycastle.asn1.x509.CertificatePair;
-import org.bouncycastle.asn1.x509.CertificatePolicies;
-import org.bouncycastle.asn1.x509.DSAParameter;
-import org.bouncycastle.asn1.x509.DigestInfo;
-import org.bouncycastle.asn1.x509.DisplayText;
-import org.bouncycastle.asn1.x509.DistributionPoint;
-import org.bouncycastle.asn1.x509.DistributionPointName;
-import org.bouncycastle.asn1.x509.ExtendedKeyUsage;
-import org.bouncycastle.asn1.x509.Extensions;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.GeneralSubtree;
-import org.bouncycastle.asn1.x509.Holder;
-import org.bouncycastle.asn1.x509.IetfAttrSyntax;
-import org.bouncycastle.asn1.x509.IssuerSerial;
-import org.bouncycastle.asn1.x509.IssuingDistributionPoint;
-import org.bouncycastle.asn1.x509.NameConstraints;
-import org.bouncycastle.asn1.x509.NoticeReference;
-import org.bouncycastle.asn1.x509.ObjectDigestInfo;
-import org.bouncycastle.asn1.x509.PolicyInformation;
-import org.bouncycastle.asn1.x509.PolicyMappings;
-import org.bouncycastle.asn1.x509.PolicyQualifierInfo;
-import org.bouncycastle.asn1.x509.PrivateKeyUsagePeriod;
-import org.bouncycastle.asn1.x509.RSAPublicKeyStructure;
-import org.bouncycastle.asn1.x509.RoleSyntax;
-import org.bouncycastle.asn1.x509.SubjectDirectoryAttributes;
-import org.bouncycastle.asn1.x509.SubjectKeyIdentifier;
-import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
-import org.bouncycastle.asn1.x509.TBSCertList;
-import org.bouncycastle.asn1.x509.TBSCertificate;
-import org.bouncycastle.asn1.x509.TBSCertificateStructure;
-import org.bouncycastle.asn1.x509.Target;
-import org.bouncycastle.asn1.x509.TargetInformation;
-import org.bouncycastle.asn1.x509.Targets;
-import org.bouncycastle.asn1.x509.Time;
-import org.bouncycastle.asn1.x509.UserNotice;
-import org.bouncycastle.asn1.x509.V2Form;
-import org.bouncycastle.asn1.x509.X509CertificateStructure;
-import org.bouncycastle.asn1.x509.X509Extensions;
-import org.bouncycastle.asn1.x509.X509Name;
-import org.bouncycastle.asn1.x509.qualified.BiometricData;
-import org.bouncycastle.asn1.x509.qualified.Iso4217CurrencyCode;
-import org.bouncycastle.asn1.x509.qualified.MonetaryValue;
-import org.bouncycastle.asn1.x509.qualified.QCStatement;
-import org.bouncycastle.asn1.x509.qualified.SemanticsInformation;
-import org.bouncycastle.asn1.x509.qualified.TypeOfBiometricData;
-import org.bouncycastle.asn1.x509.sigi.NameOrPseudonym;
-import org.bouncycastle.asn1.x509.sigi.PersonalData;
-import org.bouncycastle.asn1.x9.DHDomainParameters;
-import org.bouncycastle.asn1.x9.DHPublicKey;
-import org.bouncycastle.asn1.x9.DHValidationParms;
-import org.bouncycastle.asn1.x9.X962Parameters;
-import org.bouncycastle.asn1.x9.X9ECParameters;
-import org.bouncycastle.util.Integers;
-import org.bouncycastle.util.encoders.Base64;
-
-public class GetInstanceTest
- extends TestCase
-{
- public static byte[] attrCert = Base64.decode(
- "MIIHQDCCBqkCAQEwgZChgY2kgYowgYcxHDAaBgkqhkiG9w0BCQEWDW1sb3JjaEB2"
- + "dC5lZHUxHjAcBgNVBAMTFU1hcmt1cyBMb3JjaCAobWxvcmNoKTEbMBkGA1UECxMS"
- + "VmlyZ2luaWEgVGVjaCBVc2VyMRAwDgYDVQQLEwdDbGFzcyAyMQswCQYDVQQKEwJ2"
- + "dDELMAkGA1UEBhMCVVMwgYmkgYYwgYMxGzAZBgkqhkiG9w0BCQEWDHNzaGFoQHZ0"
- + "LmVkdTEbMBkGA1UEAxMSU3VtaXQgU2hhaCAoc3NoYWgpMRswGQYDVQQLExJWaXJn"
- + "aW5pYSBUZWNoIFVzZXIxEDAOBgNVBAsTB0NsYXNzIDExCzAJBgNVBAoTAnZ0MQsw"
- + "CQYDVQQGEwJVUzANBgkqhkiG9w0BAQQFAAIBBTAiGA8yMDAzMDcxODE2MDgwMloY"
- + "DzIwMDMwNzI1MTYwODAyWjCCBU0wggVJBgorBgEEAbRoCAEBMYIFORaCBTU8UnVs"
- + "ZSBSdWxlSWQ9IkZpbGUtUHJpdmlsZWdlLVJ1bGUiIEVmZmVjdD0iUGVybWl0Ij4K"
- + "IDxUYXJnZXQ+CiAgPFN1YmplY3RzPgogICA8U3ViamVjdD4KICAgIDxTdWJqZWN0"
- + "TWF0Y2ggTWF0Y2hJZD0idXJuOm9hc2lzOm5hbWVzOnRjOnhhY21sOjEuMDpmdW5j"
- + "dGlvbjpzdHJpbmctZXF1YWwiPgogICAgIDxBdHRyaWJ1dGVWYWx1ZSBEYXRhVHlw"
- + "ZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjc3RyaW5nIj4KICAg"
- + "ICAgIENOPU1hcmt1cyBMb3JjaDwvQXR0cmlidXRlVmFsdWU+CiAgICAgPFN1Ympl"
- + "Y3RBdHRyaWJ1dGVEZXNpZ25hdG9yIEF0dHJpYnV0ZUlkPSJ1cm46b2FzaXM6bmFt"
- + "ZXM6dGM6eGFjbWw6MS4wOnN1YmplY3Q6c3ViamVjdC1pZCIgRGF0YVR5cGU9Imh0"
- + "dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI3N0cmluZyIgLz4gCiAgICA8"
- + "L1N1YmplY3RNYXRjaD4KICAgPC9TdWJqZWN0PgogIDwvU3ViamVjdHM+CiAgPFJl"
- + "c291cmNlcz4KICAgPFJlc291cmNlPgogICAgPFJlc291cmNlTWF0Y2ggTWF0Y2hJ"
- + "ZD0idXJuOm9hc2lzOm5hbWVzOnRjOnhhY21sOjEuMDpmdW5jdGlvbjpzdHJpbmct"
- + "ZXF1YWwiPgogICAgIDxBdHRyaWJ1dGVWYWx1ZSBEYXRhVHlwZT0iaHR0cDovL3d3"
- + "dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjYW55VVJJIj4KICAgICAgaHR0cDovL3p1"
- + "bmkuY3MudnQuZWR1PC9BdHRyaWJ1dGVWYWx1ZT4KICAgICA8UmVzb3VyY2VBdHRy"
- + "aWJ1dGVEZXNpZ25hdG9yIEF0dHJpYnV0ZUlkPSJ1cm46b2FzaXM6bmFtZXM6dGM6"
- + "eGFjbWw6MS4wOnJlc291cmNlOnJlc291cmNlLWlkIiBEYXRhVHlwZT0iaHR0cDov"
- + "L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjYW55VVJJIiAvPiAKICAgIDwvUmVz"
- + "b3VyY2VNYXRjaD4KICAgPC9SZXNvdXJjZT4KICA8L1Jlc291cmNlcz4KICA8QWN0"
- + "aW9ucz4KICAgPEFjdGlvbj4KICAgIDxBY3Rpb25NYXRjaCBNYXRjaElkPSJ1cm46"
- + "b2FzaXM6bmFtZXM6dGM6eGFjbWw6MS4wOmZ1bmN0aW9uOnN0cmluZy1lcXVhbCI+"
- + "CiAgICAgPEF0dHJpYnV0ZVZhbHVlIERhdGFUeXBlPSJodHRwOi8vd3d3LnczLm9y"
- + "Zy8yMDAxL1hNTFNjaGVtYSNzdHJpbmciPgpEZWxlZ2F0ZSBBY2Nlc3MgICAgIDwv"
- + "QXR0cmlidXRlVmFsdWU+CgkgIDxBY3Rpb25BdHRyaWJ1dGVEZXNpZ25hdG9yIEF0"
- + "dHJpYnV0ZUlkPSJ1cm46b2FzaXM6bmFtZXM6dGM6eGFjbWw6MS4wOmFjdGlvbjph"
- + "Y3Rpb24taWQiIERhdGFUeXBlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj"
- + "aGVtYSNzdHJpbmciIC8+IAogICAgPC9BY3Rpb25NYXRjaD4KICAgPC9BY3Rpb24+"
- + "CiAgPC9BY3Rpb25zPgogPC9UYXJnZXQ+CjwvUnVsZT4KMA0GCSqGSIb3DQEBBAUA"
- + "A4GBAGiJSM48XsY90HlYxGmGVSmNR6ZW2As+bot3KAfiCIkUIOAqhcphBS23egTr"
- + "6asYwy151HshbPNYz+Cgeqs45KkVzh7bL/0e1r8sDVIaaGIkjHK3CqBABnfSayr3"
- + "Rd1yBoDdEv8Qb+3eEPH6ab9021AsLEnJ6LWTmybbOpMNZ3tv");
-
- byte[] cert1 = Base64.decode(
- "MIIDXjCCAsegAwIBAgIBBzANBgkqhkiG9w0BAQQFADCBtzELMAkGA1UEBhMCQVUx"
- + "ETAPBgNVBAgTCFZpY3RvcmlhMRgwFgYDVQQHEw9Tb3V0aCBNZWxib3VybmUxGjAY"
- + "BgNVBAoTEUNvbm5lY3QgNCBQdHkgTHRkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB"
- + "dXRob3JpdHkxFTATBgNVBAMTDENvbm5lY3QgNCBDQTEoMCYGCSqGSIb3DQEJARYZ"
- + "d2VibWFzdGVyQGNvbm5lY3Q0LmNvbS5hdTAeFw0wMDA2MDIwNzU2MjFaFw0wMTA2"
- + "MDIwNzU2MjFaMIG4MQswCQYDVQQGEwJBVTERMA8GA1UECBMIVmljdG9yaWExGDAW"
- + "BgNVBAcTD1NvdXRoIE1lbGJvdXJuZTEaMBgGA1UEChMRQ29ubmVjdCA0IFB0eSBM"
- + "dGQxFzAVBgNVBAsTDldlYnNlcnZlciBUZWFtMR0wGwYDVQQDExR3d3cyLmNvbm5l"
- + "Y3Q0LmNvbS5hdTEoMCYGCSqGSIb3DQEJARYZd2VibWFzdGVyQGNvbm5lY3Q0LmNv"
- + "bS5hdTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArvDxclKAhyv7Q/Wmr2re"
- + "Gw4XL9Cnh9e+6VgWy2AWNy/MVeXdlxzd7QAuc1eOWQkGQEiLPy5XQtTY+sBUJ3AO"
- + "Rvd2fEVJIcjf29ey7bYua9J/vz5MG2KYo9/WCHIwqD9mmG9g0xLcfwq/s8ZJBswE"
- + "7sb85VU+h94PTvsWOsWuKaECAwEAAaN3MHUwJAYDVR0RBB0wG4EZd2VibWFzdGVy"
- + "QGNvbm5lY3Q0LmNvbS5hdTA6BglghkgBhvhCAQ0ELRYrbW9kX3NzbCBnZW5lcmF0"
- + "ZWQgY3VzdG9tIHNlcnZlciBjZXJ0aWZpY2F0ZTARBglghkgBhvhCAQEEBAMCBkAw"
- + "DQYJKoZIhvcNAQEEBQADgYEAotccfKpwSsIxM1Hae8DR7M/Rw8dg/RqOWx45HNVL"
- + "iBS4/3N/TO195yeQKbfmzbAA2jbPVvIvGgTxPgO1MP4ZgvgRhasaa0qCJCkWvpM4"
- + "yQf33vOiYQbpv4rTwzU8AmRlBG45WdjyNIigGV+oRc61aKCTnLq7zB8N3z1TF/bF"
- + "5/8=");
-
- private byte[] v2CertList = Base64.decode(
- "MIICjTCCAfowDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMxIDAeBgNVBAoT"
- + "F1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2VydmVy"
- + "IENlcnRpZmljYXRpb24gQXV0aG9yaXR5Fw05NTA1MDIwMjEyMjZaFw05NTA2MDEw"
- + "MDAxNDlaMIIBaDAWAgUCQQAABBcNOTUwMjAxMTcyNDI2WjAWAgUCQQAACRcNOTUw"
- + "MjEwMDIxNjM5WjAWAgUCQQAADxcNOTUwMjI0MDAxMjQ5WjAWAgUCQQAADBcNOTUw"
- + "MjI1MDA0NjQ0WjAWAgUCQQAAGxcNOTUwMzEzMTg0MDQ5WjAWAgUCQQAAFhcNOTUw"
- + "MzE1MTkxNjU0WjAWAgUCQQAAGhcNOTUwMzE1MTk0MDQxWjAWAgUCQQAAHxcNOTUw"
- + "MzI0MTk0NDMzWjAWAgUCcgAABRcNOTUwMzI5MjAwNzExWjAWAgUCcgAAERcNOTUw"
- + "MzMwMDIzNDI2WjAWAgUCQQAAIBcNOTUwNDA3MDExMzIxWjAWAgUCcgAAHhcNOTUw"
- + "NDA4MDAwMjU5WjAWAgUCcgAAQRcNOTUwNDI4MTcxNzI0WjAWAgUCcgAAOBcNOTUw"
- + "NDI4MTcyNzIxWjAWAgUCcgAATBcNOTUwNTAyMDIxMjI2WjANBgkqhkiG9w0BAQIF"
- + "AAN+AHqOEJXSDejYy0UwxxrH/9+N2z5xu/if0J6qQmK92W0hW158wpJg+ovV3+wQ"
- + "wvIEPRL2rocL0tKfAsVq1IawSJzSNgxG0lrcla3MrJBnZ4GaZDu4FutZh72MR3Gt"
- + "JaAL3iTJHJD55kK2D/VoyY1djlsPuNh6AEgdVwFAyp0v");
-
- private static final Object[] NULL_ARGS = new Object[] { null };
-
- private void doFullGetInstanceTest(Class clazz, ASN1Object o1)
- throws Exception
- {
- Method m;
-
- try
- {
- m = clazz.getMethod("getInstance", Object.class);
- }
- catch (NoSuchMethodException e)
- {
- fail("no getInstance method found");
- return;
- }
-
- ASN1Object o2 = (ASN1Object)m.invoke(clazz, NULL_ARGS);
- if (o2 != null)
- {
- fail(clazz.getName() + " null failed");
- }
-
- o2 = (ASN1Object)m.invoke(clazz, o1);
-
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " equality failed");
- }
-
- o2 = (ASN1Object)m.invoke(clazz, o1.getEncoded());
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " encoded equality failed");
- }
-
- o2 = (ASN1Object)m.invoke(clazz, o1.toASN1Primitive());
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " sequence equality failed");
- }
-
- try
- {
- m = clazz.getMethod("getInstance", ASN1TaggedObject.class, Boolean.TYPE);
- }
- catch (NoSuchMethodException e)
- {
- return;
- }
-
- ASN1TaggedObject t = new DERTaggedObject(true, 0, o1);
- o2 = (ASN1Object)m.invoke(clazz, t, true);
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " tag equality failed");
- }
-
- t = new DERTaggedObject(true, 0, o1.toASN1Primitive());
- o2 = (ASN1Object)m.invoke(clazz, t, true);
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " tag equality failed");
- }
-
- t = ASN1TaggedObject.getInstance(t.getEncoded());
- o2 = (ASN1Object)m.invoke(clazz, t, true);
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " tag equality failed");
- }
-
- t = new DERTaggedObject(false, 0, o1);
- o2 = (ASN1Object)m.invoke(clazz, t, false);
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " tag equality failed");
- }
-
- t = new DERTaggedObject(false, 0, o1.toASN1Primitive());
- o2 = (ASN1Object)m.invoke(clazz, t, false);
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " tag equality failed");
- }
-
- t = ASN1TaggedObject.getInstance(t.getEncoded());
- o2 = (ASN1Object)m.invoke(clazz, t, false);
- if (!o1.equals(o2) || !clazz.isInstance(o2))
- {
- fail(clazz.getName() + " tag equality failed");
- }
- }
-
- public void testGetInstance()
- throws Exception
- {
- doFullGetInstanceTest(DERPrintableString.class, new DERPrintableString("hello world"));
- doFullGetInstanceTest(DERBMPString.class, new DERBMPString("hello world"));
- doFullGetInstanceTest(DERUTF8String.class, new DERUTF8String("hello world"));
- doFullGetInstanceTest(DERUniversalString.class, new DERUniversalString(new byte[20]));
- doFullGetInstanceTest(DERIA5String.class, new DERIA5String("hello world"));
- doFullGetInstanceTest(DERGeneralString.class, new DERGeneralString("hello world"));
- doFullGetInstanceTest(DERNumericString.class, new DERNumericString("hello world"));
- doFullGetInstanceTest(DERNumericString.class, new DERNumericString("99999", true));
- doFullGetInstanceTest(DERT61String.class, new DERT61String("hello world"));
- doFullGetInstanceTest(DERVisibleString.class, new DERVisibleString("hello world"));
-
- doFullGetInstanceTest(ASN1Integer.class, new ASN1Integer(1));
- doFullGetInstanceTest(ASN1GeneralizedTime.class, new ASN1GeneralizedTime(new Date()));
- doFullGetInstanceTest(ASN1UTCTime.class, new ASN1UTCTime(new Date()));
- doFullGetInstanceTest(ASN1Enumerated.class, new ASN1Enumerated(1));
-
- CMPCertificate cmpCert = new CMPCertificate(Certificate.getInstance(cert1));
- CertificateList crl = CertificateList.getInstance(v2CertList);
- AttributeCertificate attributeCert = AttributeCertificate.getInstance(attrCert);
-
- doFullGetInstanceTest(CAKeyUpdAnnContent.class, new CAKeyUpdAnnContent(cmpCert, cmpCert, cmpCert));
-
- CertConfirmContent.getInstance(null);
- CertifiedKeyPair.getInstance(null);
- CertOrEncCert.getInstance(null);
- CertRepMessage.getInstance(null);
- doFullGetInstanceTest(CertResponse.class, new CertResponse(new ASN1Integer(1), new PKIStatusInfo(PKIStatus.granted)));
- doFullGetInstanceTest(org.bouncycastle.asn1.cmp.CertStatus.class, new org.bouncycastle.asn1.cmp.CertStatus(new byte[10], BigInteger.valueOf(1), new PKIStatusInfo(PKIStatus.granted)));
- doFullGetInstanceTest(Challenge.class, new Challenge(new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE), new byte[10], new byte[10]));
-
- doFullGetInstanceTest(CMPCertificate.class, cmpCert);
- doFullGetInstanceTest(CRLAnnContent.class, new CRLAnnContent(crl));
- doFullGetInstanceTest(ErrorMsgContent.class, new ErrorMsgContent(new PKIStatusInfo(PKIStatus.granted), new ASN1Integer(1), new PKIFreeText("fred")));
- GenMsgContent.getInstance(null);
- GenRepContent.getInstance(null);
- InfoTypeAndValue.getInstance(null);
- KeyRecRepContent.getInstance(null);
- OOBCertHash.getInstance(null);
- PBMParameter.getInstance(null);
- PKIBody.getInstance(null);
- PKIConfirmContent.getInstance(null);
- PKIFreeText.getInstance(null);
- doFullGetInstanceTest(PKIFreeText.class, new PKIFreeText("hello world"));
- doFullGetInstanceTest(PKIFreeText.class, new PKIFreeText(new String[]{"hello", "world"}));
- doFullGetInstanceTest(PKIFreeText.class, new PKIFreeText(new DERUTF8String[]{new DERUTF8String("hello"), new DERUTF8String("world")}));
- PKIHeader.getInstance(null);
- PKIMessage.getInstance(null);
- PKIMessages.getInstance(null);
- doFullGetInstanceTest(PKIStatusInfo.class, new PKIStatusInfo(PKIStatus.rejection, new PKIFreeText("hello world"), new PKIFailureInfo(PKIFailureInfo.badAlg)));
- doFullGetInstanceTest(PKIStatusInfo.class, new PKIStatusInfo(PKIStatus.granted, new PKIFreeText("hello world")));
- PKIStatus.getInstance(null);
- PollRepContent.getInstance(null);
- PollReqContent.getInstance(null);
- POPODecKeyChallContent.getInstance(null);
- POPODecKeyRespContent.getInstance(null);
- ProtectedPart.getInstance(null);
- RevAnnContent.getInstance(null);
- RevDetails.getInstance(null);
- RevRepContent.getInstance(null);
- RevReqContent.getInstance(null);
- Attribute.getInstance(null);
- Attributes.getInstance(null);
- AuthenticatedData.getInstance(null);
- AuthenticatedData.getInstance(null);
- AuthEnvelopedData.getInstance(null);
- AuthEnvelopedData.getInstance(null);
- CompressedData.getInstance(null);
- CompressedData.getInstance(null);
- ContentInfo.getInstance(null);
- EncryptedContentInfo.getInstance(null);
- EncryptedData.getInstance(null);
- EnvelopedData.getInstance(null);
- EnvelopedData.getInstance(null);
- Evidence.getInstance(null);
- IssuerAndSerialNumber.getInstance(null);
- KEKIdentifier.getInstance(null);
- KEKIdentifier.getInstance(null);
- KEKRecipientInfo.getInstance(null);
- KEKRecipientInfo.getInstance(null);
- KeyAgreeRecipientIdentifier.getInstance(null);
- KeyAgreeRecipientIdentifier.getInstance(null);
- KeyAgreeRecipientInfo.getInstance(null);
- KeyAgreeRecipientInfo.getInstance(null);
- KeyTransRecipientInfo.getInstance(null);
- MetaData.getInstance(null);
- OriginatorIdentifierOrKey.getInstance(null);
- OriginatorIdentifierOrKey.getInstance(null);
- OriginatorInfo.getInstance(null);
- OriginatorInfo.getInstance(null);
- OriginatorPublicKey.getInstance(null);
- OriginatorPublicKey.getInstance(null);
- OtherKeyAttribute.getInstance(null);
- OtherRecipientInfo.getInstance(null);
- OtherRecipientInfo.getInstance(null);
- PasswordRecipientInfo.getInstance(null);
- PasswordRecipientInfo.getInstance(null);
- RecipientEncryptedKey.getInstance(null);
- RecipientIdentifier.getInstance(null);
- RecipientInfo.getInstance(null);
- RecipientKeyIdentifier.getInstance(null);
- RecipientKeyIdentifier.getInstance(null);
- SignedData.getInstance(null);
- SignerIdentifier.getInstance(null);
- SignerInfo.getInstance(null);
- Time.getInstance(null);
- Time.getInstance(null);
- TimeStampAndCRL.getInstance(null);
- TimeStampedData.getInstance(null);
- TimeStampTokenEvidence.getInstance(null);
- AttributeTypeAndValue.getInstance(null);
-
- doFullGetInstanceTest(CertId.class, new CertId(new GeneralName(new X500Name("CN=Test")), BigInteger.valueOf(1)));
-
-
- CertReqMessages.getInstance(null);
- CertReqMsg.getInstance(null);
- CertRequest.getInstance(null);
- CertTemplate.getInstance(null);
- Controls.getInstance(null);
- EncKeyWithID.getInstance(null);
- EncryptedKey.getInstance(null);
- EncryptedValue.getInstance(null);
- OptionalValidity.getInstance(null);
- PKIArchiveOptions.getInstance(null);
- PKIPublicationInfo.getInstance(null);
- PKMACValue.getInstance(null);
- PKMACValue.getInstance(null);
- POPOPrivKey.getInstance(null);
- POPOSigningKeyInput.getInstance(null);
- POPOSigningKey.getInstance(null);
- POPOSigningKey.getInstance(null);
- ProofOfPossession.getInstance(null);
- SinglePubInfo.getInstance(null);
- ECGOST3410ParamSetParameters.getInstance(null);
- ECGOST3410ParamSetParameters.getInstance(null);
- GOST28147Parameters.getInstance(null);
- GOST28147Parameters.getInstance(null);
- GOST3410ParamSetParameters.getInstance(null);
- GOST3410ParamSetParameters.getInstance(null);
- GOST3410PublicKeyAlgParameters.getInstance(null);
- GOST3410PublicKeyAlgParameters.getInstance(null);
- CertificateBody.getInstance(null);
- CVCertificate.getInstance(null);
- CVCertificateRequest.getInstance(null);
- PublicKeyDataObject.getInstance(null);
- UnsignedInteger.getInstance(null);
- CommitmentTypeIndication.getInstance(null);
- CommitmentTypeQualifier.getInstance(null);
-
- OcspIdentifier ocspIdentifier = new OcspIdentifier(new ResponderID(new X500Name("CN=Test")), new ASN1GeneralizedTime(new Date()));
- CrlListID crlListID = new CrlListID(new CrlValidatedID[]{new CrlValidatedID(new OtherHash(new byte[20]))});
- OcspListID ocspListID = new OcspListID(new OcspResponsesID[] { new OcspResponsesID(ocspIdentifier) });
- OtherRevRefs otherRevRefs = new OtherRevRefs(new ASN1ObjectIdentifier("1.2.1"), new DERSequence());
- OtherRevVals otherRevVals = new OtherRevVals(new ASN1ObjectIdentifier("1.2.1"), new DERSequence());
- CrlOcspRef crlOcspRef = new CrlOcspRef(crlListID, ocspListID, otherRevRefs);
- doFullGetInstanceTest(CompleteRevocationRefs.class, new CompleteRevocationRefs(new CrlOcspRef[]{crlOcspRef, crlOcspRef}));
-
- doFullGetInstanceTest(CrlIdentifier.class, new CrlIdentifier(new X500Name("CN=Test"), new ASN1UTCTime(new Date()), BigInteger.valueOf(1)));
-
-
- doFullGetInstanceTest(CrlListID.class, crlListID);
- doFullGetInstanceTest(CrlOcspRef.class, crlOcspRef);
- doFullGetInstanceTest(CrlValidatedID.class, new CrlValidatedID(new OtherHash(new byte[20])));
- doFullGetInstanceTest(OcspIdentifier.class, ocspIdentifier);
- doFullGetInstanceTest(OcspListID.class, ocspListID);
- doFullGetInstanceTest(OcspResponsesID.class, new OcspResponsesID(ocspIdentifier));
-
- OtherHashAlgAndValue otherHashAlgAndValue = new OtherHashAlgAndValue(new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE), new DEROctetString(new byte[10]));
- doFullGetInstanceTest(OtherHashAlgAndValue.class, otherHashAlgAndValue);
- OtherHash.getInstance(null);
- doFullGetInstanceTest(OtherRevRefs.class, otherRevRefs);
- doFullGetInstanceTest(OtherRevVals.class, otherRevVals);
- doFullGetInstanceTest(RevocationValues.class, new RevocationValues(new CertificateList[]{crl}, null, otherRevVals));
-
- SignaturePolicyId signaturePolicyId = new SignaturePolicyId(new ASN1ObjectIdentifier("1.2.1"), otherHashAlgAndValue);
- doFullGetInstanceTest(SignaturePolicyIdentifier.class, new SignaturePolicyIdentifier());
- doFullGetInstanceTest(SignaturePolicyIdentifier.class, new SignaturePolicyIdentifier(signaturePolicyId));
- doFullGetInstanceTest(SignaturePolicyId.class, signaturePolicyId);
- doFullGetInstanceTest(SignerAttribute.class, new SignerAttribute(new org.bouncycastle.asn1.x509.Attribute[]{new org.bouncycastle.asn1.x509.Attribute(new ASN1ObjectIdentifier("1.2.1"), new DERSet())}));
- doFullGetInstanceTest(SignerAttribute.class, new SignerAttribute(attributeCert));
-
- ASN1EncodableVector postalAddr = new ASN1EncodableVector();
-
- postalAddr.add(new DERUTF8String("line 1"));
- postalAddr.add(new DERUTF8String("line 2"));
-
- doFullGetInstanceTest(SignerLocation.class, new SignerLocation(new DERUTF8String("AU"), new DERUTF8String("Melbourne"), new DERSequence(postalAddr)));
- doFullGetInstanceTest(SigPolicyQualifierInfo.class, new SigPolicyQualifierInfo(new ASN1ObjectIdentifier("1.2.1"), new DERSequence()));
- SigPolicyQualifiers.getInstance(null);
- SPuri.getInstance(null);
- Vector v = new Vector();
-
- v.add(Integers.valueOf(1));
- v.add(BigInteger.valueOf(2));
- NoticeReference noticeReference = new NoticeReference("BC", v);
- doFullGetInstanceTest(SPUserNotice.class, new SPUserNotice(noticeReference, new DisplayText("hello world")));
- ContentHints.getInstance(null);
- ContentIdentifier.getInstance(null);
- ESSCertID.getInstance(null);
- ESSCertIDv2.getInstance(null);
- OtherCertID.getInstance(null);
- OtherSigningCertificate.getInstance(null);
- SigningCertificate.getInstance(null);
- SigningCertificateV2.getInstance(null);
- CscaMasterList.getInstance(null);
- DataGroupHash.getInstance(null);
- LDSSecurityObject.getInstance(null);
- LDSVersionInfo.getInstance(null);
- CAST5CBCParameters.getInstance(null);
- IDEACBCPar.getInstance(null);
- PublicKeyAndChallenge.getInstance(null);
- BasicOCSPResponse.getInstance(null);
- BasicOCSPResponse.getInstance(null);
-
- doFullGetInstanceTest(CertID.class, new CertID(new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE), new DEROctetString(new byte[1]), new DEROctetString(new byte[1]), new ASN1Integer(1)));
-
- CertStatus.getInstance(null);
- CertStatus.getInstance(null);
- CrlID.getInstance(null);
- OCSPRequest.getInstance(null);
- OCSPRequest.getInstance(null);
- OCSPResponse.getInstance(null);
- OCSPResponse.getInstance(null);
- OCSPResponseStatus.getInstance(null);
- Request.getInstance(null);
- Request.getInstance(null);
- ResponderID.getInstance(null);
- ResponderID.getInstance(null);
- ResponseBytes.getInstance(null);
- ResponseBytes.getInstance(null);
- ResponseData.getInstance(null);
- ResponseData.getInstance(null);
- RevokedInfo.getInstance(null);
- RevokedInfo.getInstance(null);
- Signature.getInstance(null);
- Signature.getInstance(null);
- SingleResponse.getInstance(null);
- SingleResponse.getInstance(null);
- TBSRequest.getInstance(null);
- TBSRequest.getInstance(null);
- Attribute.getInstance(null);
- AuthenticatedSafe.getInstance(null);
- CertificationRequestInfo.getInstance(null);
- CertificationRequest.getInstance(null);
- ContentInfo.getInstance(null);
- DHParameter.getInstance(null);
- EncryptedData.getInstance(null);
- EncryptedPrivateKeyInfo.getInstance(null);
- AlgorithmIdentifier.getInstance(null);
- IssuerAndSerialNumber.getInstance(null);
- MacData.getInstance(null);
- PBEParameter.getInstance(null);
- PBES2Parameters.getInstance(null);
- PBKDF2Params.getInstance(null);
- Pfx.getInstance(null);
- PKCS12PBEParams.getInstance(null);
- PrivateKeyInfo.getInstance(null);
- PrivateKeyInfo.getInstance(null);
- RC2CBCParameter.getInstance(null);
- RSAESOAEPparams.getInstance(null);
- RSAPrivateKey.getInstance(null);
- RSAPrivateKey.getInstance(null);
- RSAPublicKey.getInstance(null);
- RSAPublicKey.getInstance(null);
- RSASSAPSSparams.getInstance(null);
- SafeBag.getInstance(null);
- SignedData.getInstance(null);
- SignerInfo.getInstance(null);
- ECPrivateKey.getInstance(null);
- SMIMECapabilities.getInstance(null);
- SMIMECapability.getInstance(null);
- Accuracy.getInstance(null);
- MessageImprint.getInstance(null);
- TimeStampReq.getInstance(null);
- TimeStampResp.getInstance(null);
- TSTInfo.getInstance(null);
- AttributeTypeAndValue.getInstance(null);
- DirectoryString.getInstance(null);
- DirectoryString.getInstance(null);
- RDN.getInstance(null);
- X500Name.getInstance(null);
- X500Name.getInstance(null);
- AccessDescription.getInstance(null);
- AlgorithmIdentifier.getInstance(null);
- AlgorithmIdentifier.getInstance(null);
- AttCertIssuer.getInstance(null);
- AttCertIssuer.getInstance(null);
- AttCertValidityPeriod.getInstance(null);
- AttributeCertificateInfo.getInstance(null);
- AttributeCertificateInfo.getInstance(null);
- AttributeCertificate.getInstance(null);
- Attribute.getInstance(null);
- AuthorityInformationAccess.getInstance(null);
- AuthorityKeyIdentifier.getInstance(null);
- AuthorityKeyIdentifier.getInstance(null);
- BasicConstraints.getInstance(null);
- BasicConstraints.getInstance(null);
- Certificate.getInstance(null);
- Certificate.getInstance(null);
- CertificateList.getInstance(null);
- CertificateList.getInstance(null);
- CertificatePair.getInstance(null);
- CertificatePolicies.getInstance(null);
- CertificatePolicies.getInstance(null);
- CRLDistPoint.getInstance(null);
- CRLDistPoint.getInstance(null);
- CRLNumber.getInstance(null);
- CRLReason.getInstance(null);
- DigestInfo.getInstance(null);
- DigestInfo.getInstance(null);
- DisplayText.getInstance(null);
- DisplayText.getInstance(null);
- DistributionPoint.getInstance(null);
- DistributionPoint.getInstance(null);
- DistributionPointName.getInstance(null);
- DistributionPointName.getInstance(null);
- DSAParameter.getInstance(null);
- DSAParameter.getInstance(null);
- ExtendedKeyUsage.getInstance(null);
- ExtendedKeyUsage.getInstance(null);
- Extensions.getInstance(null);
- Extensions.getInstance(null);
- GeneralName.getInstance(null);
- GeneralName.getInstance(null);
- GeneralNames.getInstance(null);
- GeneralNames.getInstance(null);
-
- GeneralSubtree generalSubtree = new GeneralSubtree(new GeneralName(new X500Name("CN=Test")));
- ASN1ObjectIdentifier algOid = new ASN1ObjectIdentifier("1.2.1");
- ObjectDigestInfo objectDigestInfo = new ObjectDigestInfo(ObjectDigestInfo.otherObjectDigest, algOid, new AlgorithmIdentifier(algOid), new byte[20]);
-
- doFullGetInstanceTest(GeneralSubtree.class, generalSubtree);
- doFullGetInstanceTest(Holder.class, new Holder(objectDigestInfo));
- IetfAttrSyntax.getInstance(null);
- IssuerSerial.getInstance(null);
- IssuerSerial.getInstance(null);
- IssuingDistributionPoint.getInstance(null);
- IssuingDistributionPoint.getInstance(null);
- DERBitString.getInstance(null);
-
- v.clear();
- v.add(generalSubtree);
-
- doFullGetInstanceTest(NameConstraints.class, new NameConstraints(null, null));
- doFullGetInstanceTest(NoticeReference.class, noticeReference);
- doFullGetInstanceTest(ObjectDigestInfo.class, objectDigestInfo);
-
- PolicyInformation.getInstance(null);
- PolicyMappings.getInstance(null);
- PolicyQualifierInfo.getInstance(null);
- PrivateKeyUsagePeriod.getInstance(null);
- doFullGetInstanceTest(RoleSyntax.class, new RoleSyntax(new GeneralNames(new GeneralName(new X500Name("CN=Test"))), new GeneralName(GeneralName.uniformResourceIdentifier, "http://bc")));
- RSAPublicKeyStructure.getInstance(null);
- RSAPublicKeyStructure.getInstance(null);
- SubjectDirectoryAttributes.getInstance(null);
- SubjectKeyIdentifier.getInstance(null);
- SubjectKeyIdentifier.getInstance(null);
- SubjectPublicKeyInfo.getInstance(null);
- SubjectPublicKeyInfo.getInstance(null);
- TargetInformation.getInstance(null);
- Target.getInstance(null);
- Targets.getInstance(null);
- TBSCertificate.getInstance(null);
- TBSCertificate.getInstance(null);
- TBSCertificateStructure.getInstance(null);
- TBSCertificateStructure.getInstance(null);
- TBSCertList.CRLEntry.getInstance(null);
- TBSCertList.getInstance(null);
- TBSCertList.getInstance(null);
- Time.getInstance(null);
- Time.getInstance(null);
- doFullGetInstanceTest(UserNotice.class, new UserNotice(noticeReference, "hello world"));
- V2Form.getInstance(null);
- V2Form.getInstance(null);
- X509CertificateStructure.getInstance(null);
- X509CertificateStructure.getInstance(null);
- X509Extensions.getInstance(null);
- X509Extensions.getInstance(null);
- X509Name.getInstance(null);
- X509Name.getInstance(null);
- DHDomainParameters.getInstance(null);
- DHDomainParameters.getInstance(null);
- DHPublicKey.getInstance(null);
- DHPublicKey.getInstance(null);
- DHValidationParms.getInstance(null);
- DHValidationParms.getInstance(null);
- X962Parameters.getInstance(null);
- X962Parameters.getInstance(null);
- X9ECParameters.getInstance(null);
- MQVuserKeyingMaterial.getInstance(null);
- MQVuserKeyingMaterial.getInstance(null);
- CertHash.getInstance(null);
- RequestedCertificate.getInstance(null);
- RequestedCertificate.getInstance(null);
- AdditionalInformationSyntax.getInstance(null);
- Admissions.getInstance(null);
- AdmissionSyntax.getInstance(null);
- DeclarationOfMajority.getInstance(null);
- MonetaryLimit.getInstance(null);
- NamingAuthority.getInstance(null);
- NamingAuthority.getInstance(null);
- ProcurationSyntax.getInstance(null);
- ProfessionInfo.getInstance(null);
- Restriction.getInstance(null);
- BiometricData.getInstance(null);
- Iso4217CurrencyCode.getInstance(null);
- MonetaryValue.getInstance(null);
- QCStatement.getInstance(null);
- SemanticsInformation.getInstance(null);
- TypeOfBiometricData.getInstance(null);
- NameOrPseudonym.getInstance(null);
- PersonalData.getInstance(null);
- }
-
- public String getName()
- {
- return "GetInstanceNullTest";
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/InputStreamTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/InputStreamTest.java
deleted file mode 100644
index 819d285..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/InputStreamTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class InputStreamTest
- extends SimpleTest
-{
- private static final byte[] outOfBoundsLength = new byte[] { (byte)0x30, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff };
- private static final byte[] negativeLength = new byte[] { (byte)0x30, (byte)0x84, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff };
- private static final byte[] outsideLimitLength = new byte[] { (byte)0x30, (byte)0x83, (byte)0x0f, (byte)0xff, (byte)0xff };
-
-
- public String getName()
- {
- return "InputStream";
- }
-
- public void performTest()
- throws Exception
- {
- ASN1InputStream aIn = new ASN1InputStream(outOfBoundsLength);
-
- try
- {
- aIn.readObject();
- fail("out of bounds length not detected.");
- }
- catch (IOException e)
- {
- if (!e.getMessage().startsWith("DER length more than 4 bytes"))
- {
- fail("wrong exception: " + e.getMessage());
- }
- }
-
- aIn = new ASN1InputStream(negativeLength);
-
- try
- {
- aIn.readObject();
- fail("negative length not detected.");
- }
- catch (IOException e)
- {
- if (!e.getMessage().equals("corrupted stream - negative length found"))
- {
- fail("wrong exception: " + e.getMessage());
- }
- }
-
- aIn = new ASN1InputStream(outsideLimitLength);
-
- try
- {
- aIn.readObject();
- fail("outside limit length not detected.");
- }
- catch (IOException e)
- {
- if (!e.getMessage().equals("corrupted stream - out of bounds length found"))
- {
- fail("wrong exception: " + e.getMessage());
- }
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new InputStreamTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java
deleted file mode 100644
index 9a1d6a8..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/Iso4217CurrencyCodeUnitTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.x509.qualified.Iso4217CurrencyCode;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class Iso4217CurrencyCodeUnitTest
- extends SimpleTest
-{
- private static final String ALPHABETIC_CURRENCY_CODE = "AUD";
- private static final int NUMERIC_CURRENCY_CODE = 1;
-
- public String getName()
- {
- return "Iso4217CurrencyCode";
- }
-
- public void performTest()
- throws Exception
- {
- //
- // alphabetic
- //
- Iso4217CurrencyCode cc = new Iso4217CurrencyCode(ALPHABETIC_CURRENCY_CODE);
-
- checkNumeric(cc, ALPHABETIC_CURRENCY_CODE);
-
- cc = Iso4217CurrencyCode.getInstance(cc);
-
- checkNumeric(cc, ALPHABETIC_CURRENCY_CODE);
-
- ASN1Primitive obj = cc.toASN1Object();
-
- cc = Iso4217CurrencyCode.getInstance(obj);
-
- checkNumeric(cc, ALPHABETIC_CURRENCY_CODE);
-
- //
- // numeric
- //
- cc = new Iso4217CurrencyCode(NUMERIC_CURRENCY_CODE);
-
- checkNumeric(cc, NUMERIC_CURRENCY_CODE);
-
- cc = Iso4217CurrencyCode.getInstance(cc);
-
- checkNumeric(cc, NUMERIC_CURRENCY_CODE);
-
- obj = cc.toASN1Object();
-
- cc = Iso4217CurrencyCode.getInstance(obj);
-
- checkNumeric(cc, NUMERIC_CURRENCY_CODE);
-
- cc = Iso4217CurrencyCode.getInstance(null);
-
- if (cc != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- Iso4217CurrencyCode.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- new Iso4217CurrencyCode("ABCD");
-
- fail("constructor failed to detect out of range currencycode.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- new Iso4217CurrencyCode(0);
-
- fail("constructor failed to detect out of range small numeric code.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- new Iso4217CurrencyCode(1000);
-
- fail("constructor failed to detect out of range large numeric code.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkNumeric(
- Iso4217CurrencyCode cc,
- String code)
- {
- if (!cc.isAlphabetic())
- {
- fail("non-alphabetic code found when one expected.");
- }
-
- if (!cc.getAlphabetic().equals(code))
- {
- fail("string codes don't match.");
- }
- }
-
- private void checkNumeric(
- Iso4217CurrencyCode cc,
- int code)
- {
- if (cc.isAlphabetic())
- {
- fail("alphabetic code found when one not expected.");
- }
-
- if (cc.getNumeric() != code)
- {
- fail("numeric codes don't match.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new Iso4217CurrencyCodeUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/IssuingDistributionPointUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/IssuingDistributionPointUnitTest.java
deleted file mode 100644
index 3f27f19..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/IssuingDistributionPointUnitTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.x509.DistributionPointName;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.IssuingDistributionPoint;
-import org.bouncycastle.asn1.x509.ReasonFlags;
-import org.bouncycastle.asn1.x509.X509Name;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class IssuingDistributionPointUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "IssuingDistributionPoint";
- }
-
- public void performTest()
- throws Exception
- {
- DistributionPointName name = new DistributionPointName(
- new GeneralNames(new GeneralName(new X509Name("cn=test"))));
- ReasonFlags reasonFlags = new ReasonFlags(ReasonFlags.cACompromise);
-
- checkPoint(6, name, true, true, reasonFlags, true, true);
-
- checkPoint(2, name, false, false, reasonFlags, false, false);
-
- checkPoint(0, null, false, false, null, false, false);
-
- try
- {
- IssuingDistributionPoint.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkPoint(
- int size,
- DistributionPointName distributionPoint,
- boolean onlyContainsUserCerts,
- boolean onlyContainsCACerts,
- ReasonFlags onlySomeReasons,
- boolean indirectCRL,
- boolean onlyContainsAttributeCerts)
- throws IOException
- {
- IssuingDistributionPoint point = new IssuingDistributionPoint(distributionPoint, onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons, indirectCRL, onlyContainsAttributeCerts);
-
- checkValues(point, distributionPoint, onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons, indirectCRL, onlyContainsAttributeCerts);
-
- ASN1Sequence seq = ASN1Sequence.getInstance(ASN1Primitive.fromByteArray(point.getEncoded()));
-
- if (seq.size() != size)
- {
- fail("size mismatch");
- }
-
- point = IssuingDistributionPoint.getInstance(seq);
-
- checkValues(point, distributionPoint, onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons, indirectCRL, onlyContainsAttributeCerts);
- }
-
- private void checkValues(IssuingDistributionPoint point, DistributionPointName distributionPoint, boolean onlyContainsUserCerts, boolean onlyContainsCACerts, ReasonFlags onlySomeReasons, boolean indirectCRL, boolean onlyContainsAttributeCerts)
- {
- if (point.onlyContainsUserCerts() != onlyContainsUserCerts)
- {
- fail("mismatch on onlyContainsUserCerts");
- }
-
- if (point.onlyContainsCACerts() != onlyContainsCACerts)
- {
- fail("mismatch on onlyContainsCACerts");
- }
-
- if (point.isIndirectCRL() != indirectCRL)
- {
- fail("mismatch on indirectCRL");
- }
-
- if (point.onlyContainsAttributeCerts() != onlyContainsAttributeCerts)
- {
- fail("mismatch on onlyContainsAttributeCerts");
- }
-
- if (!isEquiv(onlySomeReasons, point.getOnlySomeReasons()))
- {
- fail("mismatch on onlySomeReasons");
- }
-
- if (!isEquiv(distributionPoint, point.getDistributionPoint()))
- {
- fail("mismatch on distributionPoint");
- }
- }
-
- private boolean isEquiv(Object o1, Object o2)
- {
- if (o1 == null)
- {
- return o2 == null;
- }
-
- return o1.equals(o2);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new IssuingDistributionPointUnitTest());
- }
-} \ No newline at end of file
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/KeyUsageTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/KeyUsageTest.java
deleted file mode 100644
index f5c90cd..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/KeyUsageTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.x509.KeyUsage;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class KeyUsageTest
- extends SimpleTest
-{
- public String getName()
- {
- return "KeyUsage";
- }
-
- public void performTest()
- throws IOException
- {
- BitStringConstantTester.testFlagValueCorrect(0, KeyUsage.digitalSignature);
- BitStringConstantTester.testFlagValueCorrect(1, KeyUsage.nonRepudiation);
- BitStringConstantTester.testFlagValueCorrect(2, KeyUsage.keyEncipherment);
- BitStringConstantTester.testFlagValueCorrect(3, KeyUsage.dataEncipherment);
- BitStringConstantTester.testFlagValueCorrect(4, KeyUsage.keyAgreement);
- BitStringConstantTester.testFlagValueCorrect(5, KeyUsage.keyCertSign);
- BitStringConstantTester.testFlagValueCorrect(6, KeyUsage.cRLSign);
- BitStringConstantTester.testFlagValueCorrect(7, KeyUsage.encipherOnly);
- BitStringConstantTester.testFlagValueCorrect(8, KeyUsage.decipherOnly);
-
- if (!new KeyUsage(KeyUsage.keyCertSign).hasUsages(KeyUsage.keyCertSign))
- {
- fail("usages bit test failed 1");
- }
-
- if (new KeyUsage(KeyUsage.cRLSign).hasUsages(KeyUsage.keyCertSign))
- {
- fail("usages bit test failed 2");
- }
-
- if (!new KeyUsage(KeyUsage.cRLSign | KeyUsage.decipherOnly).hasUsages(KeyUsage.cRLSign | KeyUsage.decipherOnly))
- {
- fail("usages bit test failed 3");
- }
-
- if (new KeyUsage(KeyUsage.cRLSign | KeyUsage.decipherOnly).hasUsages(KeyUsage.cRLSign | KeyUsage.decipherOnly | KeyUsage.keyCertSign))
- {
- fail("usages bit test failed 4");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new KeyUsageTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/LDSSecurityObjectUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/LDSSecurityObjectUnitTest.java
deleted file mode 100644
index 3c7cd5f..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/LDSSecurityObjectUnitTest.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-import java.util.Random;
-
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.icao.DataGroupHash;
-import org.bouncycastle.asn1.icao.LDSSecurityObject;
-import org.bouncycastle.asn1.icao.LDSVersionInfo;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class LDSSecurityObjectUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "LDSSecurityObject";
- }
-
- private byte[] generateHash()
- {
- Random rand = new Random();
- byte[] bytes = new byte[20];
-
- for (int i = 0; i != bytes.length; i++)
- {
- bytes[i] = (byte)rand.nextInt();
- }
-
- return bytes;
- }
-
- public void performTest()
- throws Exception
- {
- AlgorithmIdentifier algoId = new AlgorithmIdentifier("1.3.14.3.2.26");
- DataGroupHash[] datas = new DataGroupHash[2];
-
- datas[0] = new DataGroupHash(1, new DEROctetString(generateHash()));
- datas[1] = new DataGroupHash(2, new DEROctetString(generateHash()));
-
- LDSSecurityObject so = new LDSSecurityObject(algoId, datas);
-
- checkConstruction(so, algoId, datas);
-
- LDSVersionInfo versionInfo = new LDSVersionInfo("Hello", "world");
-
- so = new LDSSecurityObject(algoId, datas, versionInfo);
-
- checkConstruction(so, algoId, datas, versionInfo);
-
- try
- {
- LDSSecurityObject.getInstance(null);
- }
- catch (Exception e)
- {
- fail("getInstance() failed to handle null.");
- }
-
- try
- {
- LDSSecurityObject.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- ASN1EncodableVector v = new ASN1EncodableVector();
-
- LDSSecurityObject.getInstance(new DERSequence(v));
-
- fail("constructor failed to detect empty sequence.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- new LDSSecurityObject(algoId, new DataGroupHash[1]);
-
- fail("constructor failed to detect small DataGroupHash array.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- new LDSSecurityObject(algoId, new DataGroupHash[LDSSecurityObject.ub_DataGroups + 1]);
-
- fail("constructor failed to out of bounds DataGroupHash array.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- LDSSecurityObject so,
- AlgorithmIdentifier digestAlgorithmIdentifier,
- DataGroupHash[] datagroupHash)
- throws IOException
- {
- checkStatement(so, digestAlgorithmIdentifier, datagroupHash, null);
-
- so = LDSSecurityObject.getInstance(so);
-
- checkStatement(so, digestAlgorithmIdentifier, datagroupHash, null);
-
- ASN1InputStream aIn = new ASN1InputStream(so.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- so = LDSSecurityObject.getInstance(seq);
-
- checkStatement(so, digestAlgorithmIdentifier, datagroupHash, null);
- }
-
- private void checkConstruction(
- LDSSecurityObject so,
- AlgorithmIdentifier digestAlgorithmIdentifier,
- DataGroupHash[] datagroupHash,
- LDSVersionInfo versionInfo)
- throws IOException
- {
- if (so.getVersion() != 1)
- {
- fail("version number not 1");
- }
-
- checkStatement(so, digestAlgorithmIdentifier, datagroupHash, versionInfo);
-
- so = LDSSecurityObject.getInstance(so);
-
- checkStatement(so, digestAlgorithmIdentifier, datagroupHash, versionInfo);
-
- ASN1InputStream aIn = new ASN1InputStream(so.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- so = LDSSecurityObject.getInstance(seq);
-
- checkStatement(so, digestAlgorithmIdentifier, datagroupHash, versionInfo);
- }
-
- private void checkStatement(
- LDSSecurityObject so,
- AlgorithmIdentifier digestAlgorithmIdentifier,
- DataGroupHash[] datagroupHash,
- LDSVersionInfo versionInfo)
- {
- if (digestAlgorithmIdentifier != null)
- {
- if (!so.getDigestAlgorithmIdentifier().equals(digestAlgorithmIdentifier))
- {
- fail("ids don't match.");
- }
- }
- else if (so.getDigestAlgorithmIdentifier() != null)
- {
- fail("digest algorithm Id found when none expected.");
- }
-
- if (datagroupHash != null)
- {
- DataGroupHash[] datas = so.getDatagroupHash();
-
- for (int i = 0; i != datas.length; i++)
- {
- if (!datagroupHash[i].equals(datas[i]))
- {
- fail("name registration authorities don't match.");
- }
- }
- }
- else if (so.getDatagroupHash() != null)
- {
- fail("data hash groups found when none expected.");
- }
-
- if (versionInfo != null)
- {
- if (!versionInfo.equals(so.getVersionInfo()))
- {
- fail("versionInfo doesn't match");
- }
- }
- else if (so.getVersionInfo() != null)
- {
- fail("version info found when none expected.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new LDSSecurityObjectUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/MiscTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/MiscTest.java
deleted file mode 100644
index 2a5f09a..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/MiscTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import org.bouncycastle.asn1.ASN1Encodable;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.DERIA5String;
-import org.bouncycastle.asn1.misc.CAST5CBCParameters;
-import org.bouncycastle.asn1.misc.IDEACBCPar;
-import org.bouncycastle.asn1.misc.NetscapeCertType;
-import org.bouncycastle.asn1.misc.NetscapeRevocationURL;
-import org.bouncycastle.asn1.misc.VerisignCzagExtension;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTestResult;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class MiscTest
- implements Test
-{
- private boolean isSameAs(
- byte[] a,
- byte[] b)
- {
- if (a.length != b.length)
- {
- return false;
- }
-
- for (int i = 0; i != a.length; i++)
- {
- if (a[i] != b[i])
- {
- return false;
- }
- }
-
- return true;
- }
-
- public TestResult perform()
- {
- byte[] testIv = { 1, 2, 3, 4, 5, 6, 7, 8 };
-
- ASN1Encodable[] values = {
- new CAST5CBCParameters(testIv, 128),
- new NetscapeCertType(NetscapeCertType.smime),
- new VerisignCzagExtension(new DERIA5String("hello")),
- new IDEACBCPar(testIv),
- new NetscapeRevocationURL(new DERIA5String("http://test"))
- };
-
- byte[] data = Base64.decode("MA4ECAECAwQFBgcIAgIAgAMCBSAWBWhlbGxvMAoECAECAwQFBgcIFgtodHRwOi8vdGVzdA==");
-
- try
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- for (int i = 0; i != values.length; i++)
- {
- aOut.writeObject(values[i]);
- }
-
- ASN1Primitive[] readValues = new ASN1Primitive[values.length];
-
- if (!isSameAs(bOut.toByteArray(), data))
- {
- return new SimpleTestResult(false, getName() + ": Failed data check");
- }
-
- ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray());
- ASN1InputStream aIn = new ASN1InputStream(bIn);
-
- for (int i = 0; i != values.length; i++)
- {
- ASN1Primitive o = aIn.readObject();
- if (!values[i].equals(o))
- {
- return new SimpleTestResult(false, getName() + ": Failed equality test for " + o);
- }
-
- if (o.hashCode() != values[i].hashCode())
- {
- return new SimpleTestResult(false, getName() + ": Failed hashCode test for " + o);
- }
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": Failed - exception " + e.toString(), e);
- }
- }
-
- public String getName()
- {
- return "Misc";
- }
-
- public static void main(
- String[] args)
- {
- MiscTest test = new MiscTest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java
deleted file mode 100644
index 8456661..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.isismtt.x509.MonetaryLimit;
-
-import java.io.IOException;
-
-public class MonetaryLimitUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "MonetaryLimit";
- }
-
- public void performTest()
- throws Exception
- {
- String currency = "AUD";
- int amount = 1;
- int exponent = 2;
-
- MonetaryLimit limit = new MonetaryLimit(currency, amount, exponent);
-
- checkConstruction(limit, currency, amount, exponent);
-
- limit = MonetaryLimit.getInstance(null);
-
- if (limit != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- MonetaryLimit.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- MonetaryLimit limit,
- String currency,
- int amount,
- int exponent)
- throws IOException
- {
- checkValues(limit, currency, amount, exponent);
-
- limit = MonetaryLimit.getInstance(limit);
-
- checkValues(limit, currency, amount, exponent);
-
- ASN1InputStream aIn = new ASN1InputStream(limit.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- limit = MonetaryLimit.getInstance(seq);
-
- checkValues(limit, currency, amount, exponent);
- }
-
- private void checkValues(
- MonetaryLimit limit,
- String currency,
- int amount,
- int exponent)
- {
- checkMandatoryField("currency", currency, limit.getCurrency());
- checkMandatoryField("amount", amount, limit.getAmount().intValue());
- checkMandatoryField("exponent", exponent, limit.getExponent().intValue());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new MonetaryLimitUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryValueUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryValueUnitTest.java
deleted file mode 100644
index dd56469..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryValueUnitTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.x509.qualified.Iso4217CurrencyCode;
-import org.bouncycastle.asn1.x509.qualified.MonetaryValue;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class MonetaryValueUnitTest
- extends SimpleTest
-{
- private static final int TEST_AMOUNT = 100;
- private static final int ZERO_EXPONENT = 0;
-
- private static final String CURRENCY_CODE = "AUD";
-
- public String getName()
- {
- return "MonetaryValue";
- }
-
- public void performTest()
- throws Exception
- {
- MonetaryValue mv = new MonetaryValue(new Iso4217CurrencyCode(CURRENCY_CODE), TEST_AMOUNT, ZERO_EXPONENT);
-
- checkValues(mv, TEST_AMOUNT, ZERO_EXPONENT);
-
- mv = MonetaryValue.getInstance(mv);
-
- checkValues(mv, TEST_AMOUNT, ZERO_EXPONENT);
-
- ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- mv = MonetaryValue.getInstance(seq);
-
- checkValues(mv, TEST_AMOUNT, ZERO_EXPONENT);
-
- mv = MonetaryValue.getInstance(null);
-
- if (mv != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- MonetaryValue.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkValues(
- MonetaryValue mv,
- int amount,
- int exponent)
- {
- if (mv.getAmount().intValue() != amount)
- {
- fail("amounts don't match.");
- }
-
- if (mv.getExponent().intValue() != exponent)
- {
- fail("exponents don't match.");
- }
-
- Iso4217CurrencyCode cc = mv.getCurrency();
-
- if (!cc.getAlphabetic().equals(CURRENCY_CODE))
- {
- fail("currency code wrong");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new MonetaryValueUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/NameOrPseudonymUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/NameOrPseudonymUnitTest.java
deleted file mode 100644
index 3fbaa10..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/NameOrPseudonymUnitTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.ASN1String;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.x500.DirectoryString;
-import org.bouncycastle.asn1.x509.sigi.NameOrPseudonym;
-
-public class NameOrPseudonymUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "NameOrPseudonym";
- }
-
- public void performTest()
- throws Exception
- {
- String pseudonym = "pseudonym";
- DirectoryString surname = new DirectoryString("surname");
- ASN1Sequence givenName = new DERSequence(new DirectoryString("givenName"));
-
- NameOrPseudonym id = new NameOrPseudonym(pseudonym);
-
- checkConstruction(id, pseudonym, null, null);
-
- id = new NameOrPseudonym(surname, givenName);
-
- checkConstruction(id, null, surname, givenName);
-
- id = NameOrPseudonym.getInstance(null);
-
- if (id != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- NameOrPseudonym.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- NameOrPseudonym id,
- String pseudonym,
- DirectoryString surname,
- ASN1Sequence givenName)
- throws IOException
- {
- checkValues(id, pseudonym, surname, givenName);
-
- id = NameOrPseudonym.getInstance(id);
-
- checkValues(id, pseudonym, surname, givenName);
-
- ASN1InputStream aIn = new ASN1InputStream(id.toASN1Object().getEncoded());
-
- if (surname != null)
- {
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- id = NameOrPseudonym.getInstance(seq);
- }
- else
- {
- ASN1String s = (ASN1String)aIn.readObject();
-
- id = NameOrPseudonym.getInstance(s);
- }
-
- checkValues(id, pseudonym, surname, givenName);
- }
-
- private void checkValues(
- NameOrPseudonym id,
- String pseudonym,
- DirectoryString surname,
- ASN1Sequence givenName)
- {
-
- if (surname != null)
- {
- checkMandatoryField("surname", surname, id.getSurname());
- checkMandatoryField("givenName", givenName, new DERSequence(id.getGivenName()[0]));
- }
- else
- {
- checkOptionalField("pseudonym", new DirectoryString(pseudonym), id.getPseudonym());
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new NameOrPseudonymUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/NamingAuthorityUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/NamingAuthorityUnitTest.java
deleted file mode 100644
index 8dfcf8c..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/NamingAuthorityUnitTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.isismtt.x509.NamingAuthority;
-import org.bouncycastle.asn1.x500.DirectoryString;
-
-public class NamingAuthorityUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "NamingAuthority";
- }
-
- public void performTest()
- throws Exception
- {
- ASN1ObjectIdentifier namingAuthorityID = new ASN1ObjectIdentifier("1.2.3");
- String namingAuthorityURL = "url";
- DirectoryString namingAuthorityText = new DirectoryString("text");
-
- NamingAuthority auth = new NamingAuthority(namingAuthorityID, namingAuthorityURL, namingAuthorityText);
-
- checkConstruction(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText);
-
- auth = new NamingAuthority(null, namingAuthorityURL, namingAuthorityText);
-
- checkConstruction(auth, null, namingAuthorityURL, namingAuthorityText);
-
- auth = new NamingAuthority(namingAuthorityID, null, namingAuthorityText);
-
- checkConstruction(auth, namingAuthorityID, null, namingAuthorityText);
-
- auth = new NamingAuthority(namingAuthorityID, namingAuthorityURL, null);
-
- checkConstruction(auth, namingAuthorityID, namingAuthorityURL, null);
-
- auth = NamingAuthority.getInstance(null);
-
- if (auth != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- NamingAuthority.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- NamingAuthority auth,
- ASN1ObjectIdentifier namingAuthorityID,
- String namingAuthorityURL,
- DirectoryString namingAuthorityText)
- throws IOException
- {
- checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText);
-
- auth = NamingAuthority.getInstance(auth);
-
- checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText);
-
- ASN1InputStream aIn = new ASN1InputStream(auth.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- auth = NamingAuthority.getInstance(seq);
-
- checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText);
- }
-
- private void checkValues(
- NamingAuthority auth,
- ASN1ObjectIdentifier namingAuthorityId,
- String namingAuthorityURL,
- DirectoryString namingAuthorityText)
- {
- checkOptionalField("namingAuthorityId", namingAuthorityId, auth.getNamingAuthorityId());
- checkOptionalField("namingAuthorityURL", namingAuthorityURL, auth.getNamingAuthorityUrl());
- checkOptionalField("namingAuthorityText", namingAuthorityText, auth.getNamingAuthorityText());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new NamingAuthorityUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/NetscapeCertTypeTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/NetscapeCertTypeTest.java
deleted file mode 100644
index e5aa96e..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/NetscapeCertTypeTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.misc.NetscapeCertType;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class NetscapeCertTypeTest
- extends SimpleTest
-{
- public String getName()
- {
- return "NetscapeCertType";
- }
-
- public void performTest()
- throws IOException
- {
- BitStringConstantTester.testFlagValueCorrect(0, NetscapeCertType.sslClient);
- BitStringConstantTester.testFlagValueCorrect(1, NetscapeCertType.sslServer);
- BitStringConstantTester.testFlagValueCorrect(2, NetscapeCertType.smime);
- BitStringConstantTester.testFlagValueCorrect(3, NetscapeCertType.objectSigning);
- BitStringConstantTester.testFlagValueCorrect(4, NetscapeCertType.reserved);
- BitStringConstantTester.testFlagValueCorrect(5, NetscapeCertType.sslCA);
- BitStringConstantTester.testFlagValueCorrect(6, NetscapeCertType.smimeCA);
- BitStringConstantTester.testFlagValueCorrect(7, NetscapeCertType.objectSigningCA);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new NetscapeCertTypeTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/OCSPTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/OCSPTest.java
deleted file mode 100644
index ae1b035..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/OCSPTest.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.ocsp.BasicOCSPResponse;
-import org.bouncycastle.asn1.ocsp.OCSPRequest;
-import org.bouncycastle.asn1.ocsp.OCSPResponse;
-import org.bouncycastle.asn1.ocsp.ResponseBytes;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-import org.bouncycastle.util.test.SimpleTestResult;
-
-public class OCSPTest
- implements Test
-{
- private byte[] unsignedReq = Base64.decode(
- "MEIwQDA+MDwwOjAJBgUrDgMCGgUABBRDb9GODnq7lRhSkEqw4XX24huERwQUkY4j"
- + "a6eKuDlkVP9hRgkEvIWqHPECAQE=");
-
- private byte[] signedReq = Base64.decode(
- "MIIC9jBAMD4wPDA6MAkGBSsOAwIaBQAEFENv0Y4OeruVGFKQSrDhdfbiG4RHBBTc"
- + "Mr1fP+mZAxbF2ZdehWxn6mtAngIBAaCCArAwggKsMA0GCSqGSIb3DQEBBQUAA4GB"
- + "AAzHBm4nL5AcRQB3Jkz7ScNeZF+GbRZ0p4kBDTnqi3IeESuso12yJhpqqyijdnj5"
- + "gd4/GsSAgdluLHyYZ6wgozV7G9MDXCnFnG4PBUW05HaVX81JYAp+amVyU0NOgNrG"
- + "90npVBsHb0o+UlkxNgMiEbSkp/TeGb6YURsYKhmwp7BgoIICFTCCAhEwggINMIIB"
- + "dqADAgECAgEBMA0GCSqGSIb3DQEBBAUAMCUxFjAUBgNVBAoTDUJvdW5jeSBDYXN0"
- + "bGUxCzAJBgNVBAYTAkFVMB4XDTA0MTAyNDEzNDc0M1oXDTA1MDIwMTEzNDc0M1ow"
- + "JTEWMBQGA1UEChMNQm91bmN5IENhc3RsZTELMAkGA1UEBhMCQVUwgZ8wDQYJKoZI"
- + "hvcNAQEBBQADgY0AMIGJAoGBAJBmLeIzthMHUeTkOeJ76iBxcMHY31o/i3a9VT12"
- + "y2FcS/ejJmeUCMTdtwl5alOwXY66vF4DyT1VU/nJG3mHpSoqq7qrMXOIFGcXg1Wf"
- + "oJRrQgTOLdQ6bod7i9ME/EjEJy70orh0nVS7NGcu0R5TjcbLde2J5zxjb/W9wqfy"
- + "RovJAgMBAAGjTTBLMB0GA1UdDgQWBBTcMr1fP+mZAxbF2ZdehWxn6mtAnjAfBgNV"
- + "HSMEGDAWgBTcMr1fP+mZAxbF2ZdehWxn6mtAnjAJBgNVHRMEAjAAMA0GCSqGSIb3"
- + "DQEBBAUAA4GBAF/4EH1KkNrNxocJPIp7lThmG1KIVYESIadowMowrbok46ESofRF"
- + "OIPku07W+e1Y1Y1KXLIiPMG3IGwrBrn04iLsbbBUiN37BcC/VyT4xKJ2MYscGjKL"
- + "ua/9bU0lOyeTRAwqb8towWRd5lLYAI3RQ7dhStUTFp3Vqd803PJ/cpR6");
-
- private byte[] response = Base64.decode(
- "MIIFnAoBAKCCBZUwggWRBgkrBgEFBQcwAQEEggWCMIIFfjCCARehgZ8wgZwx"
- + "CzAJBgNVBAYTAklOMRcwFQYDVQQIEw5BbmRocmEgcHJhZGVzaDESMBAGA1UE"
- + "BxMJSHlkZXJhYmFkMQwwCgYDVQQKEwNUQ1MxDDAKBgNVBAsTA0FUQzEeMBwG"
- + "A1UEAxMVVENTLUNBIE9DU1AgUmVzcG9uZGVyMSQwIgYJKoZIhvcNAQkBFhVv"
- + "Y3NwQHRjcy1jYS50Y3MuY28uaW4YDzIwMDMwNDAyMTIzNDU4WjBiMGAwOjAJ"
- + "BgUrDgMCGgUABBRs07IuoCWNmcEl1oHwIak1BPnX8QQUtGyl/iL9WJ1VxjxF"
- + "j0hAwJ/s1AcCAQKhERgPMjAwMjA4MjkwNzA5MjZaGA8yMDAzMDQwMjEyMzQ1"
- + "OFowDQYJKoZIhvcNAQEFBQADgYEAfbN0TCRFKdhsmvOdUoiJ+qvygGBzDxD/"
- + "VWhXYA+16AphHLIWNABR3CgHB3zWtdy2j7DJmQ/R7qKj7dUhWLSqclAiPgFt"
- + "QQ1YvSJAYfEIdyHkxv4NP0LSogxrumANcDyC9yt/W9yHjD2ICPBIqCsZLuLk"
- + "OHYi5DlwWe9Zm9VFwCGgggPMMIIDyDCCA8QwggKsoAMCAQICAQYwDQYJKoZI"
- + "hvcNAQEFBQAwgZQxFDASBgNVBAMTC1RDUy1DQSBPQ1NQMSYwJAYJKoZIhvcN"
- + "AQkBFhd0Y3MtY2FAdGNzLWNhLnRjcy5jby5pbjEMMAoGA1UEChMDVENTMQww"
- + "CgYDVQQLEwNBVEMxEjAQBgNVBAcTCUh5ZGVyYWJhZDEXMBUGA1UECBMOQW5k"
- + "aHJhIHByYWRlc2gxCzAJBgNVBAYTAklOMB4XDTAyMDgyOTA3MTE0M1oXDTAz"
- + "MDgyOTA3MTE0M1owgZwxCzAJBgNVBAYTAklOMRcwFQYDVQQIEw5BbmRocmEg"
- + "cHJhZGVzaDESMBAGA1UEBxMJSHlkZXJhYmFkMQwwCgYDVQQKEwNUQ1MxDDAK"
- + "BgNVBAsTA0FUQzEeMBwGA1UEAxMVVENTLUNBIE9DU1AgUmVzcG9uZGVyMSQw"
- + "IgYJKoZIhvcNAQkBFhVvY3NwQHRjcy1jYS50Y3MuY28uaW4wgZ8wDQYJKoZI"
- + "hvcNAQEBBQADgY0AMIGJAoGBAM+XWW4caMRv46D7L6Bv8iwtKgmQu0SAybmF"
- + "RJiz12qXzdvTLt8C75OdgmUomxp0+gW/4XlTPUqOMQWv463aZRv9Ust4f8MH"
- + "EJh4ekP/NS9+d8vEO3P40ntQkmSMcFmtA9E1koUtQ3MSJlcs441JjbgUaVnm"
- + "jDmmniQnZY4bU3tVAgMBAAGjgZowgZcwDAYDVR0TAQH/BAIwADALBgNVHQ8E"
- + "BAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwkwNgYIKwYBBQUHAQEEKjAoMCYG"
- + "CCsGAQUFBzABhhpodHRwOi8vMTcyLjE5LjQwLjExMDo3NzAwLzAtBgNVHR8E"
- + "JjAkMCKgIKAehhxodHRwOi8vMTcyLjE5LjQwLjExMC9jcmwuY3JsMA0GCSqG"
- + "SIb3DQEBBQUAA4IBAQB6FovM3B4VDDZ15o12gnADZsIk9fTAczLlcrmXLNN4"
- + "PgmqgnwF0Ymj3bD5SavDOXxbA65AZJ7rBNAguLUo+xVkgxmoBH7R2sBxjTCc"
- + "r07NEadxM3HQkt0aX5XYEl8eRoifwqYAI9h0ziZfTNes8elNfb3DoPPjqq6V"
- + "mMg0f0iMS4W8LjNPorjRB+kIosa1deAGPhq0eJ8yr0/s2QR2/WFD5P4aXc8I"
- + "KWleklnIImS3zqiPrq6tl2Bm8DZj7vXlTOwmraSQxUwzCKwYob1yGvNOUQTq"
- + "pG6jxn7jgDawHU1+WjWQe4Q34/pWeGLysxTraMa+Ug9kPe+jy/qRX2xwvKBZ");
-
- private boolean isSameAs(
- byte[] a,
- byte[] b)
- {
- if (a.length != b.length)
- {
- return false;
- }
-
- for (int i = 0; i != a.length; i++)
- {
- if (a[i] != b[i])
- {
- return false;
- }
- }
-
- return true;
- }
-
- private TestResult unsignedRequest()
- {
- try
- {
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(unsignedReq));
- OCSPRequest req = OCSPRequest.getInstance(aIn.readObject());
-
- if (!isSameAs(req.getEncoded(), unsignedReq))
- {
- return new SimpleTestResult(false, getName() + ": OCSP unsigned request failed to re-encode");
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": failed unsigned exception - " + e.toString(), e);
- }
- }
-
- private TestResult signedRequest()
- {
- try
- {
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(signedReq));
- OCSPRequest req = OCSPRequest.getInstance(aIn.readObject());
-
- if (!isSameAs(req.getEncoded(), signedReq))
- {
- return new SimpleTestResult(false, getName() + ": OCSP signed request failed to re-encode");
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": failed signed exception - " + e.toString(), e);
- }
- }
-
- private TestResult response()
- {
- try
- {
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(response));
- OCSPResponse resp = OCSPResponse.getInstance(aIn.readObject());
- ResponseBytes rBytes = ResponseBytes.getInstance(resp.getResponseBytes());
-
- aIn = new ASN1InputStream(new ByteArrayInputStream(rBytes.getResponse().getOctets()));
-
- BasicOCSPResponse bResp = BasicOCSPResponse.getInstance(aIn.readObject());
-
- resp = new OCSPResponse(resp.getResponseStatus(), new ResponseBytes(rBytes.getResponseType(), new DEROctetString(bResp.getEncoded())));
-
- if (!isSameAs(resp.getEncoded(), response))
- {
- return new SimpleTestResult(false, getName() + ": OCSP response failed to re-encode");
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": failed response exception - " + e.toString(), e);
- }
- }
-
- public TestResult perform()
- {
- TestResult res = unsignedRequest();
-
- if (!res.isSuccessful())
- {
- return res;
- }
-
- res = signedRequest();
- if (!res.isSuccessful())
- {
- return res;
- }
-
- return response();
- }
-
- public String getName()
- {
- return "OCSP";
- }
-
- public static void main(
- String[] args)
- {
- OCSPTest test = new OCSPTest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/OIDTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/OIDTest.java
deleted file mode 100644
index fa5aa61..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/OIDTest.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.DEROutputStream;
-import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-
-/**
- * X.690 test example
- */
-public class OIDTest
- extends SimpleTest
-{
- byte[] req1 = Hex.decode("0603813403");
- byte[] req2 = Hex.decode("06082A36FFFFFFDD6311");
-
- public String getName()
- {
- return "OID";
- }
-
- private void recodeCheck(
- String oid,
- byte[] enc)
- throws IOException
- {
- ByteArrayInputStream bIn = new ByteArrayInputStream(enc);
- ASN1InputStream aIn = new ASN1InputStream(bIn);
-
- ASN1ObjectIdentifier o = new ASN1ObjectIdentifier(oid);
- ASN1ObjectIdentifier encO = (ASN1ObjectIdentifier)aIn.readObject();
-
- if (!o.equals(encO))
- {
- fail("oid ID didn't match", o, encO);
- }
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DEROutputStream dOut = new DEROutputStream(bOut);
-
- dOut.writeObject(o);
-
- byte[] bytes = bOut.toByteArray();
-
- if (bytes.length != enc.length)
- {
- fail("failed length test");
- }
-
- for (int i = 0; i != enc.length; i++)
- {
- if (bytes[i] != enc[i])
- {
- fail("failed comparison test", new String(Hex.encode(enc)), new String(Hex.encode(bytes)));
- }
- }
- }
-
- private void validOidCheck(
- String oid)
- throws IOException
- {
- ASN1ObjectIdentifier o = new ASN1ObjectIdentifier(oid);
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(o);
-
- ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray());
- ASN1InputStream aIn = new ASN1InputStream(bIn);
-
- o = (ASN1ObjectIdentifier)aIn.readObject();
-
- if (!o.getId().equals(oid))
- {
- fail("failed oid check for " + oid);
- }
- }
-
- private void invalidOidCheck(
- String oid)
- {
- try
- {
- new ASN1ObjectIdentifier(oid);
- fail("failed to catch bad oid: " + oid);
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void branchCheck(String stem, String branch)
- {
- String expected = stem + "." + branch;
- String actual = new ASN1ObjectIdentifier(stem).branch(branch).getId();
-
- if (!expected.equals(actual))
- {
- fail("failed 'branch' check for " + stem + "/" + branch);
- }
- }
-
- private void onCheck(String stem, String test, boolean expected)
- {
- if (expected != new ASN1ObjectIdentifier(test).on(new ASN1ObjectIdentifier(stem)))
- {
- fail("failed 'on' check for " + stem + "/" + test);
- }
- }
-
- public void performTest()
- throws IOException
- {
- recodeCheck("2.100.3", req1);
- recodeCheck("1.2.54.34359733987.17", req2);
-
- validOidCheck(PKCSObjectIdentifiers.pkcs_9_at_contentType.getId());
- validOidCheck("0.1");
- validOidCheck("1.1.127.32512.8323072.2130706432.545460846592.139637976727552.35747322042253312.9151314442816847872");
- validOidCheck("1.2.123.12345678901.1.1.1");
- validOidCheck("2.25.196556539987194312349856245628873852187.1");
-
- invalidOidCheck("0");
- invalidOidCheck("1");
- invalidOidCheck("2");
- invalidOidCheck("3.1");
- invalidOidCheck("..1");
- invalidOidCheck("192.168.1.1");
- invalidOidCheck(".123452");
- invalidOidCheck("1.");
- invalidOidCheck("1.345.23.34..234");
- invalidOidCheck("1.345.23.34.234.");
- invalidOidCheck(".12.345.77.234");
- invalidOidCheck(".12.345.77.234.");
- invalidOidCheck("1.2.3.4.A.5");
- invalidOidCheck("1,2");
-
- branchCheck("1.1", "2.2");
-
- onCheck("1.1", "1.1", false);
- onCheck("1.1", "1.2", false);
- onCheck("1.1", "1.2.1", false);
- onCheck("1.1", "2.1", false);
- onCheck("1.1", "1.11", false);
- onCheck("1.12", "1.1.2", false);
- onCheck("1.1", "1.1.1", true);
- onCheck("1.1", "1.1.2", true);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new OIDTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ObjectIdentifierTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ObjectIdentifierTest.java
deleted file mode 100644
index bd665ec..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ObjectIdentifierTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.util.test.SimpleTest;
-import org.bouncycastle.util.test.TestResult;
-
-public class ObjectIdentifierTest
- extends SimpleTest
-{
- public String getName()
- {
- return "ObjectIdentifier";
- }
-
- public void performTest()
- throws Exception
- {
- // exercise the object cache
- for (int i = 0; i < 1024; i++)
- {
- for (int j = 0; j != 17000; j++)
- {
- byte[] encoded = new ASN1ObjectIdentifier("1.1." + i + "." + j).getEncoded();
-
- ASN1ObjectIdentifier.getInstance(encoded);
- }
- }
- }
-
- public static void main(
- String[] args)
- {
- ObjectIdentifierTest test = new ObjectIdentifierTest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/OctetStringTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/OctetStringTest.java
deleted file mode 100644
index 68ed5da..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/OctetStringTest.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1OctetStringParser;
-import org.bouncycastle.asn1.ASN1SequenceParser;
-import org.bouncycastle.asn1.ASN1StreamParser;
-import org.bouncycastle.asn1.BEROctetStringGenerator;
-import org.bouncycastle.asn1.BERSequenceGenerator;
-import org.bouncycastle.asn1.BERTags;
-import org.bouncycastle.asn1.DERSequenceGenerator;
-import org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
-import org.bouncycastle.asn1.cms.CompressedDataParser;
-import org.bouncycastle.asn1.cms.ContentInfoParser;
-
-public class OctetStringTest
- extends TestCase
-{
- public void testReadingWriting()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- BEROctetStringGenerator octGen = new BEROctetStringGenerator(bOut);
-
- OutputStream out = octGen.getOctetOutputStream();
-
- out.write(new byte[] { 1, 2, 3, 4 });
- out.write(new byte[4]);
-
- out.close();
-
- ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray());
-
- ASN1OctetStringParser s = (ASN1OctetStringParser)aIn.readObject();
-
- InputStream in = s.getOctetStream();
- int count = 0;
-
- while (in.read() >= 0)
- {
- count++;
- }
-
- assertEquals(8, count);
- }
-
- public void testReadingWritingZeroInLength()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- BEROctetStringGenerator octGen = new BEROctetStringGenerator(bOut);
-
- OutputStream out = octGen.getOctetOutputStream();
-
- out.write(new byte[] { 1, 2, 3, 4 });
- out.write(new byte[512]); // forces a zero to appear in length
-
- out.close();
-
- ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray());
-
- ASN1OctetStringParser s = (ASN1OctetStringParser)aIn.readObject();
-
- InputStream in = s.getOctetStream();
- int count = 0;
-
- while (in.read() >= 0)
- {
- count++;
- }
-
- assertEquals(516, count);
- }
-
- public void testReadingWritingNested()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- BERSequenceGenerator sGen = new BERSequenceGenerator(bOut);
- BEROctetStringGenerator octGen = new BEROctetStringGenerator(sGen.getRawOutputStream());
-
- OutputStream out = octGen.getOctetOutputStream();
-
- BERSequenceGenerator inSGen = new BERSequenceGenerator(out);
-
- BEROctetStringGenerator inOctGen = new BEROctetStringGenerator(inSGen.getRawOutputStream());
-
- OutputStream inOut = inOctGen.getOctetOutputStream();
-
- inOut.write(new byte[] { 1, 2, 3, 4 });
- inOut.write(new byte[10]);
-
- inOut.close();
-
- inSGen.close();
-
- out.close();
-
- sGen.close();
-
- ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray());
-
- ASN1SequenceParser sq = (ASN1SequenceParser)aIn.readObject();
-
- ASN1OctetStringParser s = (ASN1OctetStringParser)sq.readObject();
-
- ASN1StreamParser aIn2 = new ASN1StreamParser(s.getOctetStream());
-
- ASN1SequenceParser sq2 = (ASN1SequenceParser)aIn2.readObject();
-
- ASN1OctetStringParser inS = (ASN1OctetStringParser)sq2.readObject();
-
- InputStream in = inS.getOctetStream();
- int count = 0;
-
- while (in.read() >= 0)
- {
- count++;
- }
-
- assertEquals(14, count);
- }
-
- public void testNestedStructure()
- throws Exception
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
-
- BERSequenceGenerator sGen = new BERSequenceGenerator(bOut);
-
- sGen.addObject(new ASN1ObjectIdentifier(CMSObjectIdentifiers.compressedData.getId()));
-
- BERSequenceGenerator cGen = new BERSequenceGenerator(sGen.getRawOutputStream(), 0, true);
-
- cGen.addObject(new ASN1Integer(0));
-
- //
- // AlgorithmIdentifier
- //
- DERSequenceGenerator algGen = new DERSequenceGenerator(cGen.getRawOutputStream());
-
- algGen.addObject(new ASN1ObjectIdentifier("1.2"));
-
- algGen.close();
-
- //
- // Encapsulated ContentInfo
- //
- BERSequenceGenerator eiGen = new BERSequenceGenerator(cGen.getRawOutputStream());
-
- eiGen.addObject(new ASN1ObjectIdentifier("1.1"));
-
- BEROctetStringGenerator octGen = new BEROctetStringGenerator(eiGen.getRawOutputStream(), 0, true);
-
- //
- // output containing zeroes
- //
- OutputStream out = octGen.getOctetOutputStream();
-
- out.write(new byte[] { 1, 2, 3, 4 });
- out.write(new byte[4]);
- out.write(new byte[20]);
-
- out.close();
- eiGen.close();
- cGen.close();
- sGen.close();
-
- //
- // reading back
- //
- ASN1StreamParser aIn = new ASN1StreamParser(bOut.toByteArray());
-
- ContentInfoParser cp = new ContentInfoParser((ASN1SequenceParser)aIn.readObject());
-
- CompressedDataParser comData = new CompressedDataParser((ASN1SequenceParser)cp.getContent(BERTags.SEQUENCE));
- ContentInfoParser content = comData.getEncapContentInfo();
-
- ASN1OctetStringParser bytes = (ASN1OctetStringParser)content.getContent(BERTags.OCTET_STRING);
-
- InputStream in = bytes.getOctetStream();
- int count = 0;
-
- while (in.read() >= 0)
- {
- count++;
- }
-
- assertEquals(28, count);
- }
-
- public static Test suite()
- {
- return new TestSuite(OctetStringTest.class);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/OtherCertIDUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/OtherCertIDUnitTest.java
deleted file mode 100644
index 9a85cea..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/OtherCertIDUnitTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.ess.OtherCertID;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.IssuerSerial;
-import org.bouncycastle.asn1.x509.X509Name;
-
-public class OtherCertIDUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "OtherCertID";
- }
-
- public void performTest()
- throws Exception
- {
- AlgorithmIdentifier algId = new AlgorithmIdentifier(new ASN1ObjectIdentifier("1.2.2.3"));
- byte[] digest = new byte[20];
- IssuerSerial issuerSerial = new IssuerSerial(new GeneralNames(new GeneralName(new X509Name("CN=test"))), new ASN1Integer(1));
-
- OtherCertID certID = new OtherCertID(algId, digest);
-
- checkConstruction(certID, algId, digest, null);
-
- certID = new OtherCertID(algId, digest, issuerSerial);
-
- checkConstruction(certID, algId, digest, issuerSerial);
-
- certID = OtherCertID.getInstance(null);
-
- if (certID != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- OtherCertID.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- OtherCertID certID,
- AlgorithmIdentifier algId,
- byte[] digest,
- IssuerSerial issuerSerial)
- throws IOException
- {
- checkValues(certID, algId, digest, issuerSerial);
-
- certID = OtherCertID.getInstance(certID);
-
- checkValues(certID, algId, digest, issuerSerial);
-
- ASN1InputStream aIn = new ASN1InputStream(certID.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- certID = OtherCertID.getInstance(seq);
-
- checkValues(certID, algId, digest, issuerSerial);
- }
-
- private void checkValues(
- OtherCertID certID,
- AlgorithmIdentifier algId,
- byte[] digest,
- IssuerSerial issuerSerial)
- {
- checkMandatoryField("algorithmHash", algId, certID.getAlgorithmHash());
- checkMandatoryField("certHash", digest, certID.getCertHash());
-
- checkOptionalField("issuerSerial", issuerSerial, certID.getIssuerSerial());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new OtherCertIDUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/OtherSigningCertificateUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/OtherSigningCertificateUnitTest.java
deleted file mode 100644
index 9de12ee..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/OtherSigningCertificateUnitTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.ess.OtherCertID;
-import org.bouncycastle.asn1.ess.OtherSigningCertificate;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-
-public class OtherSigningCertificateUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "OtherSigningCertificate";
- }
-
- public void performTest()
- throws Exception
- {
- AlgorithmIdentifier algId = new AlgorithmIdentifier(new ASN1ObjectIdentifier("1.2.2.3"));
- byte[] digest = new byte[20];
- OtherCertID otherCertID = new OtherCertID(algId, digest);
-
- OtherSigningCertificate otherCert = new OtherSigningCertificate(otherCertID);
-
- checkConstruction(otherCert, otherCertID);
-
- otherCert = OtherSigningCertificate.getInstance(null);
-
- if (otherCert != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- OtherCertID.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- OtherSigningCertificate otherCert,
- OtherCertID otherCertID)
- throws IOException
- {
- checkValues(otherCert, otherCertID);
-
- otherCert = OtherSigningCertificate.getInstance(otherCert);
-
- checkValues(otherCert, otherCertID);
-
- ASN1InputStream aIn = new ASN1InputStream(otherCert.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- otherCert = OtherSigningCertificate.getInstance(seq);
-
- checkValues(otherCert, otherCertID);
- }
-
- private void checkValues(
- OtherSigningCertificate otherCert,
- OtherCertID otherCertID)
- {
- if (otherCert.getCerts().length != 1)
- {
- fail("getCerts() length wrong");
- }
- checkMandatoryField("getCerts()[0]", otherCertID, otherCert.getCerts()[0]);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new OtherSigningCertificateUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS10Test.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS10Test.java
deleted file mode 100644
index da6571d..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS10Test.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DEROutputStream;
-import org.bouncycastle.asn1.pkcs.CertificationRequest;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTestResult;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class PKCS10Test
- implements Test
-{
- byte[] req1 = Base64.decode(
- "MIHoMIGTAgEAMC4xDjAMBgNVBAMTBVRlc3QyMQ8wDQYDVQQKEwZBbmFUb20xCzAJBgNVBAYTAlNF"
- + "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALlEt31Tzt2MlcOljvacJgzQVhmlMoqAOgqJ9Pgd3Gux"
- + "Z7/WcIlgW4QCB7WZT21O1YoghwBhPDMcNGrHei9kHQkCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA0EA"
- + "NDEI4ecNtJ3uHwGGlitNFq9WxcoZ0djbQJ5hABMotav6gtqlrwKXY2evaIrsNwkJtNdwwH18aQDU"
- + "KCjOuBL38Q==");
-
- byte[] req2 = Base64.decode(
- "MIIB6TCCAVICAQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRQwEgYDVQQH"
- + "EwtTYW50YSBDbGFyYTEMMAoGA1UEChMDQUJCMVEwTwYDVQQLHEhQAAAAAAAAAG8AAAAAAAAAdwAA"
- + "AAAAAABlAAAAAAAAAHIAAAAAAAAAIAAAAAAAAABUAAAAAAAAABxIAAAAAAAARAAAAAAAAAAxDTAL"
- + "BgNVBAMTBGJsdWUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANETRZ+6occCOrFxNhfKIp4C"
- + "mMkxwhBNb7TnnahpbM9O0r4hrBPcfYuL7u9YX/jN0YNUP+/CiT39HhSe/bikaBPDEyNsl988I8vX"
- + "piEdgxYq/+LTgGHbjRsRYCkPtmzwBbuBldNF8bV7pu0v4UScSsExmGqqDlX1TbPU8KkPU1iTAgMB"
- + "AAGgADANBgkqhkiG9w0BAQQFAAOBgQAFbrs9qUwh93CtETk7DeUD5HcdCnxauo1bck44snSV6MZV"
- + "OCIGaYu1501kmhEvAtVVRr6SEHwimfQDDIjnrWwYsEr/DT6tkTZAbfRd3qUu3iKjT0H0vlUZp0hJ"
- + "66mINtBM84uZFBfoXiWY8M3FuAnGmvy6ah/dYtJorTxLKiGkew==");
-
- public String getName()
- {
- return "PKCS10";
- }
-
- public TestResult pkcs10Test(
- String testName,
- byte[] req)
- {
- try
- {
- ByteArrayInputStream bIn = new ByteArrayInputStream(req);
- ASN1InputStream aIn = new ASN1InputStream(bIn);
-
- CertificationRequest r = new CertificationRequest((ASN1Sequence)aIn.readObject());
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- DEROutputStream dOut = new DEROutputStream(bOut);
-
- dOut.writeObject(r.toASN1Primitive());
-
- byte[] bytes = bOut.toByteArray();
-
- if (bytes.length != req.length)
- {
- return new SimpleTestResult(false, getName() + ": " + testName + " failed length test");
- }
-
- for (int i = 0; i != req.length; i++)
- {
- if (bytes[i] != req[i])
- {
- return new SimpleTestResult(false, getName() + ": " + testName + " failed comparison test");
- }
- }
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": Exception - " + testName + " " + e.toString());
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
-
- public TestResult perform()
- {
- TestResult res = pkcs10Test("basic CR", req1);
-
- if (!res.isSuccessful())
- {
- return res;
- }
-
- return pkcs10Test("Universal CR", req2);
- }
-
- public static void main(
- String[] args)
- {
- Test test = new PKCS10Test();
-
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS12Test.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS12Test.java
deleted file mode 100644
index f533a65..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/PKCS12Test.java
+++ /dev/null
@@ -1,227 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1OctetString;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.BEROctetString;
-import org.bouncycastle.asn1.DLSequence;
-import org.bouncycastle.asn1.pkcs.AuthenticatedSafe;
-import org.bouncycastle.asn1.pkcs.ContentInfo;
-import org.bouncycastle.asn1.pkcs.EncryptedData;
-import org.bouncycastle.asn1.pkcs.EncryptedPrivateKeyInfo;
-import org.bouncycastle.asn1.pkcs.MacData;
-import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
-import org.bouncycastle.asn1.pkcs.Pfx;
-import org.bouncycastle.asn1.pkcs.SafeBag;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.asn1.x509.DigestInfo;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class PKCS12Test
- extends SimpleTest
-{
- byte[] pkcs12 = Base64.decode(
- "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"
- + "AgFkAAA=");
-
- public void performTest()
- throws Exception
- {
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(pkcs12));
- ASN1Sequence obj = (ASN1Sequence)aIn.readObject();
- Pfx bag = Pfx.getInstance(obj);
- ContentInfo info = bag.getAuthSafe();
- MacData mData = bag.getMacData();
- DigestInfo dInfo = mData.getMac();
- AlgorithmIdentifier algId = dInfo.getAlgorithmId();
- byte[] salt = mData.getSalt();
- int itCount = mData.getIterationCount().intValue();
-
- aIn = new ASN1InputStream(new ByteArrayInputStream(((ASN1OctetString)info.getContent()).getOctets()));
-
- AuthenticatedSafe authSafe = AuthenticatedSafe.getInstance(aIn.readObject());
- ContentInfo[] c = authSafe.getContentInfo();
-
- //
- // private key section
- //
- if (!c[0].getContentType().equals(PKCSObjectIdentifiers.data))
- {
- fail("failed comparison data test");
- }
-
- aIn = new ASN1InputStream(new ByteArrayInputStream(((ASN1OctetString)c[0].getContent()).getOctets()));
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- SafeBag b = SafeBag.getInstance(seq.getObjectAt(0));
- if (!b.getBagId().equals(PKCSObjectIdentifiers.pkcs8ShroudedKeyBag))
- {
- fail("failed comparison shroudedKeyBag test");
- }
-
- EncryptedPrivateKeyInfo encInfo = EncryptedPrivateKeyInfo.getInstance(b.getBagValue());
-
- encInfo = new EncryptedPrivateKeyInfo(encInfo.getEncryptionAlgorithm(), encInfo.getEncryptedData());
-
- b = new SafeBag(PKCSObjectIdentifiers.pkcs8ShroudedKeyBag, encInfo.toASN1Primitive(), b.getBagAttributes());
-
- ByteArrayOutputStream abOut = new ByteArrayOutputStream();
- ASN1OutputStream berOut = new ASN1OutputStream(abOut);
-
- berOut.writeObject(new DLSequence(b));
-
- c[0] = new ContentInfo(PKCSObjectIdentifiers.data, new BEROctetString(abOut.toByteArray()));
-
- //
- // certificates
- //
- if (!c[1].getContentType().equals(PKCSObjectIdentifiers.encryptedData))
- {
- fail("failed comparison encryptedData test");
- }
-
- EncryptedData eData = EncryptedData.getInstance(c[1].getContent());
-
- c[1] = new ContentInfo(PKCSObjectIdentifiers.encryptedData, eData);
-
- //
- // create an octet stream represent the BER encoding of authSafe
- //
- authSafe = new AuthenticatedSafe(c);
-
- abOut = new ByteArrayOutputStream();
- berOut = new ASN1OutputStream(abOut);
-
- berOut.writeObject(authSafe);
-
- info = new ContentInfo(PKCSObjectIdentifiers.data, new BEROctetString(abOut.toByteArray()));
-
- mData = new MacData(new DigestInfo(algId, dInfo.getDigest()), salt, itCount);
-
- bag = new Pfx(info, mData);
-
- //
- // comparison test
- //
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(bag);
-
- if (!Arrays.areEqual(bOut.toByteArray(), pkcs12))
- {
- fail("failed comparison test");
- }
- }
-
- public String getName()
- {
- return "PKCS12";
- }
-
- public static void main(
- String[] args)
- {
- runTest(new PKCS12Test());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/PKIFailureInfoTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/PKIFailureInfoTest.java
deleted file mode 100644
index 164f5a6..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/PKIFailureInfoTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Encoding;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.DERBitString;
-import org.bouncycastle.asn1.cmp.PKIFailureInfo;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTest;
-
-
-/**
- * PKIFailureInfoTest
- */
-public class PKIFailureInfoTest
- extends SimpleTest
-{
- // A correct hex encoded BAD_DATA_FORMAT PKIFailureInfo
- private static final byte[] CORRECT_FAILURE_INFO = Base64.decode("AwIANQ==");
-
- public String getName()
- {
- return "PKIFailureInfo";
- }
-
- private void testEncoding()
- throws IOException
- {
- DERBitString bitString = (DERBitString)new ASN1InputStream(CORRECT_FAILURE_INFO).readObject();
- PKIFailureInfo correct = new PKIFailureInfo(bitString);
-
- PKIFailureInfo bug = new PKIFailureInfo(PKIFailureInfo.badRequest | PKIFailureInfo.badTime |PKIFailureInfo.badDataFormat | PKIFailureInfo.incorrectData);
-
- if (!areEqual(correct.getEncoded(ASN1Encoding.DER),bug.getEncoded(ASN1Encoding.DER)))
- {
- fail("encoding doesn't match");
- }
- }
-
- public void performTest()
- throws IOException
- {
- BitStringConstantTester.testFlagValueCorrect(0, PKIFailureInfo.badAlg);
- BitStringConstantTester.testFlagValueCorrect(1, PKIFailureInfo.badMessageCheck);
- BitStringConstantTester.testFlagValueCorrect(2, PKIFailureInfo.badRequest);
- BitStringConstantTester.testFlagValueCorrect(3, PKIFailureInfo.badTime);
- BitStringConstantTester.testFlagValueCorrect(4, PKIFailureInfo.badCertId);
- BitStringConstantTester.testFlagValueCorrect(5, PKIFailureInfo.badDataFormat);
- BitStringConstantTester.testFlagValueCorrect(6, PKIFailureInfo.wrongAuthority);
- BitStringConstantTester.testFlagValueCorrect(7, PKIFailureInfo.incorrectData);
- BitStringConstantTester.testFlagValueCorrect(8, PKIFailureInfo.missingTimeStamp);
- BitStringConstantTester.testFlagValueCorrect(9, PKIFailureInfo.badPOP);
- BitStringConstantTester.testFlagValueCorrect(14, PKIFailureInfo.timeNotAvailable);
- BitStringConstantTester.testFlagValueCorrect(15, PKIFailureInfo.unacceptedPolicy);
- BitStringConstantTester.testFlagValueCorrect(16, PKIFailureInfo.unacceptedExtension);
- BitStringConstantTester.testFlagValueCorrect(17, PKIFailureInfo.addInfoNotAvailable);
- BitStringConstantTester.testFlagValueCorrect(25, PKIFailureInfo.systemFailure);
-
- testEncoding();
- }
-
- public static void main(
- String[] args)
- {
- runTest(new PKIFailureInfoTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ParseTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ParseTest.java
deleted file mode 100644
index 2e5112a..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ParseTest.java
+++ /dev/null
@@ -1,308 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-import org.bouncycastle.asn1.ASN1OctetStringParser;
-import org.bouncycastle.asn1.ASN1SequenceParser;
-import org.bouncycastle.asn1.ASN1StreamParser;
-import org.bouncycastle.asn1.ASN1TaggedObjectParser;
-import org.bouncycastle.asn1.BERTags;
-import org.bouncycastle.asn1.cms.ContentInfoParser;
-import org.bouncycastle.asn1.cms.EncryptedContentInfoParser;
-import org.bouncycastle.asn1.cms.EnvelopedDataParser;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.io.Streams;
-
-public class ParseTest
- extends TestCase
-{
- private static byte[] classCastTest = Base64.decode(
- "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");
-
- private static byte[] derExpTest = Base64.decode(
- "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"
- + "yv8TOTFCWnZEUTtVA9+2CpwfmuEjD2UQ4vxoM+o=");
-
- byte[] longTagged = Hex.decode("9f1f023330");
-
- public void testClassCast()
- throws IOException
- {
- parseEnveloped(classCastTest);
- }
-
- public void testDerExp()
- throws IOException
- {
- parseEnveloped(derExpTest);
- }
-
- public void testLongTag()
- throws IOException
- {
- ASN1StreamParser aIn = new ASN1StreamParser(longTagged);
-
- ASN1TaggedObjectParser tagged = (ASN1TaggedObjectParser)aIn.readObject();
-
- assertEquals(31, tagged.getTagNo());
- }
-
- private void parseEnveloped(byte[] data) throws IOException
- {
- ASN1StreamParser aIn = new ASN1StreamParser(data);
-
- ContentInfoParser cP = new ContentInfoParser((ASN1SequenceParser)aIn.readObject());
-
- EnvelopedDataParser eP = new EnvelopedDataParser((ASN1SequenceParser)cP.getContent(BERTags.SEQUENCE));
-
- eP.getRecipientInfos().toASN1Primitive(); // Must drain the parser!
-
- EncryptedContentInfoParser ecP = eP.getEncryptedContentInfo();
-
- ASN1OctetStringParser content = (ASN1OctetStringParser)ecP.getEncryptedContent(BERTags.OCTET_STRING);
-
- Streams.drain(content.getOctetStream());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ParsingTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ParsingTest.java
deleted file mode 100644
index c5a3353..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ParsingTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1StreamParser;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class ParsingTest
- extends SimpleTest
-{
- String[] streams = {
- "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"
- };
-
- public String getName()
- {
- return "ParsingTest";
- }
-
- public void performTest()
- throws Exception
- {
- inputStreamTest();
- parserTest();
- }
-
- private void parserTest()
- {
- for (int i = 0; i != streams.length; i++)
- {
- ASN1StreamParser aIn = new ASN1StreamParser(Base64.decode(streams[i]));
-
- try
- {
- Object obj;
-
- while ((obj = aIn.readObject()) != null)
- {
-
- }
-
- fail("bad stream parsed successfully!");
- }
- catch (IOException e)
- {
- // ignore
- }
- }
- }
-
- private void inputStreamTest()
- {
- for (int i = 0; i != streams.length; i++)
- {
- ASN1InputStream aIn = new ASN1InputStream(Base64.decode(streams[i]));
-
- try
- {
- Object obj;
-
- while ((obj = aIn.readObject()) != null)
- {
-
- }
-
- fail("bad stream parsed successfully!");
- }
- catch (IOException e)
- {
- // ignore
- }
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new ParsingTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/PersonalDataUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/PersonalDataUnitTest.java
deleted file mode 100644
index 95a3120..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/PersonalDataUnitTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-import java.math.BigInteger;
-
-import org.bouncycastle.asn1.ASN1GeneralizedTime;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.x500.DirectoryString;
-import org.bouncycastle.asn1.x509.sigi.NameOrPseudonym;
-import org.bouncycastle.asn1.x509.sigi.PersonalData;
-
-public class PersonalDataUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "PersonalData";
- }
-
- public void performTest()
- throws Exception
- {
- NameOrPseudonym nameOrPseudonym = new NameOrPseudonym("pseudonym");
- BigInteger nameDistinguisher = BigInteger.valueOf(10);
- ASN1GeneralizedTime dateOfBirth= new ASN1GeneralizedTime("20070315173729Z");
- DirectoryString placeOfBirth = new DirectoryString("placeOfBirth");
- String gender = "M";
- DirectoryString postalAddress = new DirectoryString("address");
-
- PersonalData data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress);
-
- checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress);
-
- data = new PersonalData(nameOrPseudonym, null, dateOfBirth, placeOfBirth, gender, postalAddress);
-
- checkConstruction(data, nameOrPseudonym, null, dateOfBirth, placeOfBirth, gender, postalAddress);
-
- data = new PersonalData(nameOrPseudonym, nameDistinguisher, null, placeOfBirth, gender, postalAddress);
-
- checkConstruction(data, nameOrPseudonym, nameDistinguisher, null, placeOfBirth, gender, postalAddress);
-
- data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, null, gender, postalAddress);
-
- checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, null, gender, postalAddress);
-
- data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, null, postalAddress);
-
- checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, null, postalAddress);
-
- data = new PersonalData(nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, null);
-
- checkConstruction(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, null);
-
- data = PersonalData.getInstance(null);
-
- if (data != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- PersonalData.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- PersonalData data,
- NameOrPseudonym nameOrPseudonym,
- BigInteger nameDistinguisher,
- ASN1GeneralizedTime dateOfBirth,
- DirectoryString placeOfBirth,
- String gender,
- DirectoryString postalAddress)
- throws IOException
- {
- checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress);
-
- data = PersonalData.getInstance(data);
-
- checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress);
-
- ASN1InputStream aIn = new ASN1InputStream(data.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- data = PersonalData.getInstance(seq);
-
- checkValues(data, nameOrPseudonym, nameDistinguisher, dateOfBirth, placeOfBirth, gender, postalAddress);
- }
-
- private void checkValues(
- PersonalData data,
- NameOrPseudonym nameOrPseudonym,
- BigInteger nameDistinguisher,
- ASN1GeneralizedTime dateOfBirth,
- DirectoryString placeOfBirth,
- String gender,
- DirectoryString postalAddress)
- {
- checkMandatoryField("nameOrPseudonym", nameOrPseudonym, data.getNameOrPseudonym());
- checkOptionalField("nameDistinguisher", nameDistinguisher, data.getNameDistinguisher());
- checkOptionalField("dateOfBirth", dateOfBirth, data.getDateOfBirth());
- checkOptionalField("placeOfBirth", placeOfBirth, data.getPlaceOfBirth());
- checkOptionalField("gender", gender, data.getGender());
- checkOptionalField("postalAddress", postalAddress, data.getPostalAddress());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new PersonalDataUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ProcurationSyntaxUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ProcurationSyntaxUnitTest.java
deleted file mode 100644
index 32120bb..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ProcurationSyntaxUnitTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.isismtt.x509.ProcurationSyntax;
-import org.bouncycastle.asn1.x500.DirectoryString;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.IssuerSerial;
-import org.bouncycastle.asn1.x509.X509Name;
-
-public class ProcurationSyntaxUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "ProcurationSyntax";
- }
-
- public void performTest()
- throws Exception
- {
- String country = "AU";
- DirectoryString typeOfSubstitution = new DirectoryString("substitution");
- GeneralName thirdPerson = new GeneralName(new X509Name("CN=thirdPerson"));
- IssuerSerial certRef = new IssuerSerial(new GeneralNames(new GeneralName(new X509Name("CN=test"))), new ASN1Integer(1));
-
- ProcurationSyntax procuration = new ProcurationSyntax(country, typeOfSubstitution, thirdPerson);
-
- checkConstruction(procuration, country, typeOfSubstitution, thirdPerson, null);
-
- procuration = new ProcurationSyntax(country, typeOfSubstitution, certRef);
-
- checkConstruction(procuration, country, typeOfSubstitution, null, certRef);
-
- procuration = new ProcurationSyntax(null, typeOfSubstitution, certRef);
-
- checkConstruction(procuration, null, typeOfSubstitution, null, certRef);
-
- procuration = new ProcurationSyntax(country, null, certRef);
-
- checkConstruction(procuration, country, null, null, certRef);
-
- procuration = ProcurationSyntax.getInstance(null);
-
- if (procuration != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- ProcurationSyntax.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- ProcurationSyntax procuration,
- String country,
- DirectoryString typeOfSubstitution,
- GeneralName thirdPerson,
- IssuerSerial certRef)
- throws IOException
- {
- checkValues(procuration, country, typeOfSubstitution, thirdPerson, certRef);
-
- procuration = ProcurationSyntax.getInstance(procuration);
-
- checkValues(procuration, country, typeOfSubstitution, thirdPerson, certRef);
-
- ASN1InputStream aIn = new ASN1InputStream(procuration.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- procuration = ProcurationSyntax.getInstance(seq);
-
- checkValues(procuration, country, typeOfSubstitution, thirdPerson, certRef);
- }
-
- private void checkValues(
- ProcurationSyntax procuration,
- String country,
- DirectoryString typeOfSubstitution,
- GeneralName thirdPerson,
- IssuerSerial certRef)
- {
- checkOptionalField("country", country, procuration.getCountry());
- checkOptionalField("typeOfSubstitution", typeOfSubstitution, procuration.getTypeOfSubstitution());
- checkOptionalField("thirdPerson", thirdPerson, procuration.getThirdPerson());
- checkOptionalField("certRef", certRef, procuration.getCertRef());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new ProcurationSyntaxUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ProfessionInfoUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ProfessionInfoUnitTest.java
deleted file mode 100644
index 34b3307..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ProfessionInfoUnitTest.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.isismtt.x509.NamingAuthority;
-import org.bouncycastle.asn1.isismtt.x509.ProcurationSyntax;
-import org.bouncycastle.asn1.isismtt.x509.ProfessionInfo;
-import org.bouncycastle.asn1.x500.DirectoryString;
-
-public class ProfessionInfoUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "ProfessionInfo";
- }
-
- public void performTest()
- throws Exception
- {
- NamingAuthority auth = new NamingAuthority(new ASN1ObjectIdentifier("1.2.3"), "url", new DirectoryString("fred"));
- DirectoryString[] professionItems = { new DirectoryString("substitution") };
- ASN1ObjectIdentifier[] professionOids = { new ASN1ObjectIdentifier("1.2.3") };
- String registrationNumber = "12345";
- DEROctetString addProfInfo = new DEROctetString(new byte[20]);
-
- ProfessionInfo info = new ProfessionInfo(auth, professionItems, professionOids, registrationNumber, addProfInfo);
-
- checkConstruction(info, auth, professionItems, professionOids, registrationNumber, addProfInfo);
-
- info = new ProfessionInfo(null, professionItems, professionOids, registrationNumber, addProfInfo);
-
- checkConstruction(info, null, professionItems, professionOids, registrationNumber, addProfInfo);
-
- info = new ProfessionInfo(auth, professionItems, null, registrationNumber, addProfInfo);
-
- checkConstruction(info, auth, professionItems, null, registrationNumber, addProfInfo);
-
- info = new ProfessionInfo(auth, professionItems, professionOids, null, addProfInfo);
-
- checkConstruction(info, auth, professionItems, professionOids, null, addProfInfo);
-
- info = new ProfessionInfo(auth, professionItems, professionOids, registrationNumber, null);
-
- checkConstruction(info, auth, professionItems, professionOids, registrationNumber, null);
-
- info = ProfessionInfo.getInstance(null);
-
- if (info != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- ProcurationSyntax.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- ProfessionInfo profInfo,
- NamingAuthority auth,
- DirectoryString[] professionItems,
- ASN1ObjectIdentifier[] professionOids,
- String registrationNumber,
- DEROctetString addProfInfo)
- throws IOException
- {
- checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo);
-
- profInfo = ProfessionInfo.getInstance(profInfo);
-
- checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo);
-
- ASN1InputStream aIn = new ASN1InputStream(profInfo.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- profInfo = ProfessionInfo.getInstance(seq);
-
- checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo);
- }
-
- private void checkValues(
- ProfessionInfo profInfo,
- NamingAuthority auth,
- DirectoryString[] professionItems,
- ASN1ObjectIdentifier[] professionOids,
- String registrationNumber,
- DEROctetString addProfInfo)
- {
- checkOptionalField("auth", auth, profInfo.getNamingAuthority());
- checkMandatoryField("professionItems", professionItems[0], profInfo.getProfessionItems()[0]);
- if (professionOids != null)
- {
- checkOptionalField("professionOids", professionOids[0], profInfo.getProfessionOIDs()[0]);
- }
- checkOptionalField("registrationNumber", registrationNumber, profInfo.getRegistrationNumber());
- checkOptionalField("addProfessionInfo", addProfInfo, profInfo.getAddProfessionInfo());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new ProfessionInfoUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/QCStatementUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/QCStatementUnitTest.java
deleted file mode 100644
index d7a84a5..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/QCStatementUnitTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Encodable;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.x509.qualified.QCStatement;
-import org.bouncycastle.asn1.x509.qualified.RFC3739QCObjectIdentifiers;
-import org.bouncycastle.asn1.x509.qualified.SemanticsInformation;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class QCStatementUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "QCStatement";
- }
-
- public void performTest()
- throws Exception
- {
- QCStatement mv = new QCStatement(RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1);
-
- checkConstruction(mv, RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1, null);
-
- ASN1Encodable info = new SemanticsInformation(new ASN1ObjectIdentifier("1.2"));
-
- mv = new QCStatement(RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1, info);
-
- checkConstruction(mv, RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v1, info);
-
- mv = QCStatement.getInstance(null);
-
- if (mv != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- QCStatement.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- QCStatement mv,
- ASN1ObjectIdentifier statementId,
- ASN1Encodable statementInfo)
- throws IOException
- {
- checkStatement(mv, statementId, statementInfo);
-
- mv = QCStatement.getInstance(mv);
-
- checkStatement(mv, statementId, statementInfo);
-
- ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- mv = QCStatement.getInstance(seq);
-
- checkStatement(mv, statementId, statementInfo);
- }
-
- private void checkStatement(
- QCStatement qcs,
- ASN1ObjectIdentifier statementId,
- ASN1Encodable statementInfo)
- throws IOException
- {
- if (!qcs.getStatementId().equals(statementId))
- {
- fail("statementIds don't match.");
- }
-
- if (statementInfo != null)
- {
- if (!qcs.getStatementInfo().equals(statementInfo))
- {
- fail("statementInfos don't match.");
- }
- }
- else if (qcs.getStatementInfo() != null)
- {
- fail("statementInfo found when none expected.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new QCStatementUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/RFC4519Test.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/RFC4519Test.java
deleted file mode 100644
index 8d7e175..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/RFC4519Test.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.x500.X500Name;
-import org.bouncycastle.asn1.x500.X500NameStyle;
-import org.bouncycastle.asn1.x500.style.RFC4519Style;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class RFC4519Test
- extends SimpleTest
-{
- static String[] attributeTypes =
- {
- "businessCategory",
- "c",
- "cn",
- "dc",
- "description",
- "destinationIndicator",
- "distinguishedName",
- "dnQualifier",
- "enhancedSearchGuide",
- "facsimileTelephoneNumber",
- "generationQualifier",
- "givenName",
- "houseIdentifier",
- "initials",
- "internationalISDNNumber",
- "l",
- "member",
- "name",
- "o",
- "ou",
- "owner",
- "physicalDeliveryOfficeName",
- "postalAddress",
- "postalCode",
- "postOfficeBox",
- "preferredDeliveryMethod",
- "registeredAddress",
- "roleOccupant",
- "searchGuide",
- "seeAlso",
- "serialNumber",
- "sn",
- "st",
- "street",
- "telephoneNumber",
- "teletexTerminalIdentifier",
- "telexNumber",
- "title",
- "uid",
- "uniqueMember",
- "userPassword",
- "x121Address",
- "x500UniqueIdentifier"
- };
-
- static ASN1ObjectIdentifier[] attributeTypeOIDs =
- {
- new ASN1ObjectIdentifier("2.5.4.15"),
- new ASN1ObjectIdentifier("2.5.4.6"),
- new ASN1ObjectIdentifier("2.5.4.3"),
- new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.25"),
- new ASN1ObjectIdentifier("2.5.4.13"),
- new ASN1ObjectIdentifier("2.5.4.27"),
- new ASN1ObjectIdentifier("2.5.4.49"),
- new ASN1ObjectIdentifier("2.5.4.46"),
- new ASN1ObjectIdentifier("2.5.4.47"),
- new ASN1ObjectIdentifier("2.5.4.23"),
- new ASN1ObjectIdentifier("2.5.4.44"),
- new ASN1ObjectIdentifier("2.5.4.42"),
- new ASN1ObjectIdentifier("2.5.4.51"),
- new ASN1ObjectIdentifier("2.5.4.43"),
- new ASN1ObjectIdentifier("2.5.4.25"),
- new ASN1ObjectIdentifier("2.5.4.7"),
- new ASN1ObjectIdentifier("2.5.4.31"),
- new ASN1ObjectIdentifier("2.5.4.41"),
- new ASN1ObjectIdentifier("2.5.4.10"),
- new ASN1ObjectIdentifier("2.5.4.11"),
- new ASN1ObjectIdentifier("2.5.4.32"),
- new ASN1ObjectIdentifier("2.5.4.19"),
- new ASN1ObjectIdentifier("2.5.4.16"),
- new ASN1ObjectIdentifier("2.5.4.17"),
- new ASN1ObjectIdentifier("2.5.4.18"),
- new ASN1ObjectIdentifier("2.5.4.28"),
- new ASN1ObjectIdentifier("2.5.4.26"),
- new ASN1ObjectIdentifier("2.5.4.33"),
- new ASN1ObjectIdentifier("2.5.4.14"),
- new ASN1ObjectIdentifier("2.5.4.34"),
- new ASN1ObjectIdentifier("2.5.4.5"),
- new ASN1ObjectIdentifier("2.5.4.4"),
- new ASN1ObjectIdentifier("2.5.4.8"),
- new ASN1ObjectIdentifier("2.5.4.9"),
- new ASN1ObjectIdentifier("2.5.4.20"),
- new ASN1ObjectIdentifier("2.5.4.22"),
- new ASN1ObjectIdentifier("2.5.4.21"),
- new ASN1ObjectIdentifier("2.5.4.12"),
- new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1"),
- new ASN1ObjectIdentifier("2.5.4.50"),
- new ASN1ObjectIdentifier("2.5.4.35"),
- new ASN1ObjectIdentifier("2.5.4.24"),
- new ASN1ObjectIdentifier("2.5.4.45")
- };
-
- public String getName()
- {
- return "RFC4519Test";
- }
-
- public void performTest()
- throws Exception
- {
- X500NameStyle style = RFC4519Style.INSTANCE;
-
- for (int i = 0; i != attributeTypes.length; i++)
- {
- if (!attributeTypeOIDs[i].equals(style.attrNameToOID(attributeTypes[i])))
- {
- fail("mismatch for " + attributeTypes[i]);
- }
- }
-
- byte[] enc = Hex.decode("305e310b300906035504061302415531283026060355040a0c1f546865204c6567696f6e206f662074686520426f756e637920436173746c653125301006035504070c094d656c626f75726e653011060355040b0c0a4173636f742056616c65");
-
- X500Name n = new X500Name(style, X500Name.getInstance(enc));
-
- if (!n.toString().equals("l=Melbourne+ou=Ascot Vale,o=The Legion of the Bouncy Castle,c=AU"))
- {
- fail("Failed composite to string test got: " + n.toString());
- }
-
- n = new X500Name(style, "l=Melbourne+ou=Ascot Vale,o=The Legion of the Bouncy Castle,c=AU");
-
- if (!Arrays.areEqual(n.getEncoded(), enc))
- {
- fail("re-encoding test after parse failed");
- }
- }
-
-
- public static void main(
- String[] args)
- {
- runTest(new RFC4519Test());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/ReasonFlagsTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/ReasonFlagsTest.java
deleted file mode 100644
index ebfd126..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/ReasonFlagsTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.x509.ReasonFlags;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class ReasonFlagsTest
- extends SimpleTest
-{
- public String getName()
- {
- return "ReasonFlags";
- }
-
- public void performTest()
- throws IOException
- {
- BitStringConstantTester.testFlagValueCorrect(0, ReasonFlags.unused);
- BitStringConstantTester.testFlagValueCorrect(1, ReasonFlags.keyCompromise);
- BitStringConstantTester.testFlagValueCorrect(2, ReasonFlags.cACompromise);
- BitStringConstantTester.testFlagValueCorrect(3, ReasonFlags.affiliationChanged);
- BitStringConstantTester.testFlagValueCorrect(4, ReasonFlags.superseded);
- BitStringConstantTester.testFlagValueCorrect(5, ReasonFlags.cessationOfOperation);
- BitStringConstantTester.testFlagValueCorrect(6, ReasonFlags.certificateHold);
- BitStringConstantTester.testFlagValueCorrect(7, ReasonFlags.privilegeWithdrawn);
- BitStringConstantTester.testFlagValueCorrect(8, ReasonFlags.aACompromise);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new ReasonFlagsTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/RegressionTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/RegressionTest.java
deleted file mode 100644
index e442729..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/RegressionTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class RegressionTest
-{
- public static Test[] tests = {
- new InputStreamTest(),
- new EqualsAndHashCodeTest(),
- new TagTest(),
- new SetTest(),
- new DERUTF8StringTest(),
- new CertificateTest(),
- new GenerationTest(),
- new CMSTest(),
- new OCSPTest(),
- new OIDTest(),
- new PKCS10Test(),
- new PKCS12Test(),
- new X509NameTest(),
- new X500NameTest(),
- new X509ExtensionsTest(),
- new GeneralizedTimeTest(),
- new BitStringTest(),
- new MiscTest(),
- new SMIMETest(),
- new X9Test(),
- new MonetaryValueUnitTest(),
- new BiometricDataUnitTest(),
- new Iso4217CurrencyCodeUnitTest(),
- new SemanticsInformationUnitTest(),
- new QCStatementUnitTest(),
- new TypeOfBiometricDataUnitTest(),
- new SignerLocationUnitTest(),
- new CommitmentTypeQualifierUnitTest(),
- new CommitmentTypeIndicationUnitTest(),
- new EncryptedPrivateKeyInfoTest(),
- new DataGroupHashUnitTest(),
- new LDSSecurityObjectUnitTest(),
- new CscaMasterListTest(),
- new AttributeTableUnitTest(),
- new ReasonFlagsTest(),
- new NetscapeCertTypeTest(),
- new PKIFailureInfoTest(),
- new KeyUsageTest(),
- new StringTest(),
- new UTCTimeTest(),
- new RequestedCertificateUnitTest(),
- new OtherCertIDUnitTest(),
- new OtherSigningCertificateUnitTest(),
- new ContentHintsUnitTest(),
- new CertHashUnitTest(),
- new AdditionalInformationSyntaxUnitTest(),
- new AdmissionSyntaxUnitTest(),
- new AdmissionsUnitTest(),
- new DeclarationOfMajorityUnitTest(),
- new ProcurationSyntaxUnitTest(),
- new ProfessionInfoUnitTest(),
- new RestrictionUnitTest(),
- new NamingAuthorityUnitTest(),
- new MonetaryLimitUnitTest(),
- new NameOrPseudonymUnitTest(),
- new PersonalDataUnitTest(),
- new DERApplicationSpecificTest(),
- new IssuingDistributionPointUnitTest(),
- new TargetInformationTest(),
- new SubjectKeyIdentifierTest(),
- new ESSCertIDv2UnitTest(),
- new ParsingTest(),
- new GeneralNameTest(),
- new ObjectIdentifierTest(),
- new RFC4519Test()
- };
-
- public static void main(
- String[] args)
- {
- for (int i = 0; i != tests.length; i++)
- {
- TestResult result = tests[i].perform();
-
- if (result.getException() != null)
- {
- result.getException().printStackTrace();
- }
-
- System.out.println(result);
- }
- }
-}
-
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/RequestedCertificateUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/RequestedCertificateUnitTest.java
deleted file mode 100644
index b167e4e..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/RequestedCertificateUnitTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.isismtt.ocsp.RequestedCertificate;
-import org.bouncycastle.asn1.x509.Certificate;
-import org.bouncycastle.util.encoders.Base64;
-
-public class RequestedCertificateUnitTest
- extends ASN1UnitTest
-{
- byte[] certBytes = Base64.decode(
- "MIIBWzCCAQYCARgwDQYJKoZIhvcNAQEEBQAwODELMAkGA1UEBhMCQVUxDDAKBgNV"
- + "BAgTA1FMRDEbMBkGA1UEAxMSU1NMZWF5L3JzYSB0ZXN0IENBMB4XDTk1MDYxOTIz"
- + "MzMxMloXDTk1MDcxNzIzMzMxMlowOjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA1FM"
- + "RDEdMBsGA1UEAxMUU1NMZWF5L3JzYSB0ZXN0IGNlcnQwXDANBgkqhkiG9w0BAQEF"
- + "AANLADBIAkEAqtt6qS5GTxVxGZYWa0/4u+IwHf7p2LNZbcPBp9/OfIcYAXBQn8hO"
- + "/Re1uwLKXdCjIoaGs4DLdG88rkzfyK5dPQIDAQABMAwGCCqGSIb3DQIFBQADQQAE"
- + "Wc7EcF8po2/ZO6kNCwK/ICH6DobgLekA5lSLr5EvuioZniZp5lFzAw4+YzPQ7XKJ"
- + "zl9HYIMxATFyqSiD9jsx");
-
- public String getName()
- {
- return "RequestedCertificate";
- }
-
- public void performTest()
- throws Exception
- {
- int type = 1;
- byte[] certOctets = new byte[20];
- Certificate cert = Certificate.getInstance(certBytes);
-
- RequestedCertificate requested = new RequestedCertificate(type, certOctets);
-
- checkConstruction(requested, type, certOctets, null);
-
- requested = new RequestedCertificate(cert);
-
- checkConstruction(requested, RequestedCertificate.certificate, null, cert);
-
- requested = RequestedCertificate.getInstance(null);
-
- if (requested != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- RequestedCertificate.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- RequestedCertificate requested,
- int type,
- byte[] certOctets,
- Certificate cert)
- throws IOException
- {
- checkValues(requested, type, certOctets, cert);
-
- requested = RequestedCertificate.getInstance(requested);
-
- checkValues(requested, type, certOctets, cert);
-
- ASN1InputStream aIn = new ASN1InputStream(requested.toASN1Object().getEncoded());
-
- Object obj = aIn.readObject();
-
- requested = RequestedCertificate.getInstance(obj);
-
- checkValues(requested, type, certOctets, cert);
- }
-
- private void checkValues(
- RequestedCertificate requested,
- int type,
- byte[] certOctets,
- Certificate cert)
- throws IOException
- {
- checkMandatoryField("certType", type, requested.getType());
-
- if (requested.getType() == RequestedCertificate.certificate)
- {
- checkMandatoryField("certificate", cert.getEncoded(), requested.getCertificateBytes());
- }
- else
- {
- checkMandatoryField("certificateOctets", certOctets, requested.getCertificateBytes());
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new RequestedCertificateUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/RestrictionUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/RestrictionUnitTest.java
deleted file mode 100644
index 3b11305..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/RestrictionUnitTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1String;
-import org.bouncycastle.asn1.isismtt.x509.Restriction;
-import org.bouncycastle.asn1.x500.DirectoryString;
-
-public class RestrictionUnitTest
- extends ASN1UnitTest
-{
- public String getName()
- {
- return "Restriction";
- }
-
- public void performTest()
- throws Exception
- {
- DirectoryString res = new DirectoryString("test");
- Restriction restriction = new Restriction(res.getString());
-
- checkConstruction(restriction, res);
-
- try
- {
- Restriction.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- Restriction restriction,
- DirectoryString res)
- throws IOException
- {
- checkValues(restriction, res);
-
- restriction = Restriction.getInstance(restriction);
-
- checkValues(restriction, res);
-
- ASN1InputStream aIn = new ASN1InputStream(restriction.toASN1Object().getEncoded());
-
- ASN1String str = (ASN1String)aIn.readObject();
-
- restriction = Restriction.getInstance(str);
-
- checkValues(restriction, res);
- }
-
- private void checkValues(
- Restriction restriction,
- DirectoryString res)
- {
- checkMandatoryField("restriction", res, restriction.getRestriction());
- }
-
- public static void main(
- String[] args)
- {
- runTest(new RestrictionUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/SMIMETest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/SMIMETest.java
deleted file mode 100644
index 44d6b1c..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/SMIMETest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.DERGeneralizedTime;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.cms.RecipientKeyIdentifier;
-import org.bouncycastle.asn1.smime.SMIMECapabilitiesAttribute;
-import org.bouncycastle.asn1.smime.SMIMECapability;
-import org.bouncycastle.asn1.smime.SMIMECapabilityVector;
-import org.bouncycastle.asn1.smime.SMIMEEncryptionKeyPreferenceAttribute;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.test.SimpleTestResult;
-import org.bouncycastle.util.test.Test;
-import org.bouncycastle.util.test.TestResult;
-
-public class SMIMETest
- implements Test
-{
- byte[] attrBytes = Base64.decode("MDQGCSqGSIb3DQEJDzEnMCUwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMAcGBSsOAwIH");
- byte[] prefBytes = Base64.decode("MCwGCyqGSIb3DQEJEAILMR2hGwQIAAAAAAAAAAAYDzIwMDcwMzE1MTczNzI5Wg==");
-
- private boolean isSameAs(
- byte[] a,
- byte[] b)
- {
- if (a.length != b.length)
- {
- return false;
- }
-
- for (int i = 0; i != a.length; i++)
- {
- if (a[i] != b[i])
- {
- return false;
- }
- }
-
- return true;
- }
-
- public TestResult perform()
- {
- SMIMECapabilityVector caps = new SMIMECapabilityVector();
-
- caps.addCapability(SMIMECapability.dES_EDE3_CBC);
- caps.addCapability(SMIMECapability.rC2_CBC, 128);
- caps.addCapability(SMIMECapability.dES_CBC);
-
- SMIMECapabilitiesAttribute attr = new SMIMECapabilitiesAttribute(caps);
-
- SMIMEEncryptionKeyPreferenceAttribute pref = new SMIMEEncryptionKeyPreferenceAttribute(
- new RecipientKeyIdentifier(new DEROctetString(new byte[8]), new DERGeneralizedTime("20070315173729Z"), null));
-
- try
- {
- if (!isSameAs(attr.getEncoded(), attrBytes))
- {
- return new SimpleTestResult(false, getName() + ": Failed attr data check");
- }
-
- ByteArrayInputStream bIn = new ByteArrayInputStream(attrBytes);
- ASN1InputStream aIn = new ASN1InputStream(bIn);
-
- ASN1Primitive o = aIn.readObject();
- if (!attr.equals(o))
- {
- return new SimpleTestResult(false, getName() + ": Failed equality test for attr");
- }
-
- if (!isSameAs(pref.getEncoded(), prefBytes))
- {
- return new SimpleTestResult(false, getName() + ": Failed attr data check");
- }
-
- bIn = new ByteArrayInputStream(prefBytes);
- aIn = new ASN1InputStream(bIn);
-
- o = aIn.readObject();
- if (!pref.equals(o))
- {
- return new SimpleTestResult(false, getName() + ": Failed equality test for pref");
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": Failed - exception " + e.toString(), e);
- }
- }
-
- public String getName()
- {
- return "SMIME";
- }
-
- public static void main(
- String[] args)
- {
- SMIMETest test = new SMIMETest();
- TestResult result = test.perform();
-
- System.out.println(result);
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/SemanticsInformationUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/SemanticsInformationUnitTest.java
deleted file mode 100644
index 3fd26db..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/SemanticsInformationUnitTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.X509Name;
-import org.bouncycastle.asn1.x509.qualified.SemanticsInformation;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class SemanticsInformationUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "SemanticsInformation";
- }
-
- public void performTest()
- throws Exception
- {
- ASN1ObjectIdentifier statementId = new ASN1ObjectIdentifier("1.1");
- SemanticsInformation mv = new SemanticsInformation(statementId);
-
- checkConstruction(mv, statementId, null);
-
- GeneralName[] names = new GeneralName[2];
-
- names[0] = new GeneralName(GeneralName.rfc822Name, "test@test.org");
- names[1] = new GeneralName(new X509Name("cn=test"));
-
- mv = new SemanticsInformation(statementId, names);
-
- checkConstruction(mv, statementId, names);
-
- mv = new SemanticsInformation(names);
-
- checkConstruction(mv, null, names);
-
- mv = SemanticsInformation.getInstance(null);
-
- if (mv != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- SemanticsInformation.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- ASN1EncodableVector v = new ASN1EncodableVector();
-
- SemanticsInformation.getInstance(new DERSequence(v));
-
- fail("constructor failed to detect empty sequence.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- SemanticsInformation mv,
- ASN1ObjectIdentifier semanticsIdentifier,
- GeneralName[] names)
- throws Exception
- {
- checkStatement(mv, semanticsIdentifier, names);
-
- mv = SemanticsInformation.getInstance(mv);
-
- checkStatement(mv, semanticsIdentifier, names);
-
- ASN1InputStream aIn = new ASN1InputStream(mv.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- mv = SemanticsInformation.getInstance(seq);
-
- checkStatement(mv, semanticsIdentifier, names);
- }
-
- private void checkStatement(
- SemanticsInformation si,
- ASN1ObjectIdentifier id,
- GeneralName[] names)
- {
- if (id != null)
- {
- if (!si.getSemanticsIdentifier().equals(id))
- {
- fail("ids don't match.");
- }
- }
- else if (si.getSemanticsIdentifier() != null)
- {
- fail("statementId found when none expected.");
- }
-
- if (names != null)
- {
- GeneralName[] siNames = si.getNameRegistrationAuthorities();
-
- for (int i = 0; i != siNames.length; i++)
- {
- if (!names[i].equals(siNames[i]))
- {
- fail("name registration authorities don't match.");
- }
- }
- }
- else if (si.getNameRegistrationAuthorities() != null)
- {
- fail("name registration authorities found when none expected.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new SemanticsInformationUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/SetTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/SetTest.java
deleted file mode 100644
index 9e568a9..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/SetTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1Boolean;
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1Set;
-import org.bouncycastle.asn1.ASN1TaggedObject;
-import org.bouncycastle.asn1.BERSet;
-import org.bouncycastle.asn1.DERBitString;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.DERSet;
-import org.bouncycastle.asn1.DERTaggedObject;
-import org.bouncycastle.util.test.SimpleTest;
-
-/**
- * Set sorting test example
- */
-public class SetTest
- extends SimpleTest
-{
-
- public String getName()
- {
- return "Set";
- }
-
- private void checkedSortedSet(int attempt, ASN1Set s)
- {
- if (s.getObjectAt(0) instanceof ASN1Boolean
- && s.getObjectAt(1) instanceof ASN1Integer
- && s.getObjectAt(2) instanceof DERBitString
- && s.getObjectAt(3) instanceof DEROctetString)
- {
- return;
- }
-
- fail("sorting failed on attempt: " + attempt);
- }
-
- public void performTest()
- {
- ASN1EncodableVector v = new ASN1EncodableVector();
- byte[] data = new byte[10];
-
- v.add(new DEROctetString(data));
- v.add(new DERBitString(data));
- v.add(new ASN1Integer(100));
- v.add(ASN1Boolean.getInstance(true));
-
- checkedSortedSet(0, new DERSet(v));
-
- v = new ASN1EncodableVector();
- v.add(new ASN1Integer(100));
- v.add(ASN1Boolean.getInstance(true));
- v.add(new DEROctetString(data));
- v.add(new DERBitString(data));
-
- checkedSortedSet(1, new DERSet(v));
-
- v = new ASN1EncodableVector();
- v.add(ASN1Boolean.getInstance(true));
- v.add(new DEROctetString(data));
- v.add(new DERBitString(data));
- v.add(new ASN1Integer(100));
-
-
- checkedSortedSet(2, new DERSet(v));
-
- v = new ASN1EncodableVector();
- v.add(new DERBitString(data));
- v.add(new DEROctetString(data));
- v.add(new ASN1Integer(100));
- v.add(ASN1Boolean.getInstance(true));
-
- checkedSortedSet(3, new DERSet(v));
-
- v = new ASN1EncodableVector();
- v.add(new DEROctetString(data));
- v.add(new DERBitString(data));
- v.add(new ASN1Integer(100));
- v.add(ASN1Boolean.getInstance(true));
-
- ASN1Set s = new BERSet(v);
-
- if (!(s.getObjectAt(0) instanceof DEROctetString))
- {
- fail("BER set sort order changed.");
- }
-
- // create an implicitly tagged "set" without sorting
- ASN1TaggedObject tag = new DERTaggedObject(false, 1, new DERSequence(v));
- s = ASN1Set.getInstance(tag, false);
-
- if (s.getObjectAt(0) instanceof ASN1Boolean)
- {
- fail("sorted when shouldn't be.");
- }
-
- // equality test
- v = new ASN1EncodableVector();
-
- v.add(ASN1Boolean.getInstance(true));
- v.add(ASN1Boolean.getInstance(true));
- v.add(ASN1Boolean.getInstance(true));
-
- s = new DERSet(v);
- }
-
- public static void main(
- String[] args)
- {
- runTest(new SetTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/SignerLocationUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/SignerLocationUnitTest.java
deleted file mode 100644
index 8d2c2c0..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/SignerLocationUnitTest.java
+++ /dev/null
@@ -1,197 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.DERTaggedObject;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.asn1.esf.SignerLocation;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class SignerLocationUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "SignerLocation";
- }
-
- public void performTest()
- throws Exception
- {
- DERUTF8String countryName = new DERUTF8String("Australia");
-
- SignerLocation sl = new SignerLocation(countryName, null, null);
-
- checkConstruction(sl, countryName, null, null);
-
- DERUTF8String localityName = new DERUTF8String("Melbourne");
-
- sl = new SignerLocation(null, localityName, null);
-
- checkConstruction(sl, null, localityName, null);
-
- sl = new SignerLocation(countryName, localityName, null);
-
- checkConstruction(sl, countryName, localityName, null);
-
- ASN1EncodableVector v = new ASN1EncodableVector();
-
- v.add(new DERUTF8String("line 1"));
- v.add(new DERUTF8String("line 2"));
-
- ASN1Sequence postalAddress = new DERSequence(v);
-
- sl = new SignerLocation(null, null, postalAddress);
-
- checkConstruction(sl, null, null, postalAddress);
-
- sl = new SignerLocation(countryName, null, postalAddress);
-
- checkConstruction(sl, countryName, null, postalAddress);
-
- sl = new SignerLocation(countryName, localityName, postalAddress);
-
- checkConstruction(sl, countryName, localityName, postalAddress);
-
- sl = SignerLocation.getInstance(null);
-
- if (sl != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- SignerLocation.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- //
- // out of range postal address
- //
- v = new ASN1EncodableVector();
-
- v.add(new DERUTF8String("line 1"));
- v.add(new DERUTF8String("line 2"));
- v.add(new DERUTF8String("line 3"));
- v.add(new DERUTF8String("line 4"));
- v.add(new DERUTF8String("line 5"));
- v.add(new DERUTF8String("line 6"));
- v.add(new DERUTF8String("line 7"));
-
- postalAddress = new DERSequence(v);
-
- try
- {
- new SignerLocation(null, null, postalAddress);
-
- fail("constructor failed to detect bad postalAddress.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- SignerLocation.getInstance(new DERSequence(new DERTaggedObject(2, postalAddress)));
-
- fail("sequence constructor failed to detect bad postalAddress.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- SignerLocation.getInstance(new DERSequence(new DERTaggedObject(5, postalAddress)));
-
- fail("sequence constructor failed to detect bad tag.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
- }
-
- private void checkConstruction(
- SignerLocation sl,
- DERUTF8String countryName,
- DERUTF8String localityName,
- ASN1Sequence postalAddress)
- throws IOException
- {
- checkValues(sl, countryName, localityName, postalAddress);
-
- sl = SignerLocation.getInstance(sl);
-
- checkValues(sl, countryName, localityName, postalAddress);
-
- ASN1InputStream aIn = new ASN1InputStream(sl.toASN1Object().getEncoded());
-
- ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
-
- sl = SignerLocation.getInstance(seq);
-
- checkValues(sl, countryName, localityName, postalAddress);
- }
-
- private void checkValues(
- SignerLocation sl,
- DERUTF8String countryName,
- DERUTF8String localityName,
- ASN1Sequence postalAddress)
- {
- if (countryName != null)
- {
- if (!countryName.equals(sl.getCountryName()))
- {
- fail("countryNames don't match.");
- }
- }
- else if (sl.getCountryName() != null)
- {
- fail("countryName found when none expected.");
- }
-
- if (localityName != null)
- {
- if (!localityName.equals(sl.getLocalityName()))
- {
- fail("localityNames don't match.");
- }
- }
- else if (sl.getLocalityName() != null)
- {
- fail("localityName found when none expected.");
- }
-
- if (postalAddress != null)
- {
- if (!postalAddress.equals(sl.getPostalAddress()))
- {
- fail("postalAddresses don't match.");
- }
- }
- else if (sl.getPostalAddress() != null)
- {
- fail("postalAddress found when none expected.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new SignerLocationUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/StringTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/StringTest.java
deleted file mode 100644
index 426c06a..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/StringTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.ASN1String;
-import org.bouncycastle.asn1.DERBMPString;
-import org.bouncycastle.asn1.DERBitString;
-import org.bouncycastle.asn1.DERGeneralString;
-import org.bouncycastle.asn1.DERIA5String;
-import org.bouncycastle.asn1.DERNumericString;
-import org.bouncycastle.asn1.DERPrintableString;
-import org.bouncycastle.asn1.DERT61String;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.asn1.DERUniversalString;
-import org.bouncycastle.asn1.DERVisibleString;
-import org.bouncycastle.util.Strings;
-import org.bouncycastle.util.test.SimpleTest;
-
-/**
- * X.690 test example
- */
-public class StringTest
- extends SimpleTest
-{
- public String getName()
- {
- return "String";
- }
-
- public void performTest()
- throws IOException
- {
- DERBitString bs = new DERBitString(
- new byte[] { (byte)0x01,(byte)0x23,(byte)0x45,(byte)0x67,(byte)0x89,(byte)0xab,(byte)0xcd,(byte)0xef });
-
- if (!bs.getString().equals("#0309000123456789ABCDEF"))
- {
- fail("DERBitString.getString() result incorrect");
- }
-
- if (!bs.toString().equals("#0309000123456789ABCDEF"))
- {
- fail("DERBitString.toString() result incorrect");
- }
-
- bs = new DERBitString(
- new byte[] { (byte)0xfe,(byte)0xdc,(byte)0xba,(byte)0x98,(byte)0x76,(byte)0x54,(byte)0x32,(byte)0x10 });
-
- if (!bs.getString().equals("#030900FEDCBA9876543210"))
- {
- fail("DERBitString.getString() result incorrect");
- }
-
- if (!bs.toString().equals("#030900FEDCBA9876543210"))
- {
- fail("DERBitString.toString() result incorrect");
- }
-
- DERUniversalString us = new DERUniversalString(
- new byte[] { (byte)0x01,(byte)0x23,(byte)0x45,(byte)0x67,(byte)0x89,(byte)0xab,(byte)0xcd,(byte)0xef });
-
- if (!us.getString().equals("#1C080123456789ABCDEF"))
- {
- fail("DERUniversalString.getString() result incorrect");
- }
-
- if (!us.toString().equals("#1C080123456789ABCDEF"))
- {
- fail("DERUniversalString.toString() result incorrect");
- }
-
- us = new DERUniversalString(
- new byte[] { (byte)0xfe,(byte)0xdc,(byte)0xba,(byte)0x98,(byte)0x76,(byte)0x54,(byte)0x32,(byte)0x10 });
-
- if (!us.getString().equals("#1C08FEDCBA9876543210"))
- {
- fail("DERUniversalString.getString() result incorrect");
- }
-
- if (!us.toString().equals("#1C08FEDCBA9876543210"))
- {
- fail("DERUniversalString.toString() result incorrect");
- }
-
- byte[] t61Bytes = new byte[] { -1, -2, -3, -4, -5, -6, -7, -8 };
- String t61String = new String(t61Bytes, "iso-8859-1");
- DERT61String t61 = new DERT61String(Strings.fromByteArray(t61Bytes));
-
- if (!t61.getString().equals(t61String))
- {
- fail("DERT61String.getString() result incorrect");
- }
-
- if (!t61.toString().equals(t61String))
- {
- fail("DERT61String.toString() result incorrect");
- }
-
- char[] shortChars = new char[] { 'a', 'b', 'c', 'd', 'e'};
- char[] longChars = new char[1000];
-
- for (int i = 0; i != longChars.length; i++)
- {
- longChars[i] = 'X';
- }
-
- checkString(new DERBMPString(new String(shortChars)), new DERBMPString(new String(longChars)));
- checkString(new DERUTF8String(new String(shortChars)), new DERUTF8String(new String(longChars)));
- checkString(new DERIA5String(new String(shortChars)), new DERIA5String(new String(longChars)));
- checkString(new DERPrintableString(new String(shortChars)), new DERPrintableString(new String(longChars)));
- checkString(new DERVisibleString(new String(shortChars)), new DERVisibleString(new String(longChars)));
- checkString(new DERGeneralString(new String(shortChars)), new DERGeneralString(new String(longChars)));
- checkString(new DERT61String(new String(shortChars)), new DERT61String(new String(longChars)));
-
- shortChars = new char[] { '1', '2', '3', '4', '5'};
- longChars = new char[1000];
-
- for (int i = 0; i != longChars.length; i++)
- {
- longChars[i] = '1';
- }
-
- checkString(new DERNumericString(new String(shortChars)), new DERNumericString(new String(longChars)));
-
- byte[] shortBytes = new byte[] { (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e'};
- byte[] longBytes = new byte[1000];
-
- for (int i = 0; i != longChars.length; i++)
- {
- longBytes[i] = (byte)'X';
- }
-
- checkString(new DERUniversalString(shortBytes), new DERUniversalString(longBytes));
-
- }
-
- private void checkString(ASN1String shortString, ASN1String longString)
- throws IOException
- {
- ASN1String short2 = (ASN1String)ASN1Primitive.fromByteArray(((ASN1Primitive)shortString).getEncoded());
-
- if (!shortString.toString().equals(short2.toString()))
- {
- fail(short2.getClass().getName() + " shortBytes result incorrect");
- }
-
- ASN1String long2 = (ASN1String)ASN1Primitive.fromByteArray(((ASN1Primitive)longString).getEncoded());
-
- if (!longString.toString().equals(long2.toString()))
- {
- fail(long2.getClass().getName() + " longBytes result incorrect");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new StringTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/SubjectKeyIdentifierTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/SubjectKeyIdentifierTest.java
deleted file mode 100644
index 9887a31..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/SubjectKeyIdentifierTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class SubjectKeyIdentifierTest
- extends SimpleTest
-{
- private static byte[] pubKeyInfo = Base64.decode(
- "MFgwCwYJKoZIhvcNAQEBA0kAMEYCQQC6wMMmHYMZszT/7bNFMn+gaZoiWJLVP8ODRuu1C2jeAe" +
- "QpxM+5Oe7PaN2GNy3nBE4EOYkB5pMJWA0y9n04FX8NAgED");
-
- private static byte[] shaID = Hex.decode("d8128a06d6c2feb0865994a2936e7b75b836a021");
- private static byte[] shaTruncID = Hex.decode("436e7b75b836a021");
-
- public String getName()
- {
- return "SubjectKeyIdentifier";
- }
-
- public void performTest()
- throws IOException
- {
-// SubjectPublicKeyInfo pubInfo = SubjectPublicKeyInfo.getInstance(ASN1Primitive.fromByteArray(pubKeyInfo));
-// SubjectKeyIdentifier ski = SubjectKeyIdentifier.createSHA1KeyIdentifier(pubInfo);
-//
-// if (!Arrays.areEqual(shaID, ski.getKeyIdentifier()))
-// {
-// fail("SHA-1 ID does not match");
-// }
-//
-// ski = SubjectKeyIdentifier.createTruncatedSHA1KeyIdentifier(pubInfo);
-//
-// if (!Arrays.areEqual(shaTruncID, ski.getKeyIdentifier()))
-// {
-// fail("truncated SHA-1 ID does not match");
-// }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new SubjectKeyIdentifierTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/TagTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/TagTest.java
deleted file mode 100644
index 90489a7..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/TagTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-import java.security.SecureRandom;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.ASN1TaggedObject;
-import org.bouncycastle.asn1.DERApplicationSpecific;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-
-/**
- * X.690 test example
- */
-public class TagTest
- extends SimpleTest
-{
- byte[] longTagged = Base64.decode(
- "ZSRzIp8gEEZFRENCQTk4NzY1NDMyMTCfIQwyMDA2MDQwMTEyMzSUCCAFERVz"
- + "A4kCAHEXGBkalAggBRcYGRqUCCAFZS6QAkRFkQlURUNITklLRVKSBQECAwQF"
- + "kxAREhMUFRYXGBkalAggBREVcwOJAgBxFxgZGpQIIAUXGBkalAggBWUukAJE"
- + "RZEJVEVDSE5JS0VSkgUBAgMEBZMQERITFBUWFxgZGpQIIAURFXMDiQIAcRcY"
- + "GRqUCCAFFxgZGpQIIAVlLpACREWRCVRFQ0hOSUtFUpIFAQIDBAWTEBESExQV"
- + "FhcYGRqUCCAFERVzA4kCAHEXGBkalAggBRcYGRqUCCAFFxgZGpQIIAUXGBka"
- + "lAg=");
-
- byte[] longAppSpecificTag = Hex.decode("5F610101");
-
- public String getName()
- {
- return "Tag";
- }
-
- public void performTest()
- throws IOException
- {
- ASN1InputStream aIn = new ASN1InputStream(longTagged);
-
- DERApplicationSpecific app = (DERApplicationSpecific)aIn.readObject();
-
- aIn = new ASN1InputStream(app.getContents());
-
- app = (DERApplicationSpecific)aIn.readObject();
-
- aIn = new ASN1InputStream(app.getContents());
-
- ASN1TaggedObject tagged = (ASN1TaggedObject)aIn.readObject();
-
- if (tagged.getTagNo() != 32)
- {
- fail("unexpected tag value found - not 32");
- }
-
- tagged = (ASN1TaggedObject)ASN1Primitive.fromByteArray(tagged.getEncoded());
-
- if (tagged.getTagNo() != 32)
- {
- fail("unexpected tag value found on recode - not 32");
- }
-
- tagged = (ASN1TaggedObject)aIn.readObject();
-
- if (tagged.getTagNo() != 33)
- {
- fail("unexpected tag value found - not 33");
- }
-
- tagged = (ASN1TaggedObject)ASN1Primitive.fromByteArray(tagged.getEncoded());
-
- if (tagged.getTagNo() != 33)
- {
- fail("unexpected tag value found on recode - not 33");
- }
-
- aIn = new ASN1InputStream(longAppSpecificTag);
-
- app = (DERApplicationSpecific)aIn.readObject();
-
- if (app.getApplicationTag() != 97)
- {
- fail("incorrect tag number read");
- }
-
- app = (DERApplicationSpecific)ASN1Primitive.fromByteArray(app.getEncoded());
-
- if (app.getApplicationTag() != 97)
- {
- fail("incorrect tag number read on recode");
- }
-
- SecureRandom sr = new SecureRandom();
- for (int i = 0; i < 100; ++i)
- {
- int testTag = sr.nextInt() >>> (1 + (sr.nextInt() >>> 1) % 26);
- app = new DERApplicationSpecific(testTag, new byte[]{ 1 });
- app = (DERApplicationSpecific)ASN1Primitive.fromByteArray(app.getEncoded());
-
- if (app.getApplicationTag() != testTag)
- {
- fail("incorrect tag number read on recode (random test value: " + testTag + ")");
- }
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new TagTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/TargetInformationTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/TargetInformationTest.java
deleted file mode 100644
index 34dc70f..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/TargetInformationTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.Target;
-import org.bouncycastle.asn1.x509.TargetInformation;
-import org.bouncycastle.asn1.x509.Targets;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class TargetInformationTest
- extends SimpleTest
-{
-
- public String getName()
- {
- return "TargetInformation";
- }
-
- public void performTest() throws Exception
- {
- Target[] targets = new Target[2];
- Target targetName = new Target(Target.targetName, new GeneralName(GeneralName.dNSName, "www.test.com"));
- Target targetGroup = new Target(Target.targetGroup, new GeneralName(GeneralName.directoryName, "o=Test, ou=Test"));
- targets[0] = targetName;
- targets[1] = targetGroup;
- Targets targetss = new Targets(targets);
- TargetInformation targetInformation1 = new TargetInformation(targetss);
- // use an Target array
- TargetInformation targetInformation2 = new TargetInformation(targets);
- // targetInformation1 and targetInformation2 must have same
- // encoding.
- if (!targetInformation1.equals(targetInformation2))
- {
- fail("targetInformation1 and targetInformation2 should have the same encoding.");
- }
- TargetInformation targetInformation3 = TargetInformation.getInstance(targetInformation1);
- TargetInformation targetInformation4 = TargetInformation.getInstance(targetInformation2);
- if (!targetInformation3.equals(targetInformation4))
- {
- fail("targetInformation3 and targetInformation4 should have the same encoding.");
- }
- }
-
- public static void main(String[] args)
- {
- runTest(new TargetInformationTest());
- }
-}
-
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/TypeOfBiometricDataUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/TypeOfBiometricDataUnitTest.java
deleted file mode 100644
index add21ce..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/TypeOfBiometricDataUnitTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.x509.qualified.TypeOfBiometricData;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class TypeOfBiometricDataUnitTest
- extends SimpleTest
-{
- public String getName()
- {
- return "TypeOfBiometricData";
- }
-
- public void performTest()
- throws Exception
- {
- //
- // predefined
- //
- checkPredefinedType(TypeOfBiometricData.PICTURE);
-
- checkPredefinedType(TypeOfBiometricData.HANDWRITTEN_SIGNATURE);
-
- //
- // non-predefined
- //
- ASN1ObjectIdentifier localType = new ASN1ObjectIdentifier("1.1");
-
- TypeOfBiometricData type = new TypeOfBiometricData(localType);
-
- checkNonPredefined(type, localType);
-
- type = TypeOfBiometricData.getInstance(type);
-
- checkNonPredefined(type, localType);
-
- ASN1Primitive obj = type.toASN1Primitive();
-
- type = TypeOfBiometricData.getInstance(obj);
-
- checkNonPredefined(type, localType);
-
- type = TypeOfBiometricData.getInstance(null);
-
- if (type != null)
- {
- fail("null getInstance() failed.");
- }
-
- try
- {
- TypeOfBiometricData.getInstance(new Object());
-
- fail("getInstance() failed to detect bad object.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- try
- {
- new TypeOfBiometricData(100);
-
- fail("constructor failed to detect bad predefined type.");
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
-
- if (TypeOfBiometricData.PICTURE != 0)
- {
- fail("predefined picture should be 0");
- }
-
- if (TypeOfBiometricData.HANDWRITTEN_SIGNATURE != 1)
- {
- fail("predefined handwritten signature should be 1");
- }
- }
-
- private void checkPredefinedType(
- int predefinedType)
- throws IOException
- {
- TypeOfBiometricData type = new TypeOfBiometricData(predefinedType);
-
- checkPredefined(type, predefinedType);
-
- type = TypeOfBiometricData.getInstance(type);
-
- checkPredefined(type, predefinedType);
-
- ASN1InputStream aIn = new ASN1InputStream(type.toASN1Object().getEncoded());
-
- ASN1Primitive obj = aIn.readObject();
-
- type = TypeOfBiometricData.getInstance(obj);
-
- checkPredefined(type, predefinedType);
- }
-
- private void checkPredefined(
- TypeOfBiometricData type,
- int value)
- {
- if (!type.isPredefined())
- {
- fail("predefined type expected but not found.");
- }
-
- if (type.getPredefinedBiometricType() != value)
- {
- fail("predefined type does not match.");
- }
- }
-
- private void checkNonPredefined(
- TypeOfBiometricData type,
- ASN1ObjectIdentifier value)
- {
- if (type.isPredefined())
- {
- fail("predefined type found when not expected.");
- }
-
- if (!type.getBiometricDataOid().equals(value))
- {
- fail("data oid does not match.");
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new TypeOfBiometricDataUnitTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java
deleted file mode 100644
index 8067e78..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.DERUTCTime;
-import org.bouncycastle.util.test.SimpleTest;
-
-import java.text.SimpleDateFormat;
-import java.util.SimpleTimeZone;
-
-/**
- * X.690 test example
- */
-public class UTCTimeTest
- extends SimpleTest
-{
- String[] input =
- {
- "020122122220Z",
- "020122122220-1000",
- "020122122220+1000",
- "020122122220+00",
- "0201221222Z",
- "0201221222-1000",
- "0201221222+1000",
- "0201221222+00",
- "550122122220Z",
- "5501221222Z"
- };
-
- String[] output = {
- "20020122122220GMT+00:00",
- "20020122122220GMT-10:00",
- "20020122122220GMT+10:00",
- "20020122122220GMT+00:00",
- "20020122122200GMT+00:00",
- "20020122122200GMT-10:00",
- "20020122122200GMT+10:00",
- "20020122122200GMT+00:00",
- "19550122122220GMT+00:00",
- "19550122122200GMT+00:00"
- };
-
- String[] zOutput1 = {
- "20020122122220Z",
- "20020122222220Z",
- "20020122022220Z",
- "20020122122220Z",
- "20020122122200Z",
- "20020122222200Z",
- "20020122022200Z",
- "20020122122200Z",
- "19550122122220Z",
- "19550122122200Z"
- };
-
- String[] zOutput2 = {
- "20020122122220Z",
- "20020122222220Z",
- "20020122022220Z",
- "20020122122220Z",
- "20020122122200Z",
- "20020122222200Z",
- "20020122022200Z",
- "20020122122200Z",
- "19550122122220Z",
- "19550122122200Z"
- };
-
- public String getName()
- {
- return "UTCTime";
- }
-
- public void performTest()
- throws Exception
- {
- SimpleDateFormat yyyyF = new SimpleDateFormat("yyyyMMddHHmmss'Z'");
- SimpleDateFormat yyF = new SimpleDateFormat("yyyyMMddHHmmss'Z'");
-
- yyyyF.setTimeZone(new SimpleTimeZone(0,"Z"));
- yyF.setTimeZone(new SimpleTimeZone(0,"Z"));
-
- for (int i = 0; i != input.length; i++)
- {
- DERUTCTime t = new DERUTCTime(input[i]);
-
- if (!t.getAdjustedTime().equals(output[i]))
- {
- fail("failed conversion test " + i);
- }
-
- if (!yyyyF.format(t.getAdjustedDate()).equals(zOutput1[i]))
- {
- fail("failed date conversion test " + i);
- }
-
- if (!yyF.format(t.getDate()).equals(zOutput2[i]))
- {
- fail("failed date shortened conversion test " + i);
- }
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new UTCTimeTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/X500NameTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/X500NameTest.java
deleted file mode 100644
index 2822f8c..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/X500NameTest.java
+++ /dev/null
@@ -1,777 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-
-import org.bouncycastle.asn1.ASN1Encodable;
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1GeneralizedTime;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.ASN1Set;
-import org.bouncycastle.asn1.ASN1String;
-import org.bouncycastle.asn1.ASN1TaggedObject;
-import org.bouncycastle.asn1.DERIA5String;
-import org.bouncycastle.asn1.DERPrintableString;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.DERSet;
-import org.bouncycastle.asn1.DERTaggedObject;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.asn1.x500.RDN;
-import org.bouncycastle.asn1.x500.X500Name;
-import org.bouncycastle.asn1.x500.X500NameBuilder;
-import org.bouncycastle.asn1.x500.style.BCStrictStyle;
-import org.bouncycastle.asn1.x500.style.BCStyle;
-import org.bouncycastle.asn1.x500.style.IETFUtils;
-import org.bouncycastle.asn1.x509.X509DefaultEntryConverter;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class X500NameTest
- extends SimpleTest
-{
- String[] subjects =
- {
- "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Webserver Team,CN=www2.connect4.com.au,E=webmaster@connect4.com.au",
- "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Certificate Authority,CN=Connect 4 CA,E=webmaster@connect4.com.au",
- "C=AU,ST=QLD,CN=SSLeay/rsa test cert",
- "C=US,O=National Aeronautics and Space Administration,SERIALNUMBER=16+CN=Steve Schoch",
- "E=cooke@issl.atl.hp.com,C=US,OU=Hewlett Packard Company (ISSL),CN=Paul A. Cooke",
- "O=Sun Microsystems Inc,CN=store.sun.com",
- "unstructuredAddress=192.168.1.33,unstructuredName=pixfirewall.ciscopix.com,CN=pixfirewall.ciscopix.com",
- "CN=*.canal-plus.com,OU=Provided by TBS INTERNET http://www.tbs-certificats.com/,OU=\\ CANAL \\+,O=CANAL\\+DISTRIBUTION,L=issy les moulineaux,ST=Hauts de Seine,C=FR",
- "O=Bouncy Castle,CN=www.bouncycastle.org\\ ",
- "O=Bouncy Castle,CN=c:\\\\fred\\\\bob",
- };
-
- String[] hexSubjects =
- {
- "CN=\\20Test\\20X,O=\\20Test,C=GB", // input
- "CN=\\ Test X,O=\\ Test,C=GB", // expected
- "CN=\\20Test\\20X\\20,O=\\20Test,C=GB", // input
- "CN=\\ Test X\\ ,O=\\ Test,C=GB" // expected
- };
-
- public String getName()
- {
- return "X500Name";
- }
-
- private static X500Name fromBytes(
- byte[] bytes)
- throws IOException
- {
- return X500Name.getInstance(new ASN1InputStream(new ByteArrayInputStream(bytes)).readObject());
- }
-
- private ASN1Encodable createEntryValue(ASN1ObjectIdentifier oid, String value)
- {
- X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE);
-
- builder.addRDN(oid, value);
-
- X500Name name = builder.build();
-
- ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive();
- ASN1Set set = ASN1Set.getInstance(seq.getObjectAt(0).toASN1Primitive());
- seq = (ASN1Sequence)set.getObjectAt(0);
-
- return seq.getObjectAt(1);
- }
-
- private ASN1Encodable createEntryValueFromString(ASN1ObjectIdentifier oid, String value)
- {
- X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE);
-
- builder.addRDN(oid, value);
-
- X500Name name = new X500Name(builder.build().toString());
-
- ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive();
- ASN1Set set = ASN1Set.getInstance(seq.getObjectAt(0).toASN1Primitive());
- seq = (ASN1Sequence)set.getObjectAt(0);
-
- return seq.getObjectAt(1);
- }
-
- private void testEncodingPrintableString(ASN1ObjectIdentifier oid, String value)
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof DERPrintableString))
- {
- fail("encoding for " + oid + " not printable string");
- }
- }
-
- private void testEncodingIA5String(ASN1ObjectIdentifier oid, String value)
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof DERIA5String))
- {
- fail("encoding for " + oid + " not IA5String");
- }
- }
-
- private void testEncodingUTF8String(ASN1ObjectIdentifier oid, String value)
- throws IOException
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof DERUTF8String))
- {
- fail("encoding for " + oid + " not IA5String");
- }
- if (!value.equals((DERUTF8String.getInstance(converted.toASN1Primitive().getEncoded()).getString())))
- {
- fail("decoding not correct");
- }
- }
-
- private void testEncodingGeneralizedTime(ASN1ObjectIdentifier oid, String value)
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof ASN1GeneralizedTime))
- {
- fail("encoding for " + oid + " not GeneralizedTime");
- }
- converted = createEntryValueFromString(oid, value);
- if (!(converted instanceof ASN1GeneralizedTime))
- {
- fail("encoding for " + oid + " not GeneralizedTime");
- }
- }
-
- public void performTest()
- throws Exception
- {
- ietfUtilsTest();
-
- testEncodingPrintableString(BCStyle.C, "AU");
- testEncodingPrintableString(BCStyle.SERIALNUMBER, "123456");
- testEncodingPrintableString(BCStyle.DN_QUALIFIER, "123456");
- testEncodingIA5String(BCStyle.EmailAddress, "test@test.com");
- testEncodingIA5String(BCStyle.DC, "test");
- // correct encoding
- testEncodingGeneralizedTime(BCStyle.DATE_OF_BIRTH, "#180F32303032303132323132323232305A");
- // compatibility encoding
- testEncodingGeneralizedTime(BCStyle.DATE_OF_BIRTH, "20020122122220Z");
- testEncodingUTF8String(BCStyle.CN, "Mörsky");
-
- //
- // composite
- //
- X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE);
-
- builder.addRDN(BCStyle.C, "AU");
- builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle");
- builder.addRDN(BCStyle.L, "Melbourne");
- builder.addRDN(BCStyle.ST, "Victoria");
- builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org");
-
- X500Name name1 = builder.build();
-
- if (!name1.equals(name1))
- {
- fail("Failed same object test");
- }
-
-// if (!name1.equals(name1, true))
-// {
-// fail("Failed same object test - in Order");
-// }
-
- builder = new X500NameBuilder(BCStyle.INSTANCE);
-
- builder.addRDN(BCStyle.C, "AU");
- builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle");
- builder.addRDN(BCStyle.L, "Melbourne");
- builder.addRDN(BCStyle.ST, "Victoria");
- builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org");
-
- X500Name name2 = builder.build();
-
- if (!name1.equals(name2))
- {
- fail("Failed same name test");
- }
-
-// if (!name1.equals(name2, true))
-// {
-// fail("Failed same name test - in Order");
-// }
-
- if (name1.hashCode() != name2.hashCode())
- {
- fail("Failed same name test - in Order");
- }
-
- X500NameBuilder builder1 = new X500NameBuilder(BCStyle.INSTANCE);
-
- builder.addRDN(BCStyle.C, "AU");
- builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle");
- builder.addRDN(BCStyle.L, "Melbourne");
- builder.addRDN(BCStyle.ST, "Victoria");
- builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org");
-
- X500NameBuilder builder2 = new X500NameBuilder(BCStyle.INSTANCE);
-
- builder.addRDN(BCStyle.E, "feedback-crypto@bouncycastle.org");
- builder.addRDN(BCStyle.C, "AU");
- builder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle");
- builder.addRDN(BCStyle.L, "Melbourne");
- builder.addRDN(BCStyle.ST, "Victoria");
-
- name1 = builder1.build();
- name2 = builder2.build();
-
- if (!name1.equals(name2))
- {
- fail("Failed reverse name test");
- }
-
- if (name1.hashCode() != name2.hashCode())
- {
- fail("Failed reverse name test hashCode");
- }
-
-// if (name1.equals(name2, true))
-// {
-// fail("Failed reverse name test - in Order");
-// }
-//
-// if (!name1.equals(name2, false))
-// {
-// fail("Failed reverse name test - in Order false");
-// }
-
-// Vector oids = name1.getOIDs();
-// if (!compareVectors(oids, ord1))
-// {
-// fail("oid comparison test");
-// }
- /*
- Vector val1 = new Vector();
-
- val1.addElement("AU");
- val1.addElement("The Legion of the Bouncy Castle");
- val1.addElement("Melbourne");
- val1.addElement("Victoria");
- val1.addElement("feedback-crypto@bouncycastle.org");
-
- name1 = new X500Name(ord1, val1);
-
- Vector values = name1.getValues();
- if (!compareVectors(values, val1))
- {
- fail("value comparison test");
- }
-
- ord2 = new Vector();
-
- ord2.addElement(X500Name.ST);
- ord2.addElement(X500Name.ST);
- ord2.addElement(X500Name.L);
- ord2.addElement(X500Name.O);
- ord2.addElement(X500Name.C);
-
- name1 = new X500Name(ord1, attrs);
- name2 = new X500Name(ord2, attrs);
-
- if (name1.equals(name2))
- {
- fail("Failed different name test");
- }
-
- ord2 = new Vector();
-
- ord2.addElement(X500Name.ST);
- ord2.addElement(X500Name.L);
- ord2.addElement(X500Name.O);
- ord2.addElement(X500Name.C);
-
- name1 = new X500Name(ord1, attrs);
- name2 = new X500Name(ord2, attrs);
-
- if (name1.equals(name2))
- {
- fail("Failed subset name test");
- }
-
- compositeTest();
- */
- ByteArrayOutputStream bOut;
- ASN1OutputStream aOut;
- ASN1InputStream aIn;
- /*
- //
- // getValues test
- //
- Vector v1 = name1.getValues(X500Name.O);
-
- if (v1.size() != 1 || !v1.elementAt(0).equals("The Legion of the Bouncy Castle"))
- {
- fail("O test failed");
- }
-
- Vector v2 = name1.getValues(X500Name.L);
-
- if (v2.size() != 1 || !v2.elementAt(0).equals("Melbourne"))
- {
- fail("L test failed");
- }
- */
- //
- // general subjects test
- //
- for (int i = 0; i != subjects.length; i++)
- {
- X500Name name = new X500Name(subjects[i]);
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(name);
-
- aIn = new ASN1InputStream(new ByteArrayInputStream(bOut.toByteArray()));
-
- name = X500Name.getInstance(aIn.readObject());
- if (!name.toString().equals(subjects[i]))
- {
- fail("failed regeneration test " + i + " got: " + name.toString() + " expected " + subjects[i]);
- }
- }
-
- for (int i = 0; i < hexSubjects.length; i += 2)
- {
- X500Name name = new X500Name(hexSubjects[i]);
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(name);
-
- aIn = new ASN1InputStream(new ByteArrayInputStream(bOut.toByteArray()));
-
- name = X500Name.getInstance(aIn.readObject());
- if (!name.toString().equals(hexSubjects[i + 1]))
- {
- fail("failed hex regeneration test " + i + " got: " + name.toString() + " expected " + subjects[i]);
- }
- }
-
- //
- // sort test
- //
- X500Name unsorted = new X500Name("SERIALNUMBER=BBB + CN=AA");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB"))
- {
- fail("failed sort test 1");
- }
-
- unsorted = new X500Name("CN=AA + SERIALNUMBER=BBB");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB"))
- {
- fail("failed sort test 2");
- }
-
- unsorted = new X500Name("SERIALNUMBER=B + CN=AA");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA"))
- {
- fail("failed sort test 3");
- }
-
- unsorted = new X500Name("CN=AA + SERIALNUMBER=B");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA"))
- {
- fail("failed sort test 4");
- }
-
- //
- // equality tests
- //
- equalityTest(new X500Name("CN=The Legion"), new X500Name("CN=The Legion"));
- equalityTest(new X500Name("CN= The Legion"), new X500Name("CN=The Legion"));
- equalityTest(new X500Name("CN=The Legion "), new X500Name("CN=The Legion"));
- equalityTest(new X500Name("CN= The Legion "), new X500Name("CN=The Legion"));
- equalityTest(new X500Name("CN= the legion "), new X500Name("CN=The Legion"));
-
- equalityTest(new X500Name("CN= the legion+C=AU, O=Legion "), new X500Name("CN=The Legion+C=AU, O=Legion"));
- // # test
-
- X500Name n1 = new X500Name("SERIALNUMBER=8,O=ABC,CN=ABC Class 3 CA,C=LT");
- X500Name n2 = new X500Name("2.5.4.5=8,O=ABC,CN=ABC Class 3 CA,C=LT");
- X500Name n3 = new X500Name("2.5.4.5=#130138,O=ABC,CN=ABC Class 3 CA,C=LT");
-
- equalityTest(n1, n2);
- equalityTest(n2, n3);
- equalityTest(n3, n1);
-
- n1 = new X500Name("2.5.4.5=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT");
- n2 = new X500Name("SERIALNUMBER=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT");
- n3 = X500Name.getInstance(ASN1Primitive.fromByteArray(Hex.decode("3063310b3009060355040613024c54312f302d060355040a1326"
- + "55414220536b6169746d656e696e696f20736572746966696b6176696d6f2063656e74726173311730150603550403130e53534320436c6173732033204341310a30080603550405130138")));
-
- equalityTest(n1, n2);
- equalityTest(n2, n3);
- equalityTest(n3, n1);
-
- n1 = new X500Name("SERIALNUMBER=8,O=XX,CN=ABC Class 3 CA,C=LT");
- n2 = new X500Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT");
-
-// if (n1.equals(n2))
-// {
-// fail("empty inequality check failed");
-// }
-
- n1 = new X500Name("SERIALNUMBER=8,O=,CN=ABC Class 3 CA,C=LT");
- n2 = new X500Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT");
-
- equalityTest(n1, n2);
-
- equalityTest(X500Name.getInstance(BCStrictStyle.INSTANCE, n1), X500Name.getInstance(BCStrictStyle.INSTANCE, n2));
-
- n2 = new X500Name("C=LT,2.5.4.5=8,O=,CN=ABC Class 3 CA");
-
- equalityTest(n1, n2);
-
- if (X500Name.getInstance(BCStrictStyle.INSTANCE, n1).equals(X500Name.getInstance(BCStrictStyle.INSTANCE, n2)))
- {
- fail("strict comparison failed");
- }
-
- //
- // inequality to sequences
- //
- name1 = new X500Name("CN=The Legion");
-
- if (name1.equals(new DERSequence()))
- {
- fail("inequality test with sequence");
- }
-
- if (name1.equals(new DERSequence(new DERSet())))
- {
- fail("inequality test with sequence and set");
- }
-
- ASN1EncodableVector v = new ASN1EncodableVector();
-
- v.add(new ASN1ObjectIdentifier("1.1"));
- v.add(new ASN1ObjectIdentifier("1.1"));
- if (name1.equals(new DERSequence(new DERSet(new DERSet(v)))))
- {
- fail("inequality test with sequence and bad set");
- }
-
- if (name1.equals(new DERSequence(new DERSet(new DERSet(v)))))
- {
- fail("inequality test with sequence and bad set");
- }
-
- if (name1.equals(new DERSequence(new DERSet(new DERSequence()))))
- {
- fail("inequality test with sequence and short sequence");
- }
-
- if (name1.equals(new DERSequence(new DERSet(new DERSequence()))))
- {
- fail("inequality test with sequence and short sequence");
- }
-
- v = new ASN1EncodableVector();
-
- v.add(new ASN1ObjectIdentifier("1.1"));
- v.add(new DERSequence());
-
- if (name1.equals(new DERSequence(new DERSet(new DERSequence(v)))))
- {
- fail("inequality test with sequence and bad sequence");
- }
-
- if (name1.equals(null))
- {
- fail("inequality test with null");
- }
-
-// if (name1.equals(null, true))
-// {
-// fail("inequality test with null");
-// }
-
- //
- // this is contrived but it checks sorting of sets with equal elements
- //
- unsorted = new X500Name("CN=AA + CN=AA + CN=AA");
-
- ASN1ObjectIdentifier[] types = unsorted.getAttributeTypes();
- if (types.length != 3 || !types[0].equals(BCStyle.CN) || !types[1].equals(BCStyle.CN) || !types[2].equals(BCStyle.CN))
- {
- fail("types not matched correctly");
- }
-
- // general type test
- X500Name nested = new X500Name("CN=AA + CN=AA, C=AU");
-
- types = nested.getAttributeTypes();
- if (types.length != 3 || !types[0].equals(BCStyle.CN) || !types[1].equals(BCStyle.CN) || !types[2].equals(BCStyle.C))
- {
- fail("nested types not matched correctly");
- }
- //
- // tagging test - only works if CHOICE implemented
- //
- ASN1TaggedObject tag = new DERTaggedObject(false, 1, new X500Name("CN=AA"));
-
- if (!tag.isExplicit())
- {
- fail("failed to explicitly tag CHOICE object");
- }
-
- X500Name name = X500Name.getInstance(tag, false);
-
- if (!name.equals(new X500Name("CN=AA")))
- {
- fail("failed to recover tagged name");
- }
-
- DERUTF8String testString = new DERUTF8String("The Legion of the Bouncy Castle");
- byte[] encodedBytes = testString.getEncoded();
- byte[] hexEncodedBytes = Hex.encode(encodedBytes);
- String hexEncodedString = "#" + new String(hexEncodedBytes);
-
- DERUTF8String converted = (DERUTF8String)
- new X509DefaultEntryConverter().getConvertedValue(
- BCStyle.L , hexEncodedString);
-
- if (!converted.equals(testString))
- {
- fail("failed X509DefaultEntryConverter test");
- }
-
- //
- // try escaped.
- //
- converted = (DERUTF8String)
- new X509DefaultEntryConverter().getConvertedValue(
- BCStyle.L , "\\" + hexEncodedString);
-
- if (!converted.equals(new DERUTF8String(hexEncodedString)))
- {
- fail("failed X509DefaultEntryConverter test got " + converted + " expected: " + hexEncodedString);
- }
-
- //
- // try a weird value
- //
- X500Name n = new X500Name("CN=\\#nothex#string");
-
- if (!n.toString().equals("CN=\\#nothex#string"))
- {
- fail("# string not properly escaped.");
- }
-
- RDN[] vls = n.getRDNs(BCStyle.CN);
- if (vls.length != 1 || !getValue(vls[0]).equals("#nothex#string"))
- {
- fail("escaped # not reduced properly");
- }
-
- types = n.getAttributeTypes();
- if (types.length != 1 || !types[0].equals(BCStyle.CN))
- {
- fail("type not matched correctly");
- }
-
- n = new X500Name("CN=\"a+b\"");
-
- vls = n.getRDNs(BCStyle.CN);
- if (vls.length != 1 || !getValue(vls[0]).equals("a+b"))
- {
- fail("escaped + not reduced properly");
- }
-
- n = new X500Name("CN=a\\+b");
-
- vls = n.getRDNs(BCStyle.CN);
- if (vls.length != 1 || !getValue(vls[0]).equals("a+b"))
- {
- fail("escaped + not reduced properly");
- }
-
- if (!n.toString().equals("CN=a\\+b"))
- {
- fail("+ in string not properly escaped.");
- }
-
- n = new X500Name("CN=a\\=b");
-
- vls = n.getRDNs(BCStyle.CN);
- if (vls.length != 1 || !getValue(vls[0]).equals("a=b"))
- {
- fail("escaped = not reduced properly");
- }
-
- if (!n.toString().equals("CN=a\\=b"))
- {
- fail("= in string not properly escaped.");
- }
-
- n = new X500Name("TELEPHONENUMBER=\"+61999999999\"");
-
- vls = n.getRDNs(BCStyle.TELEPHONE_NUMBER);
- if (vls.length != 1 || !getValue(vls[0]).equals("+61999999999"))
- {
- fail("telephonenumber escaped + not reduced properly");
- }
-
- n = new X500Name("TELEPHONENUMBER=\\+61999999999");
-
- vls = n.getRDNs(BCStyle.TELEPHONE_NUMBER);
- if (vls.length != 1 || !getValue(vls[0]).equals("+61999999999"))
- {
- fail("telephonenumber escaped + not reduced properly");
- }
-
- // test query methods
- if (!"E".equals(BCStyle.INSTANCE.oidToDisplayName(BCStyle.EmailAddress)))
- {
- fail("display name for E incorrect");
- }
-
- String[] aliases = BCStyle.INSTANCE.oidToAttrNames(BCStyle.EmailAddress);
- if (aliases.length != 2)
- {
- fail("no aliases found");
- }
- if (!("e".equals(aliases[0]) || "e".equals(aliases[1])))
- {
- fail("first alias name for E incorrect");
- }
- if (!("emailaddress".equals(aliases[0]) || "emailaddress".equals(aliases[1])))
- {
- fail("second alias name for E incorrect");
- }
-
- if (BCStyle.INSTANCE.oidToDisplayName(new ASN1ObjectIdentifier("1.2.1")) != null)
- {
- fail("unknown oid matched!");
- }
-
- if (BCStyle.INSTANCE.oidToAttrNames(new ASN1ObjectIdentifier("1.2.1")).length != 0)
- {
- fail("unknown oid matched aliases!");
- }
-
- if (!new X500Name("CN=\" CA1 - CP.04.03\", OU=Testing, OU=Dod, O=U.S. Government, C=US")
- .equals(new X500Name("CN=\"ca1 - CP.04.03 \", OU=Testing, OU=Dod, O=U.S. Government, C=US")))
- {
- fail("padded equality test failed");
- }
- }
-
- private String getValue(RDN vl)
- {
- return ((ASN1String)vl.getFirst().getValue()).getString();
- }
-
- private void ietfUtilsTest()
- throws Exception
- {
- IETFUtils.valueToString(new DERUTF8String(" "));
- }
-
- /*
- private boolean compareVectors(Vector a, Vector b) // for compatibility with early JDKs
- {
- if (a.size() != b.size())
- {
- return false;
- }
-
- for (int i = 0; i != a.size(); i++)
- {
- if (!a.elementAt(i).equals(b.elementAt(i)))
- {
- return false;
- }
- }
-
- return true;
- }
-
- private void compositeTest()
- throws IOException
- {
- //
- // composite test
- //
- byte[] enc = Hex.decode("305e310b300906035504061302415531283026060355040a0c1f546865204c6567696f6e206f662074686520426f756e637920436173746c653125301006035504070c094d656c626f75726e653011060355040b0c0a4173636f742056616c65");
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(enc));
-
- X500Name n = X500Name.getInstance(aIn.readObject());
-
- if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale"))
- {
- fail("Failed composite to string test got: " + n.toString());
- }
-
- if (!n.toString(true, X500Name.DefaultSymbols).equals("L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU"))
- {
- fail("Failed composite to string test got: " + n.toString(true, X500Name.DefaultSymbols));
- }
-
- n = new X500Name(true, "L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU");
- if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale"))
- {
- fail("Failed composite to string reversal test got: " + n.toString());
- }
-
- n = new X500Name("C=AU, O=The Legion of the Bouncy Castle, L=Melbourne + OU=Ascot Vale");
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(n);
-
- byte[] enc2 = bOut.toByteArray();
-
- if (!Arrays.areEqual(enc, enc2))
- {
- fail("Failed composite string to encoding test");
- }
-
- //
- // dud name test - handle empty DN without barfing.
- //
- n = new X500Name("C=CH,O=,OU=dummy,CN=mail@dummy.com");
-
- n = X500Name.getInstance(ASN1Object.fromByteArray(n.getEncoded()));
- }
- */
- private void equalityTest(X500Name name1, X500Name name2)
- {
- if (!name1.equals(name2))
- {
- fail("equality test failed for " + name1 + " : " + name2);
- }
-
- if (name1.hashCode() != name2.hashCode())
- {
- fail("hashCodeTest test failed for " + name1 + " : " + name2);
- }
- }
-
-
- public static void main(
- String[] args)
- {
- runTest(new X500NameTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/X509ExtensionsTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/X509ExtensionsTest.java
deleted file mode 100644
index 008d4d8..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/X509ExtensionsTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.x509.X509Extensions;
-import org.bouncycastle.asn1.x509.X509ExtensionsGenerator;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class X509ExtensionsTest
- extends SimpleTest
-{
- private static final ASN1ObjectIdentifier OID_2 = new ASN1ObjectIdentifier("1.2.2");
- private static final ASN1ObjectIdentifier OID_3 = new ASN1ObjectIdentifier("1.2.3");
- private static final ASN1ObjectIdentifier OID_1 = new ASN1ObjectIdentifier("1.2.1");
-
- public String getName()
- {
- return "X509Extensions";
- }
-
- public void performTest() throws Exception
- {
- X509ExtensionsGenerator gen = new X509ExtensionsGenerator();
-
- gen.addExtension(OID_1, true, new byte[20]);
- gen.addExtension(OID_2, true, new byte[20]);
-
- X509Extensions ext1 = gen.generate();
- X509Extensions ext2 = gen.generate();
-
- if (!ext1.equals(ext2))
- {
- fail("equals test failed");
- }
-
- gen.reset();
-
- gen.addExtension(OID_2, true, new byte[20]);
- gen.addExtension(OID_1, true, new byte[20]);
-
- ext2 = gen.generate();
-
- if (ext1.equals(ext2))
- {
- fail("inequality test failed");
- }
-
- if (!ext1.equivalent(ext2))
- {
- fail("equivalence true failed");
- }
-
- gen.reset();
-
- gen.addExtension(OID_1, true, new byte[22]);
- gen.addExtension(OID_2, true, new byte[20]);
-
- ext2 = gen.generate();
-
- if (ext1.equals(ext2))
- {
- fail("inequality 1 failed");
- }
-
- if (ext1.equivalent(ext2))
- {
- fail("non-equivalence 1 failed");
- }
-
- gen.reset();
-
- gen.addExtension(OID_3, true, new byte[20]);
- gen.addExtension(OID_2, true, new byte[20]);
-
- ext2 = gen.generate();
-
- if (ext1.equals(ext2))
- {
- fail("inequality 2 failed");
- }
-
- if (ext1.equivalent(ext2))
- {
- fail("non-equivalence 2 failed");
- }
-
- try
- {
- gen.addExtension(OID_2, true, new byte[20]);
- fail("repeated oid");
- }
- catch (IllegalArgumentException e)
- {
- if (!e.getMessage().equals("extension 1.2.2 already added"))
- {
- fail("wrong exception on repeated oid: " + e.getMessage());
- }
- }
- }
-
- public static void main(
- String[] args)
- {
- runTest(new X509ExtensionsTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/X509NameTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/X509NameTest.java
deleted file mode 100644
index f1ae757..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/X509NameTest.java
+++ /dev/null
@@ -1,693 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.bouncycastle.asn1.ASN1Encodable;
-import org.bouncycastle.asn1.ASN1EncodableVector;
-import org.bouncycastle.asn1.ASN1GeneralizedTime;
-import org.bouncycastle.asn1.ASN1InputStream;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1OutputStream;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.ASN1Sequence;
-import org.bouncycastle.asn1.ASN1Set;
-import org.bouncycastle.asn1.DERIA5String;
-import org.bouncycastle.asn1.DERPrintableString;
-import org.bouncycastle.asn1.DERSequence;
-import org.bouncycastle.asn1.DERSet;
-import org.bouncycastle.asn1.DERUTF8String;
-import org.bouncycastle.asn1.x500.X500Name;
-import org.bouncycastle.asn1.x500.X500NameBuilder;
-import org.bouncycastle.asn1.x500.style.BCStyle;
-import org.bouncycastle.asn1.x509.X509DefaultEntryConverter;
-import org.bouncycastle.asn1.x509.X509Name;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class X509NameTest
- extends SimpleTest
-{
- String[] subjects =
- {
- "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Webserver Team,CN=www2.connect4.com.au,E=webmaster@connect4.com.au",
- "C=AU,ST=Victoria,L=South Melbourne,O=Connect 4 Pty Ltd,OU=Certificate Authority,CN=Connect 4 CA,E=webmaster@connect4.com.au",
- "C=AU,ST=QLD,CN=SSLeay/rsa test cert",
- "C=US,O=National Aeronautics and Space Administration,SERIALNUMBER=16+CN=Steve Schoch",
- "E=cooke@issl.atl.hp.com,C=US,OU=Hewlett Packard Company (ISSL),CN=Paul A. Cooke",
- "O=Sun Microsystems Inc,CN=store.sun.com",
- "unstructuredAddress=192.168.1.33,unstructuredName=pixfirewall.ciscopix.com,CN=pixfirewall.ciscopix.com",
- "CN=*.canal-plus.com,OU=Provided by TBS INTERNET http://www.tbs-certificats.com/,OU=\\ CANAL \\+,O=CANAL\\+DISTRIBUTION,L=issy les moulineaux,ST=Hauts de Seine,C=FR",
- "O=Bouncy Castle,CN=www.bouncycastle.org\\ ",
- "O=Bouncy Castle,CN=c:\\\\fred\\\\bob"
- };
-
- public String getName()
- {
- return "X509Name";
- }
-
- private static X509Name fromBytes(
- byte[] bytes)
- throws IOException
- {
- return X509Name.getInstance(new ASN1InputStream(new ByteArrayInputStream(bytes)).readObject());
- }
-
- private ASN1Encodable createEntryValue(ASN1ObjectIdentifier oid, String value)
- {
- Hashtable attrs = new Hashtable();
-
- attrs.put(oid, value);
-
- Vector order = new Vector();
-
- order.addElement(oid);
-
- X509Name name = new X509Name(order, attrs);
-
- ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive();
- ASN1Set set = (ASN1Set)seq.getObjectAt(0);
- seq = (ASN1Sequence)set.getObjectAt(0);
-
- return seq.getObjectAt(1);
- }
-
- private ASN1Encodable createEntryValueFromString(ASN1ObjectIdentifier oid, String value)
- {
- Hashtable attrs = new Hashtable();
-
- attrs.put(oid, value);
-
- Vector order = new Vector();
-
- order.addElement(oid);
-
- X509Name name = new X509Name(new X509Name(order, attrs).toString());
-
- ASN1Sequence seq = (ASN1Sequence)name.toASN1Primitive();
- ASN1Set set = (ASN1Set)seq.getObjectAt(0);
- seq = (ASN1Sequence)set.getObjectAt(0);
-
- return seq.getObjectAt(1);
- }
-
- private void testEncodingPrintableString(ASN1ObjectIdentifier oid, String value)
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof DERPrintableString))
- {
- fail("encoding for " + oid + " not printable string");
- }
- }
-
- private void testEncodingIA5String(ASN1ObjectIdentifier oid, String value)
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof DERIA5String))
- {
- fail("encoding for " + oid + " not IA5String");
- }
- }
-
-
- private void testEncodingUTF8String(ASN1ObjectIdentifier oid, String value)
- throws IOException
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof DERUTF8String))
- {
- fail("encoding for " + oid + " not IA5String");
- }
- if (!value.equals((DERUTF8String.getInstance(converted.toASN1Primitive().getEncoded()).getString())))
- {
- fail("decoding not correct");
- }
- }
-
- private void testEncodingGeneralizedTime(ASN1ObjectIdentifier oid, String value)
- {
- ASN1Encodable converted = createEntryValue(oid, value);
- if (!(converted instanceof ASN1GeneralizedTime))
- {
- fail("encoding for " + oid + " not GeneralizedTime");
- }
- converted = createEntryValueFromString(oid, value);
- if (!(converted instanceof ASN1GeneralizedTime))
- {
- fail("encoding for " + oid + " not GeneralizedTime");
- }
- }
-
- public void performTest()
- throws Exception
- {
- testEncodingPrintableString(X509Name.C, "AU");
- testEncodingPrintableString(X509Name.SERIALNUMBER, "123456");
- testEncodingPrintableString(X509Name.DN_QUALIFIER, "123456");
- testEncodingIA5String(X509Name.EmailAddress, "test@test.com");
- testEncodingIA5String(X509Name.DC, "test");
- // correct encoding
- testEncodingGeneralizedTime(X509Name.DATE_OF_BIRTH, "#180F32303032303132323132323232305A");
- // compatibility encoding
- testEncodingGeneralizedTime(X509Name.DATE_OF_BIRTH, "20020122122220Z");
- testEncodingUTF8String(X509Name.CN, "Mörsky");
- //
- // composite
- //
- Hashtable attrs = new Hashtable();
-
- attrs.put(X509Name.C, "AU");
- attrs.put(X509Name.O, "The Legion of the Bouncy Castle");
- attrs.put(X509Name.L, "Melbourne");
- attrs.put(X509Name.ST, "Victoria");
- attrs.put(X509Name.E, "feedback-crypto@bouncycastle.org");
-
- Vector order = new Vector();
-
- order.addElement(X509Name.C);
- order.addElement(X509Name.O);
- order.addElement(X509Name.L);
- order.addElement(X509Name.ST);
- order.addElement(X509Name.E);
-
- X509Name name1 = new X509Name(order, attrs);
-
- if (!name1.equals(name1))
- {
- fail("Failed same object test");
- }
-
- if (!name1.equals(name1, true))
- {
- fail("Failed same object test - in Order");
- }
-
- X509Name name2 = new X509Name(order, attrs);
-
- if (!name1.equals(name2))
- {
- fail("Failed same name test");
- }
-
- if (!name1.equals(name2, true))
- {
- fail("Failed same name test - in Order");
- }
-
- if (name1.hashCode() != name2.hashCode())
- {
- fail("Failed same name test - in Order");
- }
-
- Vector ord1 = new Vector();
-
- ord1.addElement(X509Name.C);
- ord1.addElement(X509Name.O);
- ord1.addElement(X509Name.L);
- ord1.addElement(X509Name.ST);
- ord1.addElement(X509Name.E);
-
- Vector ord2 = new Vector();
-
- ord2.addElement(X509Name.E);
- ord2.addElement(X509Name.ST);
- ord2.addElement(X509Name.L);
- ord2.addElement(X509Name.O);
- ord2.addElement(X509Name.C);
-
- name1 = new X509Name(ord1, attrs);
- name2 = new X509Name(ord2, attrs);
-
- if (!name1.equals(name2))
- {
- fail("Failed reverse name test");
- }
-
- if (name1.hashCode() != name2.hashCode())
- {
- fail("Failed reverse name test hashCode");
- }
-
- if (name1.equals(name2, true))
- {
- fail("Failed reverse name test - in Order");
- }
-
- if (!name1.equals(name2, false))
- {
- fail("Failed reverse name test - in Order false");
- }
-
- Vector oids = name1.getOIDs();
- if (!compareVectors(oids, ord1))
- {
- fail("oid comparison test");
- }
-
- Vector val1 = new Vector();
-
- val1.addElement("AU");
- val1.addElement("The Legion of the Bouncy Castle");
- val1.addElement("Melbourne");
- val1.addElement("Victoria");
- val1.addElement("feedback-crypto@bouncycastle.org");
-
- name1 = new X509Name(ord1, val1);
-
- Vector values = name1.getValues();
- if (!compareVectors(values, val1))
- {
- fail("value comparison test");
- }
-
- ord2 = new Vector();
-
- ord2.addElement(X509Name.ST);
- ord2.addElement(X509Name.ST);
- ord2.addElement(X509Name.L);
- ord2.addElement(X509Name.O);
- ord2.addElement(X509Name.C);
-
- name1 = new X509Name(ord1, attrs);
- name2 = new X509Name(ord2, attrs);
-
- if (name1.equals(name2))
- {
- fail("Failed different name test");
- }
-
- ord2 = new Vector();
-
- ord2.addElement(X509Name.ST);
- ord2.addElement(X509Name.L);
- ord2.addElement(X509Name.O);
- ord2.addElement(X509Name.C);
-
- name1 = new X509Name(ord1, attrs);
- name2 = new X509Name(ord2, attrs);
-
- if (name1.equals(name2))
- {
- fail("Failed subset name test");
- }
-
- compositeTest();
-
- ByteArrayOutputStream bOut;
- ASN1OutputStream aOut;
- ASN1InputStream aIn;
-
- //
- // getValues test
- //
- Vector v1 = name1.getValues(X509Name.O);
-
- if (v1.size() != 1 || !v1.elementAt(0).equals("The Legion of the Bouncy Castle"))
- {
- fail("O test failed");
- }
-
- Vector v2 = name1.getValues(X509Name.L);
-
- if (v2.size() != 1 || !v2.elementAt(0).equals("Melbourne"))
- {
- fail("L test failed");
- }
-
- //
- // general subjects test
- //
- for (int i = 0; i != subjects.length; i++)
- {
- X509Name name = new X509Name(subjects[i]);
-
- bOut = new ByteArrayOutputStream();
- aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(name);
-
- aIn = new ASN1InputStream(new ByteArrayInputStream(bOut.toByteArray()));
-
- name = X509Name.getInstance(aIn.readObject());
-
- if (!name.toString().equals(subjects[i]))
- {
- fail("failed regeneration test " + i + " got " + name.toString());
- }
- }
-
- //
- // sort test
- //
- X509Name unsorted = new X509Name("SERIALNUMBER=BBB + CN=AA");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB"))
- {
- fail("failed sort test 1");
- }
-
- unsorted = new X509Name("CN=AA + SERIALNUMBER=BBB");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SERIALNUMBER=BBB"))
- {
- fail("failed sort test 2");
- }
-
- unsorted = new X509Name("SERIALNUMBER=B + CN=AA");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA"))
- {
- fail("failed sort test 3");
- }
-
- unsorted = new X509Name("CN=AA + SERIALNUMBER=B");
-
- if (!fromBytes(unsorted.getEncoded()).toString().equals("SERIALNUMBER=B+CN=AA"))
- {
- fail("failed sort test 4");
- }
-
- //
- // equality tests
- //
- equalityTest(new X509Name("CN=The Legion"), new X509Name("CN=The Legion"));
- equalityTest(new X509Name("CN= The Legion"), new X509Name("CN=The Legion"));
- equalityTest(new X509Name("CN=The Legion "), new X509Name("CN=The Legion"));
- equalityTest(new X509Name("CN= The Legion "), new X509Name("CN=The Legion"));
- equalityTest(new X509Name("CN= the legion "), new X509Name("CN=The Legion"));
-
- // # test
-
- X509Name n1 = new X509Name("SERIALNUMBER=8,O=ABC,CN=ABC Class 3 CA,C=LT");
- X509Name n2 = new X509Name("2.5.4.5=8,O=ABC,CN=ABC Class 3 CA,C=LT");
- X509Name n3 = new X509Name("2.5.4.5=#130138,O=ABC,CN=ABC Class 3 CA,C=LT");
-
- equalityTest(n1, n2);
- equalityTest(n2, n3);
- equalityTest(n3, n1);
-
- n1 = new X509Name(true, "2.5.4.5=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT");
- n2 = new X509Name(true, "SERIALNUMBER=#130138,CN=SSC Class 3 CA,O=UAB Skaitmeninio sertifikavimo centras,C=LT");
- n3 = X509Name.getInstance(ASN1Primitive.fromByteArray(Hex.decode("3063310b3009060355040613024c54312f302d060355040a1326"
- + "55414220536b6169746d656e696e696f20736572746966696b6176696d6f2063656e74726173311730150603550403130e53534320436c6173732033204341310a30080603550405130138")));
-
- equalityTest(n1, n2);
- equalityTest(n2, n3);
- equalityTest(n3, n1);
-
- n1 = new X509Name("SERIALNUMBER=8,O=XX,CN=ABC Class 3 CA,C=LT");
- n2 = new X509Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT");
-
- if (n1.equals(n2))
- {
- fail("empty inequality check failed");
- }
-
- n1 = new X509Name("SERIALNUMBER=8,O=,CN=ABC Class 3 CA,C=LT");
- n2 = new X509Name("2.5.4.5=8,O=,CN=ABC Class 3 CA,C=LT");
-
- equalityTest(n1, n2);
-
- //
- // inequality to sequences
- //
- name1 = new X509Name("CN=The Legion");
-
- if (name1.equals(new DERSequence()))
- {
- fail("inequality test with sequence");
- }
-
- if (name1.equals(new DERSequence(new DERSet())))
- {
- fail("inequality test with sequence and set");
- }
-
- ASN1EncodableVector v = new ASN1EncodableVector();
-
- v.add(new ASN1ObjectIdentifier("1.1"));
- v.add(new ASN1ObjectIdentifier("1.1"));
- if (name1.equals(new DERSequence(new DERSet(new DERSet(v)))))
- {
- fail("inequality test with sequence and bad set");
- }
-
- if (name1.equals(new DERSequence(new DERSet(new DERSet(v))), true))
- {
- fail("inequality test with sequence and bad set");
- }
-
- if (name1.equals(new DERSequence(new DERSet(new DERSequence()))))
- {
- fail("inequality test with sequence and short sequence");
- }
-
- if (name1.equals(new DERSequence(new DERSet(new DERSequence())), true))
- {
- fail("inequality test with sequence and short sequence");
- }
-
- v = new ASN1EncodableVector();
-
- v.add(new ASN1ObjectIdentifier("1.1"));
- v.add(new DERSequence());
-
- if (name1.equals(new DERSequence(new DERSet(new DERSequence(v)))))
- {
- fail("inequality test with sequence and bad sequence");
- }
-
- if (name1.equals(null))
- {
- fail("inequality test with null");
- }
-
- if (name1.equals(null, true))
- {
- fail("inequality test with null");
- }
-
- //
- // this is contrived but it checks sorting of sets with equal elements
- //
- unsorted = new X509Name("CN=AA + CN=AA + CN=AA");
-
- //
- // tagging test - only works if CHOICE implemented
- //
- /*
- ASN1TaggedObject tag = new DERTaggedObject(false, 1, new X509Name("CN=AA"));
-
- if (!tag.isExplicit())
- {
- fail("failed to explicitly tag CHOICE object");
- }
-
- X509Name name = X509Name.getInstance(tag, false);
-
- if (!name.equals(new X509Name("CN=AA")))
- {
- fail("failed to recover tagged name");
- }
- */
-
- DERUTF8String testString = new DERUTF8String("The Legion of the Bouncy Castle");
- byte[] encodedBytes = testString.getEncoded();
- byte[] hexEncodedBytes = Hex.encode(encodedBytes);
- String hexEncodedString = "#" + new String(hexEncodedBytes);
-
- DERUTF8String converted = (DERUTF8String)
- new X509DefaultEntryConverter().getConvertedValue(
- X509Name.L , hexEncodedString);
-
- if (!converted.equals(testString))
- {
- fail("failed X509DefaultEntryConverter test");
- }
-
- //
- // try escaped.
- //
- converted = (DERUTF8String)
- new X509DefaultEntryConverter().getConvertedValue(
- X509Name.L , "\\" + hexEncodedString);
-
- if (!converted.equals(new DERUTF8String(hexEncodedString)))
- {
- fail("failed X509DefaultEntryConverter test got " + converted + " expected: " + hexEncodedString);
- }
-
- //
- // try a weird value
- //
- X509Name n = new X509Name("CN=\\#nothex#string");
-
- if (!n.toString().equals("CN=\\#nothex#string"))
- {
- fail("# string not properly escaped.");
- }
-
- Vector vls = n.getValues(X509Name.CN);
- if (vls.size() != 1 || !vls.elementAt(0).equals("#nothex#string"))
- {
- fail("escaped # not reduced properly");
- }
-
- n = new X509Name("CN=\"a+b\"");
-
- vls = n.getValues(X509Name.CN);
- if (vls.size() != 1 || !vls.elementAt(0).equals("a+b"))
- {
- fail("escaped + not reduced properly");
- }
-
- n = new X509Name("CN=a\\+b");
-
- vls = n.getValues(X509Name.CN);
- if (vls.size() != 1 || !vls.elementAt(0).equals("a+b"))
- {
- fail("escaped + not reduced properly");
- }
-
- if (!n.toString().equals("CN=a\\+b"))
- {
- fail("+ in string not properly escaped.");
- }
-
- n = new X509Name("CN=a\\=b");
-
- vls = n.getValues(X509Name.CN);
- if (vls.size() != 1 || !vls.elementAt(0).equals("a=b"))
- {
- fail("escaped = not reduced properly");
- }
-
- if (!n.toString().equals("CN=a\\=b"))
- {
- fail("= in string not properly escaped.");
- }
-
- n = new X509Name("TELEPHONENUMBER=\"+61999999999\"");
-
- vls = n.getValues(X509Name.TELEPHONE_NUMBER);
- if (vls.size() != 1 || !vls.elementAt(0).equals("+61999999999"))
- {
- fail("telephonenumber escaped + not reduced properly");
- }
-
- n = new X509Name("TELEPHONENUMBER=\\+61999999999");
-
- vls = n.getValues(X509Name.TELEPHONE_NUMBER);
- if (vls.size() != 1 || !vls.elementAt(0).equals("+61999999999"))
- {
- fail("telephonenumber escaped + not reduced properly");
- }
-
- // migration
- X500NameBuilder builder = new X500NameBuilder(BCStyle.INSTANCE);
- builder.addMultiValuedRDN(new ASN1ObjectIdentifier[] { BCStyle.CN, BCStyle.SN }, new String[] { "Thomas", "CVR:12341233-UID:1111" });
- builder.addRDN(BCStyle.O, "Test");
- builder.addRDN(BCStyle.C, "DK");
-
- X500Name subject = builder.build();
- ASN1Primitive derObject = subject.toASN1Primitive();
- X509Name instance = X509Name.getInstance(derObject);
- }
-
- private boolean compareVectors(Vector a, Vector b) // for compatibility with early JDKs
- {
- if (a.size() != b.size())
- {
- return false;
- }
-
- for (int i = 0; i != a.size(); i++)
- {
- if (!a.elementAt(i).equals(b.elementAt(i)))
- {
- return false;
- }
- }
-
- return true;
- }
-
- private void compositeTest()
- throws IOException
- {
- //
- // composite test
- //
- byte[] enc = Hex.decode("305e310b300906035504061302415531283026060355040a0c1f546865204c6567696f6e206f662074686520426f756e637920436173746c653125301006035504070c094d656c626f75726e653011060355040b0c0a4173636f742056616c65");
- ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(enc));
-
- X509Name n = X509Name.getInstance(aIn.readObject());
-
- if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale"))
- {
- fail("Failed composite to string test got: " + n.toString());
- }
-
- if (!n.toString(true, X509Name.DefaultSymbols).equals("L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU"))
- {
- fail("Failed composite to string test got: " + n.toString(true, X509Name.DefaultSymbols));
- }
-
- n = new X509Name(true, "L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU");
- if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale"))
- {
- fail("Failed composite to string reversal test got: " + n.toString());
- }
-
- n = new X509Name("C=AU, O=The Legion of the Bouncy Castle, L=Melbourne + OU=Ascot Vale");
-
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
- ASN1OutputStream aOut = new ASN1OutputStream(bOut);
-
- aOut.writeObject(n);
-
- byte[] enc2 = bOut.toByteArray();
-
- if (!Arrays.areEqual(enc, enc2))
- {
- //fail("Failed composite string to encoding test");
- }
-
- //
- // dud name test - handle empty DN without barfing.
- //
- n = new X509Name("C=CH,O=,OU=dummy,CN=mail@dummy.com");
-
- n = X509Name.getInstance(ASN1Primitive.fromByteArray(n.getEncoded()));
- }
-
- private void equalityTest(X509Name x509Name, X509Name x509Name1)
- {
- if (!x509Name.equals(x509Name1))
- {
- fail("equality test failed for " + x509Name + " : " + x509Name1);
- }
-
- if (x509Name.hashCode() != x509Name1.hashCode())
- {
- fail("hashCodeTest test failed for " + x509Name + " : " + x509Name1);
- }
-
- if (!x509Name.equals(x509Name1, true))
- {
- fail("equality test failed for " + x509Name + " : " + x509Name1);
- }
- }
-
-
- public static void main(
- String[] args)
- {
- runTest(new X509NameTest());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/X9Test.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/X9Test.java
deleted file mode 100644
index effe266..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/X9Test.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.bouncycastle.asn1.test;
-
-import java.math.BigInteger;
-
-import org.bouncycastle.asn1.ASN1OctetString;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.DEROctetString;
-import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
-import org.bouncycastle.asn1.sec.ECPrivateKey;
-import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
-import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
-import org.bouncycastle.asn1.x9.X962NamedCurves;
-import org.bouncycastle.asn1.x9.X962Parameters;
-import org.bouncycastle.asn1.x9.X9ECParameters;
-import org.bouncycastle.asn1.x9.X9ECPoint;
-import org.bouncycastle.asn1.x9.X9IntegerConverter;
-import org.bouncycastle.asn1.x9.X9ObjectIdentifiers;
-import org.bouncycastle.math.ec.ECPoint;
-import org.bouncycastle.util.Arrays;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class X9Test
- extends SimpleTest
-{
- private byte[] namedPub = Base64.decode("MDcwEwYHKoZIzj0CAQYIKoZIzj0DAQEDIAADG5xRI+Iki/JrvL20hoDUa7Cggzorv5B9yyqSMjYu");
- private byte[] expPub = Base64.decode(
- "MIH8MIHXBgcqhkjOPQIBMIHLAgEBMCkGByqGSM49AQECHn///////////////3///////4AAAA" +
- "AAAH///////zBXBB5///////////////9///////+AAAAAAAB///////wEHiVXBfoqMGZUsfTL" +
- "A9anUKMMJQEC1JiHF9m6FattPgMVAH1zdBaP/jRxtgqFdoahlHXTv6L/BB8DZ2iujhi7ks/PAF" +
- "yUmqLG2UhT0OZgu/hUsclQX+laAh5///////////////9///+XXetBs6YFfDxDIUZSZVECAQED" +
- "IAADG5xRI+Iki/JrvL20hoDUa7Cggzorv5B9yyqSMjYu");
-
- private byte[] namedPriv = Base64.decode("MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEEHzAdAgEBBB" +
- "gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo=");
-
- private byte[] expPriv = Base64.decode(
- "MIIBBAIBADCB1wYHKoZIzj0CATCBywIBATApBgcqhkjOPQEBAh5///////////////9///////" +
- "+AAAAAAAB///////8wVwQef///////////////f///////gAAAAAAAf//////8BB4lVwX6KjBmVL" +
- "H0ywPWp1CjDCUBAtSYhxfZuhWrbT4DFQB9c3QWj/40cbYKhXaGoZR107+i/wQfA2doro4Yu5LPzw" +
- "BclJqixtlIU9DmYLv4VLHJUF/pWgIef///////////////f///l13rQbOmBXw8QyFGUmVRAgEBBC" +
- "UwIwIBAQQeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU");
-
- private void encodePublicKey()
- throws Exception
- {
- X9ECParameters ecP = X962NamedCurves.getByOID(X9ObjectIdentifiers.prime239v3);
-
- X9IntegerConverter conv = new X9IntegerConverter();
-
- if (conv.getByteLength(ecP.getCurve()) != 30)
- {
- fail("wrong byte length reported for curve");
- }
-
- if (ecP.getCurve().getFieldSize() != 239)
- {
- fail("wrong field size reported for curve");
- }
-
- //
- // named curve
- //
- X962Parameters params = new X962Parameters(X9ObjectIdentifiers.prime192v1);
- ECPoint point = ecP.getG().multiply(BigInteger.valueOf(100));
-
- ASN1OctetString p = new DEROctetString(point.getEncoded(true));
-
- SubjectPublicKeyInfo info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), p.getOctets());
- if (!areEqual(info.getEncoded(), namedPub))
- {
- fail("failed public named generation");
- }
-
- X9ECPoint x9P = new X9ECPoint(ecP.getCurve(), p);
-
- if (!Arrays.areEqual(p.getOctets(), x9P.getPoint().getEncoded()))
- {
- fail("point encoding not preserved");
- }
-
- ASN1Primitive o = ASN1Primitive.fromByteArray(namedPub);
-
- if (!info.equals(o))
- {
- fail("failed public named equality");
- }
-
- //
- // explicit curve parameters
- //
- params = new X962Parameters(ecP);
-
- info = new SubjectPublicKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), p.getOctets());
-
- if (!areEqual(info.getEncoded(), expPub))
- {
- fail("failed public explicit generation");
- }
-
- o = ASN1Primitive.fromByteArray(expPub);
-
- if (!info.equals(o))
- {
- fail("failed public explicit equality");
- }
- }
-
- private void encodePrivateKey()
- throws Exception
- {
- X9ECParameters ecP = X962NamedCurves.getByOID(X9ObjectIdentifiers.prime192v1);
-
- //
- // named curve
- //
- X962Parameters params = new X962Parameters(X9ObjectIdentifiers.prime192v1);
-
- PrivateKeyInfo info = new PrivateKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), new ECPrivateKey(ecP.getCurve().getOrder().bitLength(), BigInteger.valueOf(10)));
-
- if (!areEqual(info.getEncoded(), namedPriv))
- {
- fail("failed private named generation");
- }
-
- ASN1Primitive o = ASN1Primitive.fromByteArray(namedPriv);
-
- if (!info.equals(o))
- {
- fail("failed private named equality");
- }
-
- //
- // explicit curve parameters
- //
- ecP = X962NamedCurves.getByOID(X9ObjectIdentifiers.prime239v3);
-
- params = new X962Parameters(ecP);
-
- info = new PrivateKeyInfo(new AlgorithmIdentifier(X9ObjectIdentifiers.id_ecPublicKey, params), new ECPrivateKey(ecP.getCurve().getOrder().bitLength(), BigInteger.valueOf(20)));
-
- if (!areEqual(info.getEncoded(), expPriv))
- {
- fail("failed private explicit generation");
- }
-
- o = ASN1Primitive.fromByteArray(expPriv);
-
- if (!info.equals(o))
- {
- fail("failed private explicit equality");
- }
- }
-
- public void performTest()
- throws Exception
- {
- encodePublicKey();
- encodePrivateKey();
- }
-
- public String getName()
- {
- return "X9";
- }
-
- public static void main(
- String[] args)
- {
- runTest(new X9Test());
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/package.html b/bcprov/src/main/java/org/bouncycastle/asn1/test/package.html
deleted file mode 100644
index df45e19..0000000
--- a/bcprov/src/main/java/org/bouncycastle/asn1/test/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body bgcolor="#ffffff">
-Test programs for the ASN.1 package.
-</body>
-</html>