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

org.bouncycastle.asn1

## Class ASN1External

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.ASN1Primitive
    - - org.bouncycastle.asn1.ASN1External

- All Implemented Interfaces:
    ASN1Encodable, Encodable
  Direct Known Subclasses:
    DERExternal, DLExternal

      public abstract class ASN1External
      extends ASN1Primitive

  Class representing the DER-type External

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ASN1Primitive` | `getDataValueDescriptor()` Returns the data value descriptor
    `ASN1ObjectIdentifier` | `getDirectReference()` Returns the direct reference of the external element
    `int` | `getEncoding()` Returns the encoding of the content.
    `ASN1Primitive` | `getExternalContent()` Returns the content of this element
    `ASN1Integer` | `getIndirectReference()` Returns the indirect reference of this element
    `static ASN1External` | `getInstance(ASN1TaggedObject taggedObject, boolean declaredExplicit)`
    `static ASN1External` | `getInstance(java.lang.Object obj)`
    `static ASN1External` | `getTagged(ASN1TaggedObject taggedObject, boolean declaredExplicit)`
    `int` | `hashCode()`

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

      `encodeTo, encodeTo, equals, equals, equals, fromByteArray, fromStream, toASN1Primitive`

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

      `getEncoded, getEncoded, hasEncodedTagValue`

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

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

- - ### Method Detail

    - #### getInstance

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

    - #### getInstance

          public static ASN1External getInstance(ASN1TaggedObject taggedObject,
                                                 boolean declaredExplicit)

    - #### getTagged

          public static ASN1External getTagged(ASN1TaggedObject taggedObject,
                                               boolean declaredExplicit)

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `ASN1Primitive`

    - #### getDataValueDescriptor

          public ASN1Primitive getDataValueDescriptor()

      Returns the data value descriptor
      Returns:
        The descriptor

    - #### getDirectReference

          public ASN1ObjectIdentifier getDirectReference()

      Returns the direct reference of the external element
      Returns:
        The reference

    - #### getEncoding

          public int getEncoding()

      Returns the encoding of the content. Valid values are
      - `0` single-ASN1-type
      - `1` OCTET STRING
      - `2` BIT STRING
      Returns:
        The encoding

    - #### getExternalContent

          public ASN1Primitive getExternalContent()

      Returns the content of this element
      Returns:
        The content

    - #### getIndirectReference

          public ASN1Integer getIndirectReference()

      Returns the indirect reference of this element
      Returns:
        The reference