au.net.aba.crypto.provider
Class DESedeKeyFactory

java.lang.Object
  |
  +--javax.crypto.SecretKeyFactorySpi
        |
        +--au.net.aba.crypto.provider.DESedeKeyFactory

public class DESedeKeyFactory
extends SecretKeyFactorySpi

This class is used to convert DESede keys into a format usable by the ABA provider. The supported KeySpec classes are DESedeKeySpec and SecretKeySpec. In the case of the SecretKeySpec the keydata must be at least 24 bytes long and there must be no encoding on the key data. The supported Key class is DESKey.

This class should not be instantiated directly, instead use the java.security.KeyFactory interface.

See Also:
java.security.KeyFactory

Field Summary
static java.lang.String ident
           
 
Constructor Summary
DESedeKeyFactory()
           
 
Method Summary
protected  SecretKey engineGenerateSecret(java.security.spec.KeySpec keySpec)
          Generates a DESede SecretKey object from the provided key specification (key material).
protected  java.security.spec.KeySpec engineGetKeySpec(SecretKey key, java.lang.Class keySpec)
          Returns a specification (key material) of the given key object in the requested format.
protected  SecretKey engineTranslateKey(SecretKey key)
          Translates a DESede key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ident

public static final java.lang.String ident
Constructor Detail

DESedeKeyFactory

public DESedeKeyFactory()
Method Detail

engineGenerateSecret

protected SecretKey engineGenerateSecret(java.security.spec.KeySpec keySpec)
                                  throws java.security.spec.InvalidKeySpecException
Generates a DESede SecretKey object from the provided key specification (key material). This class supports the DESedeKeySpec and SecretKeySpec KeySpec classes.
Throws:
java.security.spec.InvalidKeySpecException - The provided KeySpec was not a DESKeySpec or SecretKeySpec KeySpec.
Overrides:
engineGenerateSecret in class SecretKeyFactorySpi

engineGetKeySpec

protected java.security.spec.KeySpec engineGetKeySpec(SecretKey key,
                                                      java.lang.Class keySpec)
                                               throws java.security.spec.InvalidKeySpecException
Returns a specification (key material) of the given key object in the requested format.

Can convert from ABA's DESede keys into either a SecretKeySpec or DESedeKeySpec instance.

Parameters:
key - the key
keySpec - the requested format in which the key material shall be returned
Throws:
java.security.spec.InvalidKeySpecException - if the requested key specification is inappropriate for the given key, or the given key cannot be dealt with (e.g., the given key has an unrecognised format).
Overrides:
engineGetKeySpec in class SecretKeyFactorySpi

engineTranslateKey

protected SecretKey engineTranslateKey(SecretKey key)
                                throws java.security.InvalidKeyException
Translates a DESede key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.
Parameters:
key - - the key whose provider is unknown or untrusted
Throws:
java.security.InvalidKeyException - if the given key cannot be processed by this key factory.
Overrides:
engineTranslateKey in class SecretKeyFactorySpi