Class SubjectDirAttributesExtension

  • All Implemented Interfaces:
    java.io.Serializable, CertAttrSet

    public class SubjectDirAttributesExtension
    extends Extension
    implements CertAttrSet
    This class represents the Subject Directory Attributes Extension.

    The subject directory attributes extension is not recommended as an essential part of this profile, but it may be used in local environments. This extension MUST be non-critical.

     The ASN.1 syntax for this extension is:
    
        SubjectDirectoryAttributes ::= SEQUENCE (1..MAX) OF Attribute
    
        Attribute   ::= SEQUENCE {
     type           AttributeType,
            value           SET OF AttributeValue
                    -- at least one value is required --}
    
        AttributeType       ::= OBJECT IDENTIFIER
    
        AttributeValue      ::= ANY
    
     
    See Also:
    CertAttrSet, Extension, Serialized Form
    • 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
    • Constructor Detail

      • SubjectDirAttributesExtension

        public SubjectDirAttributesExtension​(DerValue derVal)
                                      throws java.io.IOException
        Default constructor for this object.
        Parameters:
        derVal - Der encoded value of this extension
        Throws:
        java.io.IOException
      • SubjectDirAttributesExtension

        public SubjectDirAttributesExtension​(Attribute[] list)
                                      throws java.io.IOException
        Default constructor for this object.
        Parameters:
        list - Attribute object list
        Throws:
        java.io.IOException
      • SubjectDirAttributesExtension

        public SubjectDirAttributesExtension​(java.lang.Boolean crit,
                                             java.lang.Object value)
                                      throws java.io.IOException
        Constructor from parsing extension
        Throws:
        java.io.IOException
      • SubjectDirAttributesExtension

        public SubjectDirAttributesExtension​(Attribute[] list,
                                             boolean critical)
                                      throws java.io.IOException
        Constructor for this object.
        Parameters:
        list - Attribute object list
        critical - The criticality
        Throws:
        java.io.IOException
    • Method Detail

      • toString

        public java.lang.String toString()
        Return user readable form of extension.
        Specified by:
        toString in interface CertAttrSet
        Overrides:
        toString in class Extension
        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 interface CertAttrSet
        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
        Encode this extension value to the output stream.
        Specified by:
        encode in interface CertAttrSet
        Parameters:
        out - the DerOutputStream to encode the extension to.
        Throws:
        java.io.IOException - on other errors.
      • set

        public void set​(java.lang.String name,
                        java.lang.Object obj)
                 throws java.io.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:
        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 interface CertAttrSet
        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 interface CertAttrSet
        Parameters:
        name - the name of the attribute to delete.
        Throws:
        java.io.IOException - on other 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 interface CertAttrSet
        Returns:
        an enumeration of the attribute names.
      • getName

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

        public java.util.Enumeration<Attribute> getAttributesList()
        Returns an enumeration of attributes in the extension.