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