| package org.bouncycastle.asn1.test; |
| |
| import org.bouncycastle.asn1.ASN1ObjectIdentifier; |
| import org.bouncycastle.asn1.DERSequence; |
| import org.bouncycastle.asn1.cmc.BodyPartID; |
| import org.bouncycastle.asn1.cmc.DecryptedPOP; |
| import org.bouncycastle.asn1.x509.AlgorithmIdentifier; |
| import org.bouncycastle.util.Arrays; |
| import org.bouncycastle.util.test.SimpleTest; |
| |
| public class DecryptedPOPTest |
| extends SimpleTest |
| { |
| public static void main(String[] args) |
| { |
| runTest(new DecryptedPOPTest()); |
| } |
| |
| public String getName() |
| { |
| return "DecryptedPOPTest"; |
| } |
| |
| public void performTest() |
| throws Exception |
| { |
| AlgorithmIdentifier algId = new AlgorithmIdentifier(new ASN1ObjectIdentifier("1.9.8.7.6")); // Not real! |
| DecryptedPOP pop = new DecryptedPOP(new BodyPartID(10L), algId, "cats".getBytes()); |
| byte[] b = pop.getEncoded(); |
| DecryptedPOP popResult = DecryptedPOP.getInstance(b); |
| isEquals("Bodypart id", popResult.getBodyPartID(), pop.getBodyPartID()); |
| isTrue("The POP", Arrays.areEqual(popResult.getThePOP(), pop.getThePOP())); |
| isEquals("POP Result", popResult.getThePOPAlgID(), pop.getThePOPAlgID()); |
| |
| try |
| { |
| DecryptedPOP.getInstance(new DERSequence(new BodyPartID(10L))); |
| fail("Sequence must be 3 elements long"); |
| } |
| catch (Throwable t) |
| { |
| isEquals(t.getClass(), IllegalArgumentException.class); |
| } |
| } |
| } |