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

org.bouncycastle.crypto.hpke

## Class HPKEContextWithEncapsulation

- java.lang.Object
- - org.bouncycastle.crypto.hpke.HPKEContext
  - - org.bouncycastle.crypto.hpke.HPKEContextWithEncapsulation

-     public class HPKEContextWithEncapsulation
      extends HPKEContext

  Sender-side `HPKEContext` that additionally carries the `enc` octet string produced by the KEM's encapsulation step.

  Returned by `HPKE.setupBaseS` / `SetupPSKS` / `setupAuthS` / `setupAuthPSKS`. The recipient never produces this subclass — the recipient already has the `enc` as input to the matching `setup*R` call.

  `getEncapsulation()` returns a defensive copy of the encapsulated key for transmission to the recipient (typically prepended to the first ciphertext or carried in a wire-format wrapper such as MLS or OHTTP).

- - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.crypto.hpke.HPKEContext

      `aead, exporterSecret, hkdf, suiteId`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HPKEContextWithEncapsulation(HPKEContext context, byte[] encapsulation)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `getEncapsulation()`

    - ### Methods inherited from class org.bouncycastle.crypto.hpke.HPKEContext

      `expand, export, extract, open, open, seal, seal`

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

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

- - ### Constructor Detail

    - #### HPKEContextWithEncapsulation

          public HPKEContextWithEncapsulation(HPKEContext context,
                                              byte[] encapsulation)

  - ### Method Detail

    - #### getEncapsulation

          public byte[] getEncapsulation()