1package org.bouncycastle.asn1.x509; 2 3import org.bouncycastle.asn1.DERBitString; 4 5/** 6 * The ReasonFlags object. 7 * <pre> 8 * ReasonFlags ::= BIT STRING { 9 * unused (0), 10 * keyCompromise (1), 11 * cACompromise (2), 12 * affiliationChanged (3), 13 * superseded (4), 14 * cessationOfOperation (5), 15 * certificateHold (6), 16 * privilegeWithdrawn (7), 17 * aACompromise (8) } 18 * </pre> 19 */ 20public class ReasonFlags 21 extends DERBitString 22{ 23 /** 24 * @deprecated use lower case version 25 */ 26 public static final int UNUSED = (1 << 7); 27 /** 28 * @deprecated use lower case version 29 */ 30 public static final int KEY_COMPROMISE = (1 << 6); 31 /** 32 * @deprecated use lower case version 33 */ 34 public static final int CA_COMPROMISE = (1 << 5); 35 /** 36 * @deprecated use lower case version 37 */ 38 public static final int AFFILIATION_CHANGED = (1 << 4); 39 /** 40 * @deprecated use lower case version 41 */ 42 public static final int SUPERSEDED = (1 << 3); 43 /** 44 * @deprecated use lower case version 45 */ 46 public static final int CESSATION_OF_OPERATION = (1 << 2); 47 /** 48 * @deprecated use lower case version 49 */ 50 public static final int CERTIFICATE_HOLD = (1 << 1); 51 /** 52 * @deprecated use lower case version 53 */ 54 public static final int PRIVILEGE_WITHDRAWN = (1 << 0); 55 /** 56 * @deprecated use lower case version 57 */ 58 public static final int AA_COMPROMISE = (1 << 15); 59 60 public static final int unused = (1 << 7); 61 public static final int keyCompromise = (1 << 6); 62 public static final int cACompromise = (1 << 5); 63 public static final int affiliationChanged = (1 << 4); 64 public static final int superseded = (1 << 3); 65 public static final int cessationOfOperation = (1 << 2); 66 public static final int certificateHold = (1 << 1); 67 public static final int privilegeWithdrawn = (1 << 0); 68 public static final int aACompromise = (1 << 15); 69 70 /** 71 * @param reasons - the bitwise OR of the Key Reason flags giving the 72 * allowed uses for the key. 73 */ 74 public ReasonFlags( 75 int reasons) 76 { 77 super(getBytes(reasons), getPadBits(reasons)); 78 } 79 80 public ReasonFlags( 81 DERBitString reasons) 82 { 83 super(reasons.getBytes(), reasons.getPadBits()); 84 } 85} 86