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