ReasonFlags (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.asn1.x509

## Class ReasonFlags

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.ASN1Primitive
    - - org.bouncycastle.asn1.ASN1BitString
      - - org.bouncycastle.asn1.DERBitString
        - - org.bouncycastle.asn1.x509.ReasonFlags

- All Implemented Interfaces:
    ASN1BitStringParser, ASN1Encodable, ASN1String, InMemoryRepresentable, Encodable

      public class ReasonFlags
      extends DERBitString

  The ReasonFlags object.

       ReasonFlags ::= BIT STRING {
            unused                  (0),
            keyCompromise           (1),
            cACompromise            (2),
            affiliationChanged      (3),
            superseded              (4),
            cessationOfOperation    (5),
            certificateHold         (6),
            privilegeWithdrawn      (7),
            aACompromise            (8) }

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `AA_COMPROMISE` Deprecated. use lower case version
    `static int` | `aACompromise`
    `static int` | `AFFILIATION_CHANGED` Deprecated. use lower case version
    `static int` | `affiliationChanged`
    `static int` | `CA_COMPROMISE` Deprecated. use lower case version
    `static int` | `cACompromise`
    `static int` | `CERTIFICATE_HOLD` Deprecated. use lower case version
    `static int` | `certificateHold`
    `static int` | `CESSATION_OF_OPERATION` Deprecated. use lower case version
    `static int` | `cessationOfOperation`
    `static int` | `KEY_COMPROMISE` Deprecated. use lower case version
    `static int` | `keyCompromise`
    `static int` | `PRIVILEGE_WITHDRAWN` Deprecated. use lower case version
    `static int` | `privilegeWithdrawn`
    `static int` | `superseded`
    `static int` | `SUPERSEDED` Deprecated. use lower case version
    `static int` | `unused`
    `static int` | `UNUSED` Deprecated. use lower case version

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReasonFlags(ASN1BitString reasons)`
    `ReasonFlags(int reasons)`

  - ### Method Summary

    - ### Methods inherited from class org.bouncycastle.asn1.DERBitString

      `convert`

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1BitString

      `getBitStream, getBytes, getBytes, getBytesLength, getInstance, getInstance, getLoadedObject, getOctets, getOctetStream, getPadBits, getPadBits, getString, getTagged, hashCode, intValue, isOctetAligned, parser, toString`

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Primitive

      `encodeTo, encodeTo, equals, equals, equals, fromByteArray, fromStream, toASN1Primitive`

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `getEncoded, getEncoded, hasEncodedTagValue`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.bouncycastle.asn1.ASN1Encodable

      `toASN1Primitive`

- - ### Field Detail

    - #### UNUSED

          public static final int UNUSED

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### KEY_COMPROMISE

          public static final int KEY_COMPROMISE

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### CA_COMPROMISE

          public static final int CA_COMPROMISE

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### AFFILIATION_CHANGED

          public static final int AFFILIATION_CHANGED

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### SUPERSEDED

          public static final int SUPERSEDED

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### CESSATION_OF_OPERATION

          public static final int CESSATION_OF_OPERATION

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### CERTIFICATE_HOLD

          public static final int CERTIFICATE_HOLD

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### PRIVILEGE_WITHDRAWN

          public static final int PRIVILEGE_WITHDRAWN

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### AA_COMPROMISE

          public static final int AA_COMPROMISE

      Deprecated. use lower case version
      See Also:
        Constant Field Values

    - #### unused

          public static final int unused

      See Also:
        Constant Field Values

    - #### keyCompromise

          public static final int keyCompromise

      See Also:
        Constant Field Values

    - #### cACompromise

          public static final int cACompromise

      See Also:
        Constant Field Values

    - #### affiliationChanged

          public static final int affiliationChanged

      See Also:
        Constant Field Values

    - #### superseded

          public static final int superseded

      See Also:
        Constant Field Values

    - #### cessationOfOperation

          public static final int cessationOfOperation

      See Also:
        Constant Field Values

    - #### certificateHold

          public static final int certificateHold

      See Also:
        Constant Field Values

    - #### privilegeWithdrawn

          public static final int privilegeWithdrawn

      See Also:
        Constant Field Values

    - #### aACompromise

          public static final int aACompromise

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ReasonFlags

          public ReasonFlags(int reasons)

      Parameters:
        `reasons` - - the bitwise OR of the Key Reason flags giving the allowed uses for the key.

    - #### ReasonFlags

          public ReasonFlags(ASN1BitString reasons)