org.bouncycastle.asn1.x509.CRLReason Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-debug-jdk18on Show documentation
Show all versions of bcprov-ext-debug-jdk18on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for Java 1.8 and later with debug enabled.
The newest version!
package org.bouncycastle.asn1.x509;
import java.math.BigInteger;
import java.util.Hashtable;
import org.bouncycastle.asn1.ASN1Enumerated;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.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).intValueExact());
}
return null;
}
private CRLReason(
int reason)
{
if (reason < 0)
{
throw new IllegalArgumentException("Invalid CRL reason : not in (0..MAX)");
}
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);
}
}