diff options
author | Sergio Giro <sgiro@google.com> | 2016-02-01 18:52:42 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-02-01 18:52:42 +0000 |
commit | 9218edabd1ef9852bc2f13115dcadc81b442dd6c (patch) | |
tree | 8229ff72c8cbb06f49dce3a8382930919fa6fc2b /bcpkix/src/main/java/org/bouncycastle/cms/test/ConverterTest.java | |
parent | 9b30eb05e5be69d51881a0d1b31e503e97acd784 (diff) | |
parent | 397d32894b89b506dc318e0f83446187c9b76ebe (diff) | |
download | android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.tar.gz android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.tar.bz2 android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.zip |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge-152-from-upstream"
Diffstat (limited to 'bcpkix/src/main/java/org/bouncycastle/cms/test/ConverterTest.java')
-rw-r--r-- | bcpkix/src/main/java/org/bouncycastle/cms/test/ConverterTest.java | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/bcpkix/src/main/java/org/bouncycastle/cms/test/ConverterTest.java b/bcpkix/src/main/java/org/bouncycastle/cms/test/ConverterTest.java new file mode 100644 index 0000000..534d0dd --- /dev/null +++ b/bcpkix/src/main/java/org/bouncycastle/cms/test/ConverterTest.java @@ -0,0 +1,111 @@ +package org.bouncycastle.cms.test; + +import java.math.BigInteger; +import java.security.cert.X509CertSelector; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; +import org.bouncycastle.asn1.DEROctetString; +import org.bouncycastle.asn1.x500.X500Name; +import org.bouncycastle.cms.KeyTransRecipientId; +import org.bouncycastle.cms.SignerId; +import org.bouncycastle.cms.jcajce.JcaSelectorConverter; +import org.bouncycastle.cms.jcajce.JcaX509CertSelectorConverter; +import org.bouncycastle.util.Arrays; + +public class ConverterTest + extends TestCase +{ + public void testSignerIdConversion() + throws Exception + { + JcaX509CertSelectorConverter converter = new JcaX509CertSelectorConverter(); + JcaSelectorConverter toSelector = new JcaSelectorConverter(); + + SignerId sid1 = new SignerId(new X500Name("CN=Test"), BigInteger.valueOf(1), new byte[20]); + + X509CertSelector conv = converter.getCertSelector(sid1); + + assertTrue(conv.getIssuerAsString().equals("CN=Test")); + assertTrue(Arrays.areEqual(conv.getSubjectKeyIdentifier(), new DEROctetString(new byte[20]).getEncoded())); + assertEquals(conv.getSerialNumber(), sid1.getSerialNumber()); + + SignerId sid2 = toSelector.getSignerId(conv); + + assertEquals(sid1, sid2); + + sid1 = new SignerId(new X500Name("CN=Test"), BigInteger.valueOf(1)); + + conv = converter.getCertSelector(sid1); + + assertTrue(conv.getIssuerAsString().equals("CN=Test")); + assertNull(conv.getSubjectKeyIdentifier()); + assertEquals(conv.getSerialNumber(), sid1.getSerialNumber()); + + sid2 = toSelector.getSignerId(conv); + + assertEquals(sid1, sid2); + + sid1 = new SignerId(new byte[20]); + + conv = converter.getCertSelector(sid1); + + assertNull(conv.getIssuerAsString()); + assertTrue(Arrays.areEqual(conv.getSubjectKeyIdentifier(), new DEROctetString(new byte[20]).getEncoded())); + assertNull(conv.getSerialNumber()); + + sid2 = toSelector.getSignerId(conv); + + assertEquals(sid1, sid2); + } + + public void testRecipientIdConversion() + throws Exception + { + JcaX509CertSelectorConverter converter = new JcaX509CertSelectorConverter(); + JcaSelectorConverter toSelector = new JcaSelectorConverter(); + + KeyTransRecipientId ktid1 = new KeyTransRecipientId(new X500Name("CN=Test"), BigInteger.valueOf(1), new byte[20]); + + X509CertSelector conv = converter.getCertSelector(ktid1); + + assertTrue(conv.getIssuerAsString().equals("CN=Test")); + assertTrue(Arrays.areEqual(conv.getSubjectKeyIdentifier(), new DEROctetString(new byte[20]).getEncoded())); + assertEquals(conv.getSerialNumber(), ktid1.getSerialNumber()); + + KeyTransRecipientId ktid2 = toSelector.getKeyTransRecipientId(conv); + + assertEquals(ktid1, ktid2); + + ktid1 = new KeyTransRecipientId(new X500Name("CN=Test"), BigInteger.valueOf(1)); + + conv = converter.getCertSelector(ktid1); + + assertTrue(conv.getIssuerAsString().equals("CN=Test")); + assertNull(conv.getSubjectKeyIdentifier()); + assertEquals(conv.getSerialNumber(), ktid1.getSerialNumber()); + + ktid2 = toSelector.getKeyTransRecipientId(conv); + + assertEquals(ktid1, ktid2); + + ktid1 = new KeyTransRecipientId(new byte[20]); + + conv = converter.getCertSelector(ktid1); + + assertNull(conv.getIssuerAsString()); + assertTrue(Arrays.areEqual(conv.getSubjectKeyIdentifier(), new DEROctetString(new byte[20]).getEncoded())); + assertNull(conv.getSerialNumber()); + + ktid2 = toSelector.getKeyTransRecipientId(conv); + + assertEquals(ktid1, ktid2); + } + + public static Test suite() + throws Exception + { + return new TestSuite(ConverterTest.class); + } +} |