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.