Class IssuingDistributionPointExtension

java.lang.Object
org.mozilla.jss.netscape.security.x509.Extension
org.mozilla.jss.netscape.security.x509.IssuingDistributionPointExtension
All Implemented Interfaces:
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:
  • Field Details

  • Constructor Details

    • IssuingDistributionPointExtension

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

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

    • 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 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:
      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 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(OutputStream ostream) throws CertificateException, 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:
      CertificateException - on encoding or validity errors.
      IOException - on other errors.
    • decode

      public void decode(InputStream in) throws CertificateException, 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:
      CertificateException - on decoding or validity errors.
      IOException - on other errors.
    • set

      public void set(String name, Object obj) throws CertificateException, 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:
      CertificateException - on attribute handling errors.
      IOException - on other errors.
    • get

      public Object get(String name) throws CertificateException, 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.
      Returns:
      attribute value
      Throws:
      CertificateException - on attribute handling errors.
      IOException - on other errors.
    • delete

      public void delete(String name) throws CertificateException, 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:
      CertificateException - on attribute handling errors.
      IOException - on other errors.
    • getAttributeNames

      public Enumeration<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 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(String[] args)
      Test driver.