2003/02/12 06:21:04
[org.ibex.core.git] / src / org / bouncycastle / asn1 / x509 / ReasonFlags.java
index 568cf1f..0e8ac27 100644 (file)
@@ -5,12 +5,15 @@ import org.bouncycastle.asn1.*;
 public class ReasonFlags
     extends DERBitString
 {
-    public static final int KEY_COMPROMISE          = 1;
-    public static final int CA_COMPROMISE           = (1 << 2);
-    public static final int AFFILIATION_CHANGED     = (1 << 3);
-    public static final int SUPERSEDED              = (1 << 4);
-    public static final int CESSATION_OF_OPERATION  = (1 << 5);
-    public static final int CERTIFICATE_HOLD        = (1 << 6);
+    public static final int UNUSED                  = (1 << 7);
+    public static final int KEY_COMPROMISE          = (1 << 6);
+    public static final int CA_COMPROMISE           = (1 << 5);
+    public static final int AFFILIATION_CHANGED     = (1 << 4);
+    public static final int SUPERSEDED              = (1 << 3);
+    public static final int CESSATION_OF_OPERATION  = (1 << 2);
+    public static final int CERTIFICATE_HOLD        = (1 << 1);
+    public static final int PRIVILEGE_WITHDRAWN     = (1 << 0);
+    public static final int AA_COMPROMISE           = (1 << 15);
 
     /**
      * <pre>
@@ -24,10 +27,18 @@ public class ReasonFlags
      *    certficateHold(6)
      * }
      * </pre>
+     * @param reasons - the bitwise OR of the Key Reason flags giving the
+     * allowed uses for the key.
      */
     public ReasonFlags(
         int reasons)
     {
-        super((byte)reasons, 1);
+        super(getBytes(reasons), getPadBits(reasons));
+    }
+
+    public ReasonFlags(
+        DERBitString reasons)
+    {
+        super(reasons.getBytes(), reasons.getPadBits());
     }
 }