DESKey



javacard.security
Interface DESKey

All Superinterfaces:
Key, SecretKey
All Known Implementing Classes:
SymmetricKeyImpl

public interface DESKey
extends SecretKey

DESKey contains an 8/16/24-byte key for single/2 key triple DES/3 key triple DES operations.

When the key data is set, the key is initialized and ready for use.

See Also:
KeyBuilder, Signature, Cipher, KeyEncryption

Method Summary
 byte getKey(byte[] keyData, short kOff)
          Returns the Key data in plain text.
 void setKey(byte[] keyData, short kOff)
          Sets the Key data.
 
Methods inherited from interface javacard.security.Key
clearKey, getSize, getType, isInitialized
 

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 8 bytes for DES, 16 bytes for 2-key triple DES and 24 bytes for 3-key triple DES. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). 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.
NullPointerException - - if the keyData parameter is null
ArrayIndexOutOfBoundsException - if kOff is negative or the keyData array is too short

getKey

byte getKey(byte[] keyData,
            short kOff)
            throws CryptoException
Returns the Key data in plain text. The length of output key data is 8 bytes for DES, 16 bytes for 2-key triple DES and 24 bytes for 3-key triple DES. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).

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