DistributionPointName (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.asn1.x509

## Class DistributionPointName

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.x509.DistributionPointName

- All Implemented Interfaces:
    ASN1Choice, ASN1Encodable, Encodable

      public class DistributionPointName
      extends ASN1Object
      implements ASN1Choice

  The DistributionPointName object.

       DistributionPointName ::= CHOICE {
           fullName                 [0] GeneralNames,
           nameRelativeToCRLIssuer  [1] RelativeDistinguishedName
       }

       RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue

  Per RFC 5280 sec. 4.2.1.13, `nameRelativeToCRLIssuer` is a single RelativeDistinguishedName (a SET of one or more attribute-type-and-value pairs) — never a sequence of RDNs. When two attributes need to be carried here they share one multi-valued RDN (e.g. `O=Bouncy+OU=Test`), not two adjacent RDNs (e.g. `O=Bouncy,OU=Test`); the CHOICE branch is decoded as an `ASN1Set` and a sequence-shaped input is rejected. The full DN of the distribution point is formed by appending this single RDN to the CRL issuer's RDNSequence (RFC 5280 sec. 5.2.5).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `FULL_NAME`
    `static int` | `NAME_RELATIVE_TO_CRL_ISSUER`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DistributionPointName(ASN1TaggedObject obj)`
    `DistributionPointName(GeneralNames name)`
    `DistributionPointName(int type, ASN1Encodable name)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static DistributionPointName` | `getInstance(ASN1TaggedObject taggedObject, boolean declaredExplicit)`
    `static DistributionPointName` | `getInstance(java.lang.Object obj)`
    `ASN1Encodable` | `getName()` Return the tagged object inside the distribution point name.
    `static DistributionPointName` | `getTagged(ASN1TaggedObject taggedObject, boolean declaredExplicit)`
    `int` | `getType()` Return the tag number applying to the underlying choice.
    `ASN1Primitive` | `toASN1Primitive()` Method providing a primitive representation of this object suitable for encoding.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### FULL_NAME

          public static final int FULL_NAME

      See Also:
        Constant Field Values

    - #### NAME_RELATIVE_TO_CRL_ISSUER

          public static final int NAME_RELATIVE_TO_CRL_ISSUER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DistributionPointName

          public DistributionPointName(int type,
                                       ASN1Encodable name)

    - #### DistributionPointName

          public DistributionPointName(GeneralNames name)

    - #### DistributionPointName

          public DistributionPointName(ASN1TaggedObject obj)

  - ### Method Detail

    - #### getInstance

          public static DistributionPointName getInstance(java.lang.Object obj)

    - #### getInstance

          public static DistributionPointName getInstance(ASN1TaggedObject taggedObject,
                                                          boolean declaredExplicit)

    - #### getTagged

          public static DistributionPointName getTagged(ASN1TaggedObject taggedObject,
                                                        boolean declaredExplicit)

    - #### getType

          public int getType()

      Return the tag number applying to the underlying choice.
      Returns:
        the tag number for this point name.

    - #### getName

          public ASN1Encodable getName()

      Return the tagged object inside the distribution point name.
      Returns:
        the underlying choice item.

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      Description copied from class: `ASN1Object`
      Method providing a primitive representation of this object suitable for encoding.
      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a primitive representation of this object.

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`