com.ibm.security12.sun.security.x509
Class KeyUsageExtension

java.lang.Object
  |
  +--com.ibm.security12.sun.security.x509.Extension
        |
        +--com.ibm.security12.sun.security.x509.KeyUsageExtension

public class KeyUsageExtension
extends Extension
implements CertAttrSet

Represent the Key Usage Extension.

This extension, if present, defines the purpose (e.g., encipherment, signature, certificate signing) of the key contained in the certificate. The usage restriction might be employed when a multipurpose key is to be restricted (e.g., when an RSA key should be used only for signing or only for key encipherment).

Version:
1.14
Author:
Amit Kapoor, Hemma Prafullchandra
See Also:
Extension, CertAttrSet

Field Summary
static String CRL_SIGN
           
static String DATA_ENCIPHERMENT
           
static String DECIPHER_ONLY
           
static String DIGITAL_SIGNATURE
           
static String ENCIPHER_ONLY
           
static String IDENT
          Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.
static String KEY_AGREEMENT
           
static String KEY_CERTSIGN
           
static String KEY_ENCIPHERMENT
           
static String NAME
          Attribute names.
static String NON_REPUDIATION
           
 
Fields inherited from class com.ibm.security12.sun.security.x509.Extension
critical, extensionId, extensionValue
 
Constructor Summary
KeyUsageExtension()
          Create a default key usage.
KeyUsageExtension(BitArray bitString)
          Create a KeyUsageExtension with the passed bit settings.
KeyUsageExtension(boolean[] bitString)
          Create a KeyUsageExtension with the passed bit settings.
KeyUsageExtension(Boolean critical, Object value)
          Create the extension from the passed DER encoded value of the same.
KeyUsageExtension(byte[] bitString)
          Create a KeyUsageExtension with the passed bit settings.
 
Method Summary
 void decode(InputStream in)
          Decode the extension from the InputStream.
 void delete(String name)
          Delete the attribute value.
 void encode(OutputStream out)
          Write the extension to the DerOutputStream.
 Object get(String name)
          Get the attribute value.
 boolean[] getBits()
           
 Enumeration getElements()
          Return an enumeration of names of attributes existing within this attribute.
 String getName()
          Return the name of this attribute.
 void set(String name, Object obj)
          Set the attribute value.
 String toString()
          Returns a printable representation of the KeyUsage.
 
Methods inherited from class com.ibm.security12.sun.security.x509.Extension
encode, equals, getExtensionId, getExtensionValue, hashCode, isCritical
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

IDENT

public static final String IDENT
Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.

NAME

public static final String NAME
Attribute names.

DIGITAL_SIGNATURE

public static final String DIGITAL_SIGNATURE

NON_REPUDIATION

public static final String NON_REPUDIATION

KEY_ENCIPHERMENT

public static final String KEY_ENCIPHERMENT

DATA_ENCIPHERMENT

public static final String DATA_ENCIPHERMENT

KEY_AGREEMENT

public static final String KEY_AGREEMENT

KEY_CERTSIGN

public static final String KEY_CERTSIGN

CRL_SIGN

public static final String CRL_SIGN

ENCIPHER_ONLY

public static final String ENCIPHER_ONLY

DECIPHER_ONLY

public static final String DECIPHER_ONLY
Constructor Detail

KeyUsageExtension

public KeyUsageExtension(byte[] bitString)
                  throws IOException
Create a KeyUsageExtension with the passed bit settings. The criticality is set to true.
Parameters:
bitString - the bits to be set for the extension.

KeyUsageExtension

public KeyUsageExtension(boolean[] bitString)
                  throws IOException
Create a KeyUsageExtension with the passed bit settings. The criticality is set to true.
Parameters:
bitString - the bits to be set for the extension.

KeyUsageExtension

public KeyUsageExtension(BitArray bitString)
                  throws IOException
Create a KeyUsageExtension with the passed bit settings. The criticality is set to true.
Parameters:
bitString - the bits to be set for the extension.

KeyUsageExtension

public KeyUsageExtension(Boolean critical,
                         Object value)
                  throws IOException
Create the extension from the passed DER encoded value of the same. The DER encoded value may be wrapped in an OCTET STRING.
Parameters:
critical - true if the extension is to be treated as critical.
value - Array of DER encoded bytes of the actual value (possibly wrapped in an OCTET STRING).
Throws:
IOException - on error.

KeyUsageExtension

public KeyUsageExtension()
Create a default key usage.
Method Detail

set

public void set(String name,
                Object obj)
         throws IOException
Set the attribute value.
Specified by:
set in interface CertAttrSet

get

public Object get(String name)
           throws IOException
Get the attribute value.
Specified by:
get in interface CertAttrSet

delete

public void delete(String name)
            throws IOException
Delete the attribute value.
Specified by:
delete in interface CertAttrSet

toString

public String toString()
Returns a printable representation of the KeyUsage.
Specified by:
toString in interface CertAttrSet
Overrides:
toString in class Extension

decode

public void decode(InputStream in)
            throws IOException
Decode the extension from the InputStream.
Specified by:
decode in interface CertAttrSet
Parameters:
in - the InputStream to unmarshal the contents from.
Throws:
IOException - on decoding or validity errors.

encode

public void encode(OutputStream out)
            throws IOException
Write the extension to the DerOutputStream.
Specified by:
encode in interface CertAttrSet
Parameters:
out - the DerOutputStream to write the extension to.
Throws:
IOException - on encoding errors.

getElements

public Enumeration getElements()
Return an enumeration of names of attributes existing within this attribute.
Specified by:
getElements in interface CertAttrSet

getBits

public boolean[] getBits()

getName

public String getName()
Return the name of this attribute.
Specified by:
getName in interface CertAttrSet