Class KyberPrivateKeySpec

  • All Implemented Interfaces:
    java.security.spec.KeySpec

    public class KyberPrivateKeySpec
    extends java.lang.Object
    implements java.security.spec.KeySpec
    This class specifies a Kyber private key spec to be used with KyberKeyFactory. This is used to make a representation of the key for import or export.
    • Constructor Summary

      Constructors 
      Constructor Description
      KyberPrivateKeySpec​(byte[] keyToken, byte type)
      Creates an instance of this class from a key token and key type.
      KyberPrivateKeySpec​(byte[] keyToken, byte type, byte usage)
      Creates an instance of this class from a key token and key type.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      KyberKeyAttributes getAttributes()
      Returns the key attributes.
      byte[] getToken()
      Returns a clone of the PKDS label or key token.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • KyberPrivateKeySpec

        public KyberPrivateKeySpec​(byte[] keyToken,
                                   byte type)
                            throws java.security.spec.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:
        java.security.spec.InvalidKeySpecException
      • KyberPrivateKeySpec

        public KyberPrivateKeySpec​(byte[] keyToken,
                                   byte type,
                                   byte usage)
        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.
    • Method Detail

      • 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 KyberKeyAttributes getAttributes()
        Returns the key attributes.
        Returns:
        the key attributes.