001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 package org.apache.geronimo.crypto.asn1.x509;
019
020 import org.apache.geronimo.crypto.asn1.DERBitString;
021
022 /**
023 * The ReasonFlags object.
024 * <pre>
025 * ReasonFlags ::= BIT STRING {
026 * unused (0),
027 * keyCompromise (1),
028 * cACompromise (2),
029 * affiliationChanged (3),
030 * superseded (4),
031 * cessationOfOperation (5),
032 * certificateHold (6),
033 * privilegeWithdrawn (7),
034 * aACompromise (8) }
035 * </pre>
036 */
037 public class ReasonFlags
038 extends DERBitString
039 {
040 /**
041 * @deprecated use lower case version
042 */
043 public static final int UNUSED = (1 << 7);
044 /**
045 * @deprecated use lower case version
046 */
047 public static final int KEY_COMPROMISE = (1 << 6);
048 /**
049 * @deprecated use lower case version
050 */
051 public static final int CA_COMPROMISE = (1 << 5);
052 /**
053 * @deprecated use lower case version
054 */
055 public static final int AFFILIATION_CHANGED = (1 << 4);
056 /**
057 * @deprecated use lower case version
058 */
059 public static final int SUPERSEDED = (1 << 3);
060 /**
061 * @deprecated use lower case version
062 */
063 public static final int CESSATION_OF_OPERATION = (1 << 2);
064 /**
065 * @deprecated use lower case version
066 */
067 public static final int CERTIFICATE_HOLD = (1 << 1);
068 /**
069 * @deprecated use lower case version
070 */
071 public static final int PRIVILEGE_WITHDRAWN = (1 << 0);
072 /**
073 * @deprecated use lower case version
074 */
075 public static final int AA_COMPROMISE = (1 << 15);
076
077 public static final int unused = (1 << 7);
078 public static final int keyCompromise = (1 << 6);
079 public static final int cACompromise = (1 << 5);
080 public static final int affiliationChanged = (1 << 4);
081 public static final int superseded = (1 << 3);
082 public static final int cessationOfOperation = (1 << 2);
083 public static final int certificateHold = (1 << 1);
084 public static final int privilegeWithdrawn = (1 << 0);
085 public static final int aACompromise = (1 << 15);
086
087 /**
088 * @param reasons - the bitwise OR of the Key Reason flags giving the
089 * allowed uses for the key.
090 */
091 public ReasonFlags(
092 int reasons)
093 {
094 super(getBytes(reasons), getPadBits(reasons));
095 }
096
097 public ReasonFlags(
098 DERBitString reasons)
099 {
100 super(reasons.getBytes(), reasons.getPadBits());
101 }
102 }