Class BasicConstraintsExtension

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

    public class BasicConstraintsExtension
    extends Extension
    implements CertAttrSet
    This class represents the Basic Constraints Extension.

    The basic constraints extension identifies whether the subject of the certificate is a CA and how deep a certification path may exist through that CA.

     The ASN.1 syntax for this extension is:
     BasicConstraints ::= SEQUENCE {
         cA                BOOLEAN DEFAULT FALSE,
         pathLenConstraint INTEGER (0..MAX) OPTIONAL
     }
     
    See Also:
    CertAttrSet, Extension, Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String IDENT
      Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.
      static java.lang.String IS_CA  
      static java.lang.String NAME
      Attribute names.
      static java.lang.String PATH_LEN  
    • Constructor Summary

      Constructors 
      Constructor Description
      BasicConstraintsExtension​(boolean ca, boolean critical, int len)
      Default constructor for this object.
      BasicConstraintsExtension​(boolean ca, int len)
      Default constructor for this object.
      BasicConstraintsExtension​(java.lang.Boolean critical, java.lang.Object value)
      Create the extension from the passed DER encoded value of the same.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void decode​(java.io.InputStream in)
      Decode the extension from the InputStream.
      void delete​(java.lang.String name)
      Delete the attribute value.
      void encode​(java.io.OutputStream out)
      Encode this extension value to the output stream.
      java.lang.Object get​(java.lang.String name)
      Get the attribute value.
      java.util.Enumeration<java.lang.String> getAttributeNames()
      Return an enumeration of names of attributes existing within this attribute.
      java.lang.String getName()
      Return the name of this attribute.
      void set​(java.lang.String name, java.lang.Object obj)
      Set the attribute value.
      java.lang.String toString()
      Return user readable form of extension.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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

      • BasicConstraintsExtension

        public BasicConstraintsExtension​(boolean ca,
                                         int len)
                                  throws java.io.IOException
        Default constructor for this object.
        Parameters:
        ca - true, if the subject of the Certificate is a CA.
        len - specifies the depth of the certification path.
        Throws:
        java.io.IOException
      • BasicConstraintsExtension

        public BasicConstraintsExtension​(boolean ca,
                                         boolean critical,
                                         int len)
                                  throws java.io.IOException
        Default constructor for this object.
        Parameters:
        ca - true, if the subject of the Certificate is a CA.
        len - specifies the depth of the certification path.
        Throws:
        java.io.IOException
      • BasicConstraintsExtension

        public BasicConstraintsExtension​(java.lang.Boolean critical,
                                         java.lang.Object value)
                                  throws java.io.IOException
        Create the extension from the passed DER encoded value of the same.
        Parameters:
        value - the DER encoded value of the extension.
        Throws:
        java.io.IOException - on error.
    • 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.