package org.bouncycastle.asn1.x509;
import org.bouncycastle.asn1.DERBitString;
/**
* The ReasonFlags object.
* <pre>
* ReasonFlags ::= BIT STRING {
* unused(0),
* keyCompromise(1),
* cACompromise(2),
* affiliationChanged(3),
* superseded(4),
* cessationOfOperation(5),
* certficateHold(6)
* }
* </pre>
*/
public class ReasonFlags
extends DERBitString
{
public static final int UNUSED = (1 << 7);
public static final int KEY_COMPROMISE = (1 << 6);
public static final int CA_COMPROMISE = (1 << 5);
public static final int AFFILIATION_CHANGED = (1 << 4);
public static final int SUPERSEDED = (1 << 3);
public static final int CESSATION_OF_OPERATION = (1 << 2);
public static final int CERTIFICATE_HOLD = (1 << 1);
public static final int PRIVILEGE_WITHDRAWN = (1 << 0);
public static final int AA_COMPROMISE = (1 << 15);
/**
* @param reasons - the bitwise OR of the Key Reason flags giving the
* allowed uses for the key.
*/
public ReasonFlags(
int reasons)
{
super(getBytes(reasons), getPadBits(reasons));
}
public ReasonFlags(
DERBitString reasons)
{
super(reasons.getBytes(), reasons.getPadBits());
}
}