com.ibm.crypto.fips.provider
Class AESKeySpec

java.lang.Object
  |
  +--com.ibm.crypto.fips.provider.AESKeySpec
All Implemented Interfaces:
AlgorithmStatus, java.security.spec.KeySpec

public class AESKeySpec
extends java.lang.Object
implements java.security.spec.KeySpec, AlgorithmStatus

This class specifies a AES key.

Version:
1.1, 07/23/03
Author:
Paschalis Kaltsatis

Constructor Summary
AESKeySpec(byte[] key)
          Uses the bytes in key as the key material for the AES key.
AESKeySpec(byte[] key, int offset, int len)
          Uses the bytes in key, beginning at offset inclusive, as the key material for the AES key.
 
Method Summary
 byte[] getKey()
          Returns the AES key material.
protected  byte[] internalGetKey()
           
 boolean isFipsApproved()
          Module identifies if the cryptographic operation (algorithm) is FIPS certified
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AESKeySpec

public AESKeySpec(byte[] key)
           throws java.security.InvalidKeyException
Uses the bytes in key as the key material for the AES key.

The bytes that constitute the AES key are those between key[0] and key[key.length - 1] inclusive.

Parameters:
key - the buffer with the AES key material.
Throws:
java.security.InvalidKeyException - if the given key material is not 16, 24, or 32 bytes.

AESKeySpec

public AESKeySpec(byte[] key,
                  int offset,
                  int len)
           throws java.security.InvalidKeyException
Uses the bytes in key, beginning at offset inclusive, as the key material for the AES key.

The bytes that constitute the AES key are those between key[offset] and key[offset+len-1] inclusive.

Parameters:
key - the buffer with the AES key material.
offset - the offset in key, where the DES key material starts.
Throws:
java.security.InvalidKeyException - if the given key material, starting at offset inclusive, is not 16, 24, or 32 bytes.
Method Detail

isFipsApproved

public boolean isFipsApproved()
Description copied from interface: AlgorithmStatus
Module identifies if the cryptographic operation (algorithm) is FIPS certified
Specified by:
isFipsApproved in interface AlgorithmStatus
See Also:
AlgorithmStatus.isFipsApproved()

getKey

public byte[] getKey()
Returns the AES key material.
Returns:
the AES key material.
Throws:
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false.

internalGetKey

protected byte[] internalGetKey()