package org.bouncycastle.asn1.test;
import java.math.BigInteger;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.cmc.PublishTrustAnchors;
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.util.test.SimpleTest;
public class PublishTrustAnchorsTest
extends SimpleTest
{
public static void main(String[] args)
{
runTest(new PublishTrustAnchorsTest());
}
public String getName()
{
return "PublishTrustAnchorsTest";
}
public void performTest()
throws Exception
{
PublishTrustAnchors publishTrustAnchors = new PublishTrustAnchors(
new BigInteger("10"), new AlgorithmIdentifier(PKCSObjectIdentifiers.crlTypes,
new ASN1Integer(5L)), new byte[][]{"cats".getBytes()});
byte[] b = publishTrustAnchors.getEncoded();
PublishTrustAnchors publishTrustAnchorsResult = PublishTrustAnchors.getInstance(b);
isEquals("seqNumber", publishTrustAnchors.getSeqNumber(), publishTrustAnchorsResult.getSeqNumber());
isEquals("hashAlgorithm", publishTrustAnchors.getHashAlgorithm(), publishTrustAnchorsResult.getHashAlgorithm());
isTrue("anchorHashes", areEqual(publishTrustAnchors.getAnchorHashes(), publishTrustAnchorsResult.getAnchorHashes()));
try
{
PublishTrustAnchors.getInstance(new DERSequence());
fail("Sequence must be 3");
}
catch (Throwable t)
{
isEquals("Expect IllegalArgumentException", t.getClass(), IllegalArgumentException.class);
}
}
}