Home | History | Annotate | Download | only in x509
      1 package org.bouncycastle.asn1.x509;
      2 
      3 import org.bouncycastle.asn1.DEREnumerated;
      4 
      5 /**
      6  * The CRLReason enumeration.
      7  * <pre>
      8  * CRLReason ::= ENUMERATED {
      9  *  unspecified             (0),
     10  *  keyCompromise           (1),
     11  *  cACompromise            (2),
     12  *  affiliationChanged      (3),
     13  *  superseded              (4),
     14  *  cessationOfOperation    (5),
     15  *  certificateHold         (6),
     16  *  removeFromCRL           (8),
     17  *  privilegeWithdrawn      (9),
     18  *  aACompromise           (10)
     19  * }
     20  * </pre>
     21  */
     22 public class CRLReason
     23     extends DEREnumerated
     24 {
     25     /**
     26      * @deprecated use lower case version
     27      */
     28     public static final int UNSPECIFIED = 0;
     29     /**
     30      * @deprecated use lower case version
     31      */
     32     public static final int KEY_COMPROMISE = 1;
     33     /**
     34      * @deprecated use lower case version
     35      */
     36     public static final int CA_COMPROMISE = 2;
     37     /**
     38      * @deprecated use lower case version
     39      */
     40     public static final int AFFILIATION_CHANGED = 3;
     41     /**
     42      * @deprecated use lower case version
     43      */
     44     public static final int SUPERSEDED = 4;
     45     /**
     46      * @deprecated use lower case version
     47      */
     48     public static final int CESSATION_OF_OPERATION  = 5;
     49     /**
     50      * @deprecated use lower case version
     51      */
     52     public static final int CERTIFICATE_HOLD = 6;
     53     /**
     54      * @deprecated use lower case version
     55      */
     56     public static final int REMOVE_FROM_CRL = 8;
     57     /**
     58      * @deprecated use lower case version
     59      */
     60     public static final int PRIVILEGE_WITHDRAWN = 9;
     61     /**
     62      * @deprecated use lower case version
     63      */
     64     public static final int AA_COMPROMISE = 10;
     65 
     66     public static final int unspecified = 0;
     67     public static final int keyCompromise = 1;
     68     public static final int cACompromise = 2;
     69     public static final int affiliationChanged = 3;
     70     public static final int superseded = 4;
     71     public static final int cessationOfOperation  = 5;
     72     public static final int certificateHold = 6;
     73     // 7 -> unknown
     74     public static final int removeFromCRL = 8;
     75     public static final int privilegeWithdrawn = 9;
     76     public static final int aACompromise = 10;
     77 
     78     private static final String[] reasonString =
     79     {
     80         "unspecified", "keyCompromise", "cACompromise", "affiliationChanged",
     81         "superseded", "cessationOfOperation", "certificateHold", "unknown",
     82         "removeFromCRL", "privilegeWithdrawn", "aACompromise"
     83     };
     84 
     85     public CRLReason(
     86         int reason)
     87     {
     88         super(reason);
     89     }
     90 
     91     public CRLReason(
     92         DEREnumerated reason)
     93     {
     94         super(reason.getValue().intValue());
     95     }
     96 
     97     public String toString()
     98     {
     99         String str;
    100         int reason = getValue().intValue();
    101         if (reason < 0 || reason > 10)
    102         {
    103             str = "invalid";
    104         }
    105         else
    106         {
    107             str = reasonString[reason];
    108         }
    109         return "CRLReason: " + str;
    110     }
    111 }
    112