Class PolicyMappingsExtension

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

public class PolicyMappingsExtension extends Extension implements CertAttrSet
Represent the Policy Mappings Extension. This extension, if present, identifies the certificate policies considered identical between the issuing and the subject CA.

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

    • PolicyMappingsExtension

      public PolicyMappingsExtension(Vector<CertificatePolicyMap> map) throws IOException
      Create a PolicyMappings with the Vector of CertificatePolicyMap.
      Parameters:
      map - the Vector of CertificatePolicyMap.
      Throws:
      IOException
    • PolicyMappingsExtension

      public PolicyMappingsExtension(boolean critical, Vector<CertificatePolicyMap> map) throws IOException
      Create a PolicyMappings with the Vector of CertificatePolicyMap.
      Parameters:
      critical - true if the extension is to be treated as critical.
      map - the Vector of CertificatePolicyMap.
      Throws:
      IOException
    • PolicyMappingsExtension

      public PolicyMappingsExtension()
      Create a default PolicyMappingsExtension.
    • PolicyMappingsExtension

      public PolicyMappingsExtension(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
    • init

      private void init(boolean critical, Vector<CertificatePolicyMap> map) throws IOException
      init policy with criticality and map.
      Throws:
      IOException
    • toString

      public String toString()
      Returns a printable representation of the policy map.
      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.
    • getMappings

      public Enumeration<CertificatePolicyMap> getMappings()
      Returns an enumeration of the mappings in the extension.