Class SubjectAlternativeNameExtension

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

public class SubjectAlternativeNameExtension extends Extension implements CertAttrSet
This represents the Subject Alternative Name Extension. This extension, if present, allows the subject to specify multiple alternative names.

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).

The ASN.1 syntax for this is:

 SubjectAltName ::= GeneralNames
 GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
 
Version:
1.9
See Also:
  • Field Details

  • Constructor Details

    • SubjectAlternativeNameExtension

      public SubjectAlternativeNameExtension(boolean critical, GeneralNames names) throws IOException
      Create a SubjectAlternativeNameExtension with the passed GeneralNames.
      Parameters:
      names - the GeneralNames for the subject.
      Throws:
      IOException - on error.
    • SubjectAlternativeNameExtension

      public SubjectAlternativeNameExtension(GeneralNames names) throws IOException
      Throws:
      IOException
    • SubjectAlternativeNameExtension

      public SubjectAlternativeNameExtension()
      Create a default SubjectAlternativeNameExtension.
    • SubjectAlternativeNameExtension

      public SubjectAlternativeNameExtension(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 of the SubjectAlternativeName.
      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 OutputStream.
      Specified by:
      encode in interface CertAttrSet
      Parameters:
      out - the OutputStream to write the extension to.
      Throws:
      IOException - on encoding 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.
    • setGeneralNames

      public void setGeneralNames(GeneralNames names)
      Set the GeneralNames of this extension.
    • getGeneralNames

      public GeneralNames getGeneralNames()
      Get the GeneralNames of this extension.
    • 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.