Interface SM4Key

    • Method Detail

      • setKey

        void setKey​(byte[] keyData,
                    short kOff)
             throws CryptoException,
                    NullPointerException,
                    ArrayIndexOutOfBoundsException
        Sets the Key data. The plain text length of input key data is 16 bytes. Input key data is copied into the internal representation.

        Note:

        • If the key object implements the javacardx.crypto.KeyEncryption interface and the Cipher object specified via setKeyCipher() is not null, keyData is decrypted using the Cipher object.

        Parameters:
        keyData - byte array containing key initialization data
        kOff - offset within keyData to start
        Throws:
        CryptoException - with the following reason code:
        • CryptoException.ILLEGAL_VALUE if input data decryption is required and fails.
        ArrayIndexOutOfBoundsException - if kOff is negative or the keyData array is too short
        NullPointerException - if the keyData parameter is null
      • getKey

        byte getKey​(byte[] keyData,
                    short kOff)
        Returns the Key data in plain text. The length of output key data is 16 bytes.
        Parameters:
        keyData - byte array to return key data
        kOff - offset within keyData to start
        Returns:
        the byte length of the key data returned
        Throws:
        CryptoException - with the following reason code:
        • CryptoException.UNINITIALIZED_KEY if the key data has not been successfully initialized since the time the initialized state of the key was set to false.
        See Also:
        Key