Class MLKEMPrivateKeySpec

java.lang.Object
com.ibm.crypto.hdwrCCA.provider.MLKEMPrivateKeySpec
All Implemented Interfaces:
KeySpec

public class MLKEMPrivateKeySpec extends Object implements KeySpec
This class specifies a ML-KEM private key spec to be used with MLKEMKeyFactory. This is used to make a representation of the key for import or export.
  • Constructor Details

    • MLKEMPrivateKeySpec

      public MLKEMPrivateKeySpec(byte[] keyToken, byte type) throws InvalidKeySpecException
      Creates an instance of this class from a key token and key type. The usage is defaulted to KeyHWAttributeValues.KEYMANAGEMENT.
      Parameters:
      keyToken - The token associated with the private key. If this is a key label, then the label must conform to the character restrictions imposed by the platform you are executing on and should be in the ISO_8859_1 character encoding.
      type - The type of the key Encrypted under the master key (KeyHWAttributeValues.MASTER) or outside the hardware in the PKDS (KeyHWAttributeValues.PKDS) or in the clear (KeyHWAttributeValues.CLEAR). Please note that it is recommended to use the KeyLabelKeySpec class to create a key specification using a KeyHWAttributeValues.PKDS type of key.
      Throws:
      InvalidKeySpecException
    • MLKEMPrivateKeySpec

      public MLKEMPrivateKeySpec(byte[] keyToken, byte type, byte usage) throws IllegalArgumentException
      Creates an instance of this class from a key token and key type. The usage is defaulted to KeyHWAttributeValues.KEYMANAGEMENT.
      Parameters:
      keyToken - The token associated with the private key. If this is a key label, then the label must conform to the character restrictions imposed by the platform you are executing on and should be in the ISO_8859_1 character encoding.
      type - The type of the key Encrypted under the master key (KeyHWAttributeValues.MASTER) or outside the hardware in the PKDS (KeyHWAttributeValues.PKDS) or in the clear (KeyHWAttributeValues.CLEAR). Please note that it is recommended to use the KeyLabelKeySpec class to create a key specification using a KeyHWAttributeValues.PKDS type of key.
      usage - Determines for what purpose the key pair is to be used. KeyHWAttributeValues.KEYMANAGEMENT is for signing purposes and must be used.
      Throws:
      IllegalArgumentException
  • Method Details

    • getToken

      public byte[] getToken()
      Returns a clone of the PKDS label or key token.

      Note that this method returns a clone of sensitive information. It is the caller's responsibility to zero out the information after it is no longer needed.

      Returns:
      A clone of the PKDS label or key token.
    • getAttributes

      public MLKEMKeyAttributes getAttributes()
      Returns the key attributes.
      Returns:
      the key attributes.