Package netscape.security.x509
Class KeyUsageExtension
- java.lang.Object
-
- netscape.security.x509.Extension
-
- netscape.security.x509.KeyUsageExtension
-
- All Implemented Interfaces:
java.io.Serializable
,CertAttrSet
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.9
- Author:
- Amit Kapoor, Hemma Prafullchandra
- See Also:
Extension
,CertAttrSet
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CRL_SIGN
static int
CRL_SIGN_BIT
static java.lang.String
DATA_ENCIPHERMENT
static int
DATA_ENCIPHERMENT_BIT
static java.lang.String
DECIPHER_ONLY
static int
DECIPHER_ONLY_BIT
static java.lang.String
DIGITAL_SIGNATURE
static int
DIGITAL_SIGNATURE_BIT
static java.lang.String
ENCIPHER_ONLY
static int
ENCIPHER_ONLY_BIT
static java.lang.String
IDENT
Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.static java.lang.String
KEY_AGREEMENT
static int
KEY_AGREEMENT_BIT
static java.lang.String
KEY_CERTSIGN
static int
KEY_CERTSIGN_BIT
static java.lang.String
KEY_ENCIPHERMENT
static int
KEY_ENCIPHERMENT_BIT
static java.lang.String
NAME
Attribute names.static java.lang.String[]
names
static int
NBITS
static java.lang.String
NON_REPUDIATION
static int
NON_REPUDIATION_BIT
-
Fields inherited from class netscape.security.x509.Extension
critical, extensionId, extensionValue
-
-
Constructor Summary
Constructors Constructor Description KeyUsageExtension()
Create a default key usage.KeyUsageExtension(boolean[] bitString)
KeyUsageExtension(boolean critical, boolean[] bitString)
Create a KeyUsageExtension with the passed bit settings.KeyUsageExtension(boolean critical, byte[] bitString)
Create a KeyUsageExtension with the passed bit settings.KeyUsageExtension(byte[] bitString)
KeyUsageExtension(java.lang.Boolean critical, java.lang.Object value)
Create the extension from the passed DER encoded value of the same.KeyUsageExtension(BitArray bitString)
Create a KeyUsageExtension with the passed bit settings.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
decode(java.io.InputStream in)
Decode the extension from the InputStream.void
delete(java.lang.String name)
Delete the attribute value.void
encode(java.io.OutputStream out)
Write the extension to the DerOutputStream.java.lang.Object
get(java.lang.String name)
Get the attribute value.java.util.Enumeration<java.lang.String>
getAttributeNames()
Return an enumeration of names of attributes existing within this attribute.boolean[]
getBits()
java.lang.String
getName()
Return the name of this attribute.void
set(java.lang.String name, java.lang.Object obj)
Set the attribute value.java.lang.String
toString()
Returns a printable representation of the KeyUsage.-
Methods inherited from class netscape.security.x509.Extension
clearValue, encode, getExtensionId, getExtensionValue, isCritical, setCritical, setExtensionId, setExtensionValue
-
-
-
-
Field Detail
-
IDENT
public static final java.lang.String IDENT
Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.- See Also:
- Constant Field Values
-
NAME
public static final java.lang.String NAME
Attribute names.- See Also:
- Constant Field Values
-
DIGITAL_SIGNATURE
public static final java.lang.String DIGITAL_SIGNATURE
- See Also:
- Constant Field Values
-
NON_REPUDIATION
public static final java.lang.String NON_REPUDIATION
- See Also:
- Constant Field Values
-
KEY_ENCIPHERMENT
public static final java.lang.String KEY_ENCIPHERMENT
- See Also:
- Constant Field Values
-
DATA_ENCIPHERMENT
public static final java.lang.String DATA_ENCIPHERMENT
- See Also:
- Constant Field Values
-
KEY_AGREEMENT
public static final java.lang.String KEY_AGREEMENT
- See Also:
- Constant Field Values
-
KEY_CERTSIGN
public static final java.lang.String KEY_CERTSIGN
- See Also:
- Constant Field Values
-
CRL_SIGN
public static final java.lang.String CRL_SIGN
- See Also:
- Constant Field Values
-
ENCIPHER_ONLY
public static final java.lang.String ENCIPHER_ONLY
- See Also:
- Constant Field Values
-
DECIPHER_ONLY
public static final java.lang.String DECIPHER_ONLY
- See Also:
- Constant Field Values
-
DIGITAL_SIGNATURE_BIT
public static final int DIGITAL_SIGNATURE_BIT
- See Also:
- Constant Field Values
-
NON_REPUDIATION_BIT
public static final int NON_REPUDIATION_BIT
- See Also:
- Constant Field Values
-
KEY_ENCIPHERMENT_BIT
public static final int KEY_ENCIPHERMENT_BIT
- See Also:
- Constant Field Values
-
DATA_ENCIPHERMENT_BIT
public static final int DATA_ENCIPHERMENT_BIT
- See Also:
- Constant Field Values
-
KEY_AGREEMENT_BIT
public static final int KEY_AGREEMENT_BIT
- See Also:
- Constant Field Values
-
KEY_CERTSIGN_BIT
public static final int KEY_CERTSIGN_BIT
- See Also:
- Constant Field Values
-
CRL_SIGN_BIT
public static final int CRL_SIGN_BIT
- See Also:
- Constant Field Values
-
ENCIPHER_ONLY_BIT
public static final int ENCIPHER_ONLY_BIT
- See Also:
- Constant Field Values
-
DECIPHER_ONLY_BIT
public static final int DECIPHER_ONLY_BIT
- See Also:
- Constant Field Values
-
NBITS
public static final int NBITS
- See Also:
- Constant Field Values
-
names
public static java.lang.String[] names
-
-
Constructor Detail
-
KeyUsageExtension
public KeyUsageExtension(boolean critical, byte[] bitString) throws java.io.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.- Throws:
java.io.IOException
-
KeyUsageExtension
public KeyUsageExtension(byte[] bitString) throws java.io.IOException
- Throws:
java.io.IOException
-
KeyUsageExtension
public KeyUsageExtension(boolean critical, boolean[] bitString) throws java.io.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.- Throws:
java.io.IOException
-
KeyUsageExtension
public KeyUsageExtension(boolean[] bitString) throws java.io.IOException
- Throws:
java.io.IOException
-
KeyUsageExtension
public KeyUsageExtension(BitArray bitString) throws java.io.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.- Throws:
java.io.IOException
-
KeyUsageExtension
public KeyUsageExtension(java.lang.Boolean critical, java.lang.Object value) throws java.io.IOException
Create the extension from the passed DER encoded value of the same.- Parameters:
critical
- true if the extension is to be treated as critical.value
- Array of DER encoded bytes of the actual value.- Throws:
java.io.IOException
- on error.
-
KeyUsageExtension
public KeyUsageExtension()
Create a default key usage.
-
-
Method Detail
-
set
public void set(java.lang.String name, java.lang.Object obj) throws java.io.IOException
Set the attribute value.- Specified by:
set
in interfaceCertAttrSet
- Parameters:
name
- the name of the attribute (e.g. "x509.info.key")obj
- the attribute object.- Throws:
java.io.IOException
- on other errors.
-
get
public java.lang.Object get(java.lang.String name) throws java.io.IOException
Get the attribute value.- Specified by:
get
in interfaceCertAttrSet
- Parameters:
name
- the name of the attribute to return.- Throws:
java.io.IOException
- on other errors.
-
delete
public void delete(java.lang.String name) throws java.io.IOException
Delete the attribute value.- Specified by:
delete
in interfaceCertAttrSet
- Parameters:
name
- the name of the attribute to delete.- Throws:
java.io.IOException
- on other errors.
-
toString
public java.lang.String toString()
Returns a printable representation of the KeyUsage.- Specified by:
toString
in interfaceCertAttrSet
- Overrides:
toString
in classExtension
- Returns:
- value of this certificate attribute in printable form.
-
decode
public void decode(java.io.InputStream in) throws java.io.IOException
Decode the extension from the InputStream.- Specified by:
decode
in interfaceCertAttrSet
- Parameters:
in
- the InputStream to unmarshal the contents from.- Throws:
java.io.IOException
- on decoding or validity errors.
-
encode
public void encode(java.io.OutputStream out) throws java.io.IOException
Write the extension to the DerOutputStream.- Specified by:
encode
in interfaceCertAttrSet
- Parameters:
out
- the DerOutputStream to write the extension to.- Throws:
java.io.IOException
- on encoding errors.
-
getAttributeNames
public java.util.Enumeration<java.lang.String> getAttributeNames()
Return an enumeration of names of attributes existing within this attribute.- Specified by:
getAttributeNames
in interfaceCertAttrSet
- Returns:
- an enumeration of the attribute names.
-
getBits
public boolean[] getBits()
-
getName
public java.lang.String getName()
Return the name of this attribute.- Specified by:
getName
in interfaceCertAttrSet
- Returns:
- the name of this CertAttrSet.
-
-