Class IssuingDistributionPointExtension

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

    public class IssuingDistributionPointExtension
    extends Extension
    implements CertAttrSet
    A critical CRL extension that identifies the CRL distribution point for a particular CRL
     issuingDistributionPoint ::= SEQUENCE {
             distributionPoint       [0] DistributionPointName OPTIONAL,
             onlyContainsUserCerts   [1] BOOLEAN DEFAULT FALSE,
             onlyContainsCACerts     [2] BOOLEAN DEFAULT FALSE,
             onlySomeReasons         [3] ReasonFlags OPTIONAL,
             indirectCRL             [4] BOOLEAN DEFAULT FALSE }
    
     DistributionPointName ::= CHOICE {
             fullName                [0]     GeneralNames,
             nameRelativeToCRLIssuer [1]     RelativeDistinguishedName }
    
     ReasonFlags ::= BIT STRING {
             unused                  (0),
             keyCompromise           (1),
             cACompromise            (2),
             affiliationChanged      (3),
             superseded              (4),
             cessationOfOperation    (5),
             certificateHold         (6) }
    
     GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
    
     GeneralName ::= CHOICE {
             otherName                       [0]     OtherName,
             rfc822Name                      [1]     IA5String,
             dNSName                         [2]     IA5String,
             x400Address                     [3]     ORAddress,
             directoryName                   [4]     Name,
             ediPartyName                    [5]     EDIPartyName,
             uniformResourceIdentifier       [6]     IA5String,
             iPAddress                       [7]     OCTET STRING,
             registeredID                    [8]     OBJECT IDENTIFIER}
    
     OtherName ::= SEQUENCE {
             type-id    OBJECT IDENTIFIER,
             value      [0] EXPLICIT ANY DEFINED BY type-id }
    
     EDIPartyName ::= SEQUENCE {
             nameAssigner            [0]     DirectoryString OPTIONAL,
             partyName               [1]     DirectoryString }
    
     RelativeDistinguishedName ::=
             SET OF AttributeTypeAndValue
    
     AttributeTypeAndValue ::= SEQUENCE {
             type     AttributeType,
             value    AttributeValue }
    
     AttributeType ::= OBJECT IDENTIFIER
    
     AttributeValue ::= ANY DEFINED BY AttributeType
     
    See Also:
    Serialized Form
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void decode​(java.io.InputStream in)
      Decodes the attribute in the input stream.
      void delete​(java.lang.String name)
      Deletes an attribute value from this CertAttrSet.
      void encode​(java.io.OutputStream ostream)
      DER-encodes this extension to the given OutputStream.
      void encode​(DerOutputStream out)
      Encodes this extension to the given DerOutputStream.
      void flushCachedEncoding()
      Should be called if any change is made to this data structure so that the cached DER encoding can be discarded.
      java.lang.Object get​(java.lang.String name)
      Gets an attribute value for this CertAttrSet.
      java.util.Enumeration<java.lang.String> getAttributeNames()
      Returns an enumeration of the names of the attributes existing within this attribute.
      boolean getCritical​(boolean critical)
      Gets the criticality of this extension.
      IssuingDistributionPoint getIssuingDistributionPoint()
      Returns the issuing distribution point.
      java.lang.String getName()
      Returns the name (identifier) of this CertAttrSet.
      static void main​(java.lang.String[] args)
      Test driver.
      void set​(java.lang.String name, java.lang.Object obj)
      Sets an attribute value within this CertAttrSet.
      void setCritical​(boolean critical)
      Sets the criticality of this extension.
      java.lang.String toString()
      Returns a printable representation of the IssuingDistributionPointExtension
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • OID

        public static final java.lang.String OID
        The Object Identifier for this extension.
        See Also:
        Constant Field Values
      • ISSUING_DISTRIBUTION_POINT

        public static final java.lang.String ISSUING_DISTRIBUTION_POINT
        See Also:
        Constant Field Values
    • Constructor Detail

      • IssuingDistributionPointExtension

        public IssuingDistributionPointExtension​(java.lang.Boolean critical,
                                                 java.lang.Object value)
                                          throws java.io.IOException
        This constructor is very important, since it will be called by the system.
        Throws:
        java.io.IOException
      • IssuingDistributionPointExtension

        public IssuingDistributionPointExtension​(IssuingDistributionPoint idp)
        Creates a new IssuingDistributionPoint extension, with the given issuing distribution point as the first element.
    • Method Detail

      • getIssuingDistributionPoint

        public IssuingDistributionPoint getIssuingDistributionPoint()
        Returns the issuing distribution point.
      • setCritical

        public void setCritical​(boolean critical)
        Sets the criticality of this extension. PKIX dictates that this extension SHOULD be critical, so applications can make it not critical if they have a very good reason. By default, the extension is critical.
        Overrides:
        setCritical in class Extension
      • getCritical

        public boolean getCritical​(boolean critical)
        Gets the criticality of this extension. PKIX dictates that this extension SHOULD be critical, so by default, the extension is critical.
      • encode

        public void encode​(DerOutputStream out)
                    throws java.io.IOException
        Encodes this extension to the given DerOutputStream. This method re-encodes each time it is called, so it is not very efficient.
        Overrides:
        encode in class Extension
        Parameters:
        out - the DerOutputStream to write the extension to.
        Throws:
        java.io.IOException - on encoding errors
      • flushCachedEncoding

        public void flushCachedEncoding()
        Should be called if any change is made to this data structure so that the cached DER encoding can be discarded.
      • toString

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

        public void encode​(java.io.OutputStream ostream)
                    throws java.security.cert.CertificateException,
                           java.io.IOException
        DER-encodes this extension to the given OutputStream.
        Specified by:
        encode in interface CertAttrSet
        Parameters:
        ostream - the OutputStream to encode the attribute to.
        Throws:
        java.security.cert.CertificateException - on encoding or validity errors.
        java.io.IOException - on other errors.
      • decode

        public void decode​(java.io.InputStream in)
                    throws java.security.cert.CertificateException,
                           java.io.IOException
        Description copied from interface: CertAttrSet
        Decodes the attribute in the input stream.
        Specified by:
        decode in interface CertAttrSet
        Parameters:
        in - the InputStream to read the encoded attribute from.
        Throws:
        java.security.cert.CertificateException - on decoding or validity errors.
        java.io.IOException - on other errors.
      • set

        public void set​(java.lang.String name,
                        java.lang.Object obj)
                 throws java.security.cert.CertificateException,
                        java.io.IOException
        Description copied from interface: CertAttrSet
        Sets an attribute value within this CertAttrSet.
        Specified by:
        set in interface CertAttrSet
        Parameters:
        name - the name of the attribute (e.g. "x509.info.key")
        obj - the attribute object.
        Throws:
        java.security.cert.CertificateException - on attribute handling errors.
        java.io.IOException - on other errors.
      • get

        public java.lang.Object get​(java.lang.String name)
                             throws java.security.cert.CertificateException,
                                    java.io.IOException
        Description copied from interface: CertAttrSet
        Gets an attribute value for this CertAttrSet.
        Specified by:
        get in interface CertAttrSet
        Parameters:
        name - the name of the attribute to return.
        Throws:
        java.security.cert.CertificateException - on attribute handling errors.
        java.io.IOException - on other errors.
      • delete

        public void delete​(java.lang.String name)
                    throws java.security.cert.CertificateException,
                           java.io.IOException
        Description copied from interface: CertAttrSet
        Deletes an attribute value from this CertAttrSet.
        Specified by:
        delete in interface CertAttrSet
        Parameters:
        name - the name of the attribute to delete.
        Throws:
        java.security.cert.CertificateException - on attribute handling errors.
        java.io.IOException - on other errors.
      • getAttributeNames

        public java.util.Enumeration<java.lang.String> getAttributeNames()
        Description copied from interface: CertAttrSet
        Returns an enumeration of the names of the attributes existing within this attribute.
        Specified by:
        getAttributeNames in interface CertAttrSet
        Returns:
        an enumeration of the attribute names.
      • getName

        public java.lang.String getName()
        Description copied from interface: CertAttrSet
        Returns the name (identifier) of this CertAttrSet.
        Specified by:
        getName in interface CertAttrSet
        Returns:
        the name of this CertAttrSet.
      • main

        public static void main​(java.lang.String[] args)
        Test driver.