package org.bouncycastle.asn1.test;
import java.util.Date;
import org.bouncycastle.asn1.ASN1GeneralizedTime;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.cmc.CMCFailInfo;
import org.bouncycastle.asn1.cmc.ExtendedFailInfo;
import org.bouncycastle.asn1.cmc.OtherStatusInfo;
import org.bouncycastle.asn1.cmc.PendInfo;
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
import org.bouncycastle.util.test.SimpleTest;
public class OtherStatusInfoTest
extends SimpleTest
{
public static void main(String[] args)
{
runTest(new OtherStatusInfoTest());
}
public String getName()
{
return "OtherStatusInfoTest";
}
public void performTest()
throws Exception
{
{
OtherStatusInfo ose = OtherStatusInfo.getInstance(CMCFailInfo.badCertId.toASN1Primitive());
byte[] b = ose.getEncoded();
OtherStatusInfo oseResult = OtherStatusInfo.getInstance(b);
isEquals("isFailInfo", oseResult.isFailInfo(), true);
isEquals("isPendInfo", oseResult.isPendingInfo(), false);
isEquals("isExtendedFailInfo", oseResult.isExtendedFailInfo(), false);
isEquals(ose, oseResult);
}
{
OtherStatusInfo ose = OtherStatusInfo.getInstance(new PendInfo("Fish".getBytes(), new ASN1GeneralizedTime(new Date())));
byte[] b = ose.getEncoded();
OtherStatusInfo oseResult = OtherStatusInfo.getInstance(b);
isEquals("isFailInfo", oseResult.isFailInfo(), false);
isEquals("isPendInfo", oseResult.isPendingInfo(), true);
isEquals("isExtendedFailInfo", oseResult.isExtendedFailInfo(), false);
isEquals(ose, oseResult);
}
{
OtherStatusInfo ose = OtherStatusInfo.getInstance(
new ExtendedFailInfo(PKCSObjectIdentifiers.canNotDecryptAny, new ASN1Integer(10L)));
byte[] b = ose.getEncoded();
OtherStatusInfo oseResult = OtherStatusInfo.getInstance(b);
isEquals("isFailInfo", oseResult.isFailInfo(), false);
isEquals("isPendInfo", oseResult.isPendingInfo(), false);
isEquals("isExtendedFailInfo", oseResult.isExtendedFailInfo(), true);
isEquals(ose, oseResult);
}
}
}