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

org.bouncycastle.asn1

## Class BERSet

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.ASN1Primitive
    - - org.bouncycastle.asn1.ASN1Set
      - - org.bouncycastle.asn1.BERSet

- All Implemented Interfaces:
    java.lang.Iterable<ASN1Encodable>, ASN1Encodable, Encodable

      public class BERSet
      extends ASN1Set

  Indefinite length `SET` and `SET OF` constructs.

  Note: This does not know which syntax the set is!

  Length field has value 0x80, and the set ends with two bytes of: 0x00, 0x00.

  For X.690 syntax rules, see `ASN1Set`.

  In brief: Constructing this form does not sort the supplied elements, nor does the sorting happen before serialization. This is different from the way `DERSet` does things.

- - ### Field Summary

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

      `elements, sortedElements`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BERSet()` Create an empty SET.
    `BERSet(ASN1Encodable element)` Create a SET containing one object.
    `BERSet(ASN1Encodable[] elements)` Create a SET from an array of objects.
    `BERSet(ASN1EncodableVector elementVector)` Create a SET containing multiple objects.

  - ### Method Summary

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

      `getInstance, getInstance, getObjectAt, getObjects, getTagged, hashCode, iterator, parser, size, toArray, toString`

    - ### 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, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### BERSet

          public BERSet()

      Create an empty SET.

    - #### BERSet

          public BERSet(ASN1Encodable element)

      Create a SET containing one object.
      Parameters:
        `element` - - a single object that makes up the set.

    - #### BERSet

          public BERSet(ASN1EncodableVector elementVector)

      Create a SET containing multiple objects.
      Parameters:
        `elementVector` - a vector of objects making up the set.

    - #### BERSet

          public BERSet(ASN1Encodable[] elements)

      Create a SET from an array of objects.
      Parameters:
        `elements` - an array of ASN.1 objects.