org.spongycastle.asn1.x509.CRLReason 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.
package org.spongycastle.asn1.x509;
import java.math.BigInteger;
import java.util.Hashtable;
import org.spongycastle.asn1.ASN1Enumerated;
import org.spongycastle.asn1.ASN1Object;
import org.spongycastle.asn1.ASN1Primitive;
import org.spongycastle.util.Integers;
/**
* The CRLReason enumeration.
*
* CRLReason ::= ENUMERATED {
* unspecified (0),
* keyCompromise (1),
* cACompromise (2),
* affiliationChanged (3),
* superseded (4),
* cessationOfOperation (5),
* certificateHold (6),
* removeFromCRL (8),
* privilegeWithdrawn (9),
* aACompromise (10)
* }
*
*/
public class CRLReason
extends ASN1Object
{
/**
* @deprecated use lower case version
*/
public static final int UNSPECIFIED = 0;
/**
* @deprecated use lower case version
*/
public static final int KEY_COMPROMISE = 1;
/**
* @deprecated use lower case version
*/
public static final int CA_COMPROMISE = 2;
/**
* @deprecated use lower case version
*/
public static final int AFFILIATION_CHANGED = 3;
/**
* @deprecated use lower case version
*/
public static final int SUPERSEDED = 4;
/**
* @deprecated use lower case version
*/
public static final int CESSATION_OF_OPERATION = 5;
/**
* @deprecated use lower case version
*/
public static final int CERTIFICATE_HOLD = 6;
/**
* @deprecated use lower case version
*/
public static final int REMOVE_FROM_CRL = 8;
/**
* @deprecated use lower case version
*/
public static final int PRIVILEGE_WITHDRAWN = 9;
/**
* @deprecated use lower case version
*/
public static final int AA_COMPROMISE = 10;
public static final int unspecified = 0;
public static final int keyCompromise = 1;
public static final int cACompromise = 2;
public static final int affiliationChanged = 3;
public static final int superseded = 4;
public static final int cessationOfOperation = 5;
public static final int certificateHold = 6;
// 7 -> unknown
public static final int removeFromCRL = 8;
public static final int privilegeWithdrawn = 9;
public static final int aACompromise = 10;
private static final String[] reasonString =
{
"unspecified", "keyCompromise", "cACompromise", "affiliationChanged",
"superseded", "cessationOfOperation", "certificateHold", "unknown",
"removeFromCRL", "privilegeWithdrawn", "aACompromise"
};
private static final Hashtable table = new Hashtable();
private ASN1Enumerated value;
public static CRLReason getInstance(Object o)
{
if (o instanceof CRLReason)
{
return (CRLReason)o;
}
else if (o != null)
{
return lookup(ASN1Enumerated.getInstance(o).getValue().intValue());
}
return null;
}
private CRLReason(
int reason)
{
value = new ASN1Enumerated(reason);
}
public String toString()
{
String str;
int reason = getValue().intValue();
if (reason < 0 || reason > 10)
{
str = "invalid";
}
else
{
str = reasonString[reason];
}
return "CRLReason: " + str;
}
public BigInteger getValue()
{
return value.getValue();
}
public ASN1Primitive toASN1Primitive()
{
return value;
}
public static CRLReason lookup(int value)
{
Integer idx = Integers.valueOf(value);
if (!table.containsKey(idx))
{
table.put(idx, new CRLReason(value));
}
return (CRLReason)table.get(idx);
}
}