public class

DistributionPoint

extends Object
java.lang.Object
   ↳ sun.security.x509.DistributionPoint

Class Overview

Represent the DistributionPoint sequence used in the CRL Distribution Points Extension (OID = 2.5.29.31).

The ASN.1 definition for this is:

 DistributionPoint ::= SEQUENCE {
      distributionPoint       [0]     DistributionPointName OPTIONAL,
      reasons                 [1]     ReasonFlags OPTIONAL,
      cRLIssuer               [2]     GeneralNames OPTIONAL }

 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),
      privilegeWithdrawn      (7),
      aACompromise            (8) }

 GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName

 GeneralName ::= CHOICE {
         otherName                   [0] INSTANCE OF OTHER-NAME,
         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 }

 RelativeDistinguishedName ::=
   SET OF AttributeTypeAndValue

 AttributeTypeAndValue ::= SEQUENCE {
   type     AttributeType,
   value    AttributeValue }

 AttributeType ::= OBJECT IDENTIFIER

 AttributeValue ::= ANY DEFINED BY AttributeType
 

Instances of this class are designed to be immutable. However, since this is an internal API we do not use defensive cloning for values for performance reasons. It is the responsibility of the consumer to ensure that no mutable elements are modified.

Summary

Constants
int AA_COMPROMISE
int AFFILIATION_CHANGED
int CA_COMPROMISE
int CERTIFICATE_HOLD
int CESSATION_OF_OPERATION
int KEY_COMPROMISE
int PRIVILEGE_WITHDRAWN
int SUPERSEDED
Public Constructors
DistributionPoint(GeneralNames fullName, boolean[] reasonFlags, GeneralNames crlIssuer)
Constructor for the class using GeneralNames for DistributionPointName
DistributionPoint(RDN relativeName, boolean[] reasonFlags, GeneralNames crlIssuer)
Constructor for the class using RelativeDistinguishedName for DistributionPointName
DistributionPoint(DerValue val)
Create the object from the passed DER encoded form.
Public Methods
void encode(DerOutputStream out)
Write the DistributionPoint value to the DerOutputStream.
boolean equals(Object obj)
Compare an object to this DistributionPoint for equality.
GeneralNames getCRLIssuer()
Return the CRL issuer name or null if not set.
GeneralNames getFullName()
Return the full distribution point name or null if not set.
boolean[] getReasonFlags()
Return the reason flags or null if not set.
RDN getRelativeName()
Return the relative distribution point name or null if not set.
int hashCode()
Returns a hash code value for the object.
String toString()
Return a printable string of the Distribution Point.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int AA_COMPROMISE

Constant Value: 8 (0x00000008)

public static final int AFFILIATION_CHANGED

Constant Value: 3 (0x00000003)

public static final int CA_COMPROMISE

Constant Value: 2 (0x00000002)

public static final int CERTIFICATE_HOLD

Constant Value: 6 (0x00000006)

public static final int CESSATION_OF_OPERATION

Constant Value: 5 (0x00000005)

public static final int KEY_COMPROMISE

Constant Value: 1 (0x00000001)

public static final int PRIVILEGE_WITHDRAWN

Constant Value: 7 (0x00000007)

public static final int SUPERSEDED

Constant Value: 4 (0x00000004)

Public Constructors

public DistributionPoint (GeneralNames fullName, boolean[] reasonFlags, GeneralNames crlIssuer)

Constructor for the class using GeneralNames for DistributionPointName

Parameters
fullName the GeneralNames of the distribution point; may be null

public DistributionPoint (RDN relativeName, boolean[] reasonFlags, GeneralNames crlIssuer)

Constructor for the class using RelativeDistinguishedName for DistributionPointName

Parameters
relativeName the RelativeDistinguishedName of the distribution point; may not be null

public DistributionPoint (DerValue val)

Create the object from the passed DER encoded form.

Parameters
val the DER encoded form of the DistributionPoint
Throws
IOException on error

Public Methods

public void encode (DerOutputStream out)

Write the DistributionPoint value to the DerOutputStream.

Parameters
out the DerOutputStream to write the extension to.
Throws
IOException on error.

public boolean equals (Object obj)

Compare an object to this DistributionPoint for equality.

Parameters
obj Object to be compared to this
Returns
  • true if objects match; false otherwise

public GeneralNames getCRLIssuer ()

Return the CRL issuer name or null if not set.

public GeneralNames getFullName ()

Return the full distribution point name or null if not set.

public boolean[] getReasonFlags ()

Return the reason flags or null if not set.

public RDN getRelativeName ()

Return the relative distribution point name or null if not set.

public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables.

As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)

Returns
  • a hash code value for this object.

public String toString ()

Return a printable string of the Distribution Point.

Returns
  • a string representation of the object.