Package org.bouncycastle.asn1

## Class BEROctetString

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.ASN1Primitive
    - - org.bouncycastle.asn1.ASN1OctetString
      - - org.bouncycastle.asn1.BEROctetString

- All Implemented Interfaces:
    `ASN1Encodable`, `ASN1OctetStringParser`, `InMemoryRepresentable`, `Encodable`

      public class BEROctetString
      extends ASN1OctetString

  ASN.1 OctetStrings, with indefinite length rules, and constructed form support.

  The Basic Encoding Rules (BER) format allows encoding using so called "constructed form", which DER and CER formats forbid allowing only "primitive form".

  This class always produces the constructed form with underlying segments in an indefinite length array. If the input wasn't the same, then this output is not faithful reproduction.

  See `ASN1OctetString` for X.690 encoding rules of OCTET-STRING objects.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BEROctetString​(byte[] string)` | Create an OCTET-STRING object from a byte[]
    `BEROctetString​(byte[] string, int chunkSize)` | Create an OCTET-STRING object from a byte[]
    `BEROctetString​(ASN1OctetString[] octs)` | Multiple `ASN1OctetString` data blocks are input, the result is constructed form.
    `BEROctetString​(ASN1OctetString[] octs, int chunkSize)` | Multiple `ASN1OctetString` data blocks are input, the result is constructed form.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.Enumeration` | `getObjects()` | Return the OCTET STRINGs that make up this string.

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

      `getInstance, getInstance, getLoadedObject, getOctets, getOctetStream, hashCode, parser, toString`

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

      `encodeTo, encodeTo, equals, equals, equals, fromByteArray, 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 org.bouncycastle.asn1.ASN1Encodable

      `toASN1Primitive`

- - ### Constructor Detail

    - #### BEROctetString

          public BEROctetString​(byte[] string)

      Create an OCTET-STRING object from a byte[]
      Parameters:
        `string` - the octets making up the octet string.

    - #### BEROctetString

          public BEROctetString​(ASN1OctetString[] octs)

      Multiple `ASN1OctetString` data blocks are input, the result is constructed form.
      Parameters:
        `octs` - an array of OCTET STRING to construct the BER OCTET STRING from.

    - #### BEROctetString

          public BEROctetString​(byte[] string,
                                int chunkSize)

      Create an OCTET-STRING object from a byte[]
      Parameters:
        `string` - the octets making up the octet string.
        `chunkSize` - the number of octets stored in each DER encoded component OCTET STRING.

    - #### BEROctetString

          public BEROctetString​(ASN1OctetString[] octs,
                                int chunkSize)

      Multiple `ASN1OctetString` data blocks are input, the result is constructed form.
      Parameters:
        `octs` - an array of OCTET STRING to construct the BER OCTET STRING from.
        `chunkSize` - the number of octets stored in each DER encoded component OCTET STRING.

  - ### Method Detail

    - #### getObjects

          public java.util.Enumeration getObjects()

      Return the OCTET STRINGs that make up this string.
      Returns:
        an Enumeration of the component OCTET STRINGs.