java.lang.Object
com.ibm.crypto.hdwrCCA.provider.MLKEMPrivateKeySpec
- All Implemented Interfaces:
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 Summary
ConstructorsConstructorDescriptionMLKEMPrivateKeySpec
(byte[] keyToken, byte type) Creates an instance of this class from a key token and key type.MLKEMPrivateKeySpec
(byte[] keyToken, byte type, byte usage) Creates an instance of this class from a key token and key type. -
Method Summary
Modifier and TypeMethodDescriptionReturns the key attributes.byte[]
getToken()
Returns a clone of the PKDS label or key token.
-
Constructor Details
-
MLKEMPrivateKeySpec
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 theKeyLabelKeySpec
class to create a key specification using aKeyHWAttributeValues.PKDS
type of key.- Throws:
InvalidKeySpecException
-
MLKEMPrivateKeySpec
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 theKeyLabelKeySpec
class to create a key specification using aKeyHWAttributeValues.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
Returns the key attributes.- Returns:
- the key attributes.
-