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