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

org.bouncycastle.asn1

## Class BERGenerator

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Generator
  - - org.bouncycastle.asn1.BERGenerator

- Direct Known Subclasses:
    BEROctetStringGenerator, BERSequenceGenerator

      public abstract class BERGenerator
      extends ASN1Generator

  Base class for generators for indefinite-length structures.

- - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.asn1.ASN1Generator

      `_out`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BERGenerator(java.io.OutputStream out)`
    `protected` | `BERGenerator(java.io.OutputStream out, int tagNo, boolean isExplicit)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.io.OutputStream` | `getRawOutputStream()` Return the actual stream object encodings are written to.
    `protected void` | `writeBEREnd()`
    `protected void` | `writeBERHeader(int tag)`

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

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

- - ### Constructor Detail

    - #### BERGenerator

          protected BERGenerator(java.io.OutputStream out)

    - #### BERGenerator

          protected BERGenerator(java.io.OutputStream out,
                                 int tagNo,
                                 boolean isExplicit)

  - ### Method Detail

    - #### getRawOutputStream

          public java.io.OutputStream getRawOutputStream()

      Description copied from class: `ASN1Generator`
      Return the actual stream object encodings are written to.
      Specified by:
        `getRawOutputStream` in class `ASN1Generator`
      Returns:
        the stream that is directly encoded to.

    - #### writeBERHeader

          protected void writeBERHeader(int tag)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeBEREnd

          protected void writeBEREnd()
                              throws java.io.IOException

      Throws:
        `java.io.IOException`