Module java.base
Package javax.crypto

Class KEM.Encapsulated

java.lang.Object
javax.crypto.KEM.Encapsulated
Enclosing class:
KEM

public static final class KEM.Encapsulated extends Object
This class specifies the return value of the encapsulate method of a Key Encapsulation Mechanism (KEM), which includes the shared secret (as a SecretKey), the key encapsulation message, and optional parameters.

Note: the key encapsulation message can be also referred to as ciphertext.

API Note:
This class is defined in Java SE 17 Maintenance Release 1.
Since:
17
See Also:
  • Constructor Details

    • Encapsulated

      public Encapsulated(SecretKey key, byte[] encapsulation, byte[] params)
      Constructs an Encapsulated object.
      Parameters:
      key - the shared secret as a key, must not be null.
      encapsulation - the key encapsulation message, must not be null. The contents of the array are copied to protect against subsequent modification.
      params - optional parameters, can be null. The contents of the array are copied to protect against subsequent modification.
      Throws:
      NullPointerException - if key or encapsulation is null
  • Method Details

    • key

      public SecretKey key()
      Returns the SecretKey.
      Returns:
      the secret key
    • encapsulation

      public byte[] encapsulation()
      Returns the key encapsulation message.
      Returns:
      the key encapsulation message. A new copy of the byte array is returned.
    • params

      public byte[] params()
      Returns the optional parameters in a byte array.
      Returns:
      the optional parameters in a byte array or null if not specified. A new copy of the byte array is returned.