Class SubjectKeyIdentifierExtension

java.lang.Object
org.mozilla.jss.netscape.security.x509.Extension
org.mozilla.jss.netscape.security.x509.SubjectKeyIdentifierExtension
All Implemented Interfaces:
Serializable, CertAttrSet

public class SubjectKeyIdentifierExtension extends Extension implements CertAttrSet
Represent the Subject Key Identifier Extension. This extension, if present, provides a means of identifying the particular public key used in an application. This extension by default is marked non-critical.

Extensions are addiitonal attributes which can be inserted in a X509 v3 certificate. For example a "Driving License Certificate" could have the driving license number as a extension.

Extensions are represented as a sequence of the extension identifier (Object Identifier), a boolean flag stating whether the extension is to be treated as being critical and the extension value itself (this is again a DER encoding of the extension value).

Version:
1.7
See Also:
  • Field Details

  • Constructor Details

    • SubjectKeyIdentifierExtension

      public SubjectKeyIdentifierExtension(boolean critical, byte[] octetString) throws IOException
      Create a SubjectKeyIdentifierExtension with the passed octet string. The criticality is set to False.
      Parameters:
      octetString - the octet string identifying the key identifier.
      Throws:
      IOException
    • SubjectKeyIdentifierExtension

      public SubjectKeyIdentifierExtension(byte[] octetString) throws IOException
      Throws:
      IOException
    • SubjectKeyIdentifierExtension

      public SubjectKeyIdentifierExtension(Boolean critical, Object value) throws IOException
      Create the extension from the passed DER encoded value.
      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.
  • Method Details

    • encodeThis

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

      public String toString()
      Returns a printable representation.
      Specified by:
      toString in interface CertAttrSet
      Overrides:
      toString in class Extension
      Returns:
      value of this certificate attribute in printable form.
    • encode

      public void encode(OutputStream out) throws IOException
      Write the extension to the OutputStream.
      Specified by:
      encode in interface CertAttrSet
      Parameters:
      out - the OutputStream to write the extension to.
      Throws:
      IOException - on encoding errors.
    • 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.
    • 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.
    • 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.
    • getName

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