Class KeyUsageExtension

java.lang.Object
org.mozilla.jss.netscape.security.x509.Extension
org.mozilla.jss.netscape.security.x509.KeyUsageExtension
All Implemented Interfaces:
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
See Also:
  • Field Details

  • Constructor Details

    • KeyUsageExtension

      public KeyUsageExtension(boolean critical, 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.
      Throws:
      IOException
    • KeyUsageExtension

      public KeyUsageExtension(byte[] bitString) throws IOException
      Throws:
      IOException
    • KeyUsageExtension

      public KeyUsageExtension(boolean critical, 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.
      Throws:
      IOException
    • KeyUsageExtension

      public KeyUsageExtension(boolean[] bitString) throws IOException
      Throws:
      IOException
    • 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.
      Throws:
      IOException
    • KeyUsageExtension

      public KeyUsageExtension(Boolean critical, Object value) throws 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:
      IOException - on error.
    • KeyUsageExtension

      public KeyUsageExtension()
      Create a default key usage.
  • Method Details

    • encodeThis

      private void encodeThis() throws IOException
      Throws:
      IOException
    • isSet

      private boolean isSet(int position)
      Check if bit is set.
      Parameters:
      position - the position in the bit string to check.
    • set

      private void set(int position, boolean val)
      Set the bit at the specified position.
    • set

      public void set(String name, Object obj) throws IOException
      Set the attribute value.
      Specified by:
      set in interface CertAttrSet
      Parameters:
      name - the name of the attribute (e.g. "x509.info.key")
      obj - the attribute object.
      Throws:
      IOException - on other errors.
    • get

      public Object get(String name) throws IOException
      Get the attribute value.
      Specified by:
      get in interface CertAttrSet
      Parameters:
      name - the name of the attribute to return.
      Returns:
      attribute value
      Throws:
      IOException - on other errors.
    • delete

      public void delete(String name) throws IOException
      Delete the attribute value.
      Specified by:
      delete in interface CertAttrSet
      Parameters:
      name - the name of the attribute to delete.
      Throws:
      IOException - on other errors.
    • toString

      public String toString()
      Returns a printable representation of the KeyUsage.
      Specified by:
      toString in interface CertAttrSet
      Overrides:
      toString in class Extension
      Returns:
      value of this certificate attribute in printable form.
    • 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.
    • getAttributeNames

      public Enumeration<String> getAttributeNames()
      Return an enumeration of names of attributes existing within this attribute.
      Specified by:
      getAttributeNames in interface CertAttrSet
      Returns:
      an enumeration of the attribute names.
    • getBits

      public boolean[] getBits()
    • getName

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