/* * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Sun designates this * particular file as subject to the "Classpath" exception as provided * by Sun in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. */ package sun.security.x509; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import sun.security.util.*; /** * Represent the CRL Reason Flags. * *
This extension, if present, defines the identifies * the reason for the certificate revocation. *
The ASN.1 syntax for this is: *
* ReasonFlags ::= BIT STRING {
* unused (0),
* keyCompromise (1),
* cACompromise (2),
* affiliationChanged (3),
* superseded (4),
* cessationOfOperation (5),
* certificateHold (6),
* privilegeWithdrawn (7),
* aACompromise (8) }
*
*
* @author Hemma Prafullchandra
*/
public class ReasonFlags {
/**
* Reasons
*/
public static final String UNUSED = "unused";
public static final String KEY_COMPROMISE = "key_compromise";
public static final String CA_COMPROMISE = "ca_compromise";
public static final String AFFILIATION_CHANGED = "affiliation_changed";
public static final String SUPERSEDED = "superseded";
public static final String CESSATION_OF_OPERATION
= "cessation_of_operation";
public static final String CERTIFICATE_HOLD = "certificate_hold";
public static final String PRIVILEGE_WITHDRAWN = "privilege_withdrawn";
public static final String AA_COMPROMISE = "aa_compromise";
private final static String[] NAMES = {
UNUSED,
KEY_COMPROMISE,
CA_COMPROMISE,
AFFILIATION_CHANGED,
SUPERSEDED,
CESSATION_OF_OPERATION,
CERTIFICATE_HOLD,
PRIVILEGE_WITHDRAWN,
AA_COMPROMISE,
};
private static int name2Index(String name) throws IOException {
for( int i=0; i