
org.spongycastle.asn1.ocsp.CertStatus Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle
intended for the Android platform. Android unfortunately ships with a stripped-down version of
Bouncy Castle, which prevents easy upgrades - Spongy Castle overcomes this and provides a full,
up-to-date version of the Bouncy Castle cryptographic libs.
The newest version!
package org.spongycastle.asn1.ocsp;
import org.spongycastle.asn1.ASN1Choice;
import org.spongycastle.asn1.ASN1Encodable;
import org.spongycastle.asn1.ASN1Object;
import org.spongycastle.asn1.ASN1Primitive;
import org.spongycastle.asn1.ASN1TaggedObject;
import org.spongycastle.asn1.DERNull;
import org.spongycastle.asn1.DERTaggedObject;
public class CertStatus
extends ASN1Object
implements ASN1Choice
{
private int tagNo;
private ASN1Encodable value;
/**
* create a CertStatus object with a tag of zero.
*/
public CertStatus()
{
tagNo = 0;
value = DERNull.INSTANCE;
}
public CertStatus(
RevokedInfo info)
{
tagNo = 1;
value = info;
}
public CertStatus(
int tagNo,
ASN1Encodable value)
{
this.tagNo = tagNo;
this.value = value;
}
private CertStatus(
ASN1TaggedObject choice)
{
this.tagNo = choice.getTagNo();
switch (choice.getTagNo())
{
case 0:
value = DERNull.INSTANCE;
break;
case 1:
value = RevokedInfo.getInstance(choice, false);
break;
case 2:
value = DERNull.INSTANCE;
break;
default:
throw new IllegalArgumentException("Unknown tag encountered: " + choice.getTagNo());
}
}
public static CertStatus getInstance(
Object obj)
{
if (obj == null || obj instanceof CertStatus)
{
return (CertStatus)obj;
}
else if (obj instanceof ASN1TaggedObject)
{
return new CertStatus((ASN1TaggedObject)obj);
}
throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName());
}
public static CertStatus getInstance(
ASN1TaggedObject obj,
boolean explicit)
{
return getInstance(obj.getObject()); // must be explicitly tagged
}
public int getTagNo()
{
return tagNo;
}
public ASN1Encodable getStatus()
{
return value;
}
/**
* Produce an object suitable for an ASN1OutputStream.
*
* CertStatus ::= CHOICE {
* good [0] IMPLICIT NULL,
* revoked [1] IMPLICIT RevokedInfo,
* unknown [2] IMPLICIT UnknownInfo }
*
*/
public ASN1Primitive toASN1Primitive()
{
return new DERTaggedObject(false, tagNo, value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy