au.net.aba.crypto.provider
Class TwofishKeyFactory

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

public class TwofishKeyFactory
extends SecretKeyFactorySpi

This class is used to convert Twofish keys into a format usable by the usable by the ABA provider. The supported KeySpec classes are TwofishKeySpec and SecretKeySpec. In the case of the SecretKeySpec the key data must not be encoded. The supported Key class is TwofishKey.

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
TwofishKeyFactory()
           
 
Method Summary
protected  SecretKey engineGenerateSecret(java.security.spec.KeySpec keySpec)
          Generates a Twofish 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.
protected  SecretKey engineTranslateKey(SecretKey key)
          Translates an Twofish 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

TwofishKeyFactory

public TwofishKeyFactory()
Method Detail

engineGenerateSecret

protected SecretKey engineGenerateSecret(java.security.spec.KeySpec keySpec)
                                  throws java.security.spec.InvalidKeySpecException
Generates a Twofish SecretKey object from the provided key specification (key material). This class supports the TwofishKeySpec and SecretKeySpec KeySpec classes.
Throws:
java.security.spec.InvalidKeySpecException - The provided KeySpec was not a TwofishKeySpec or SecretKeySpec instance.
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. keySpec identifies the specification class in which the key material should be returned. It could, for example, be RSAPublicKeySpec.class, to indicate that the key material should be returned in an instance of the RSAPublicKeySpec class.

Can convert from an ABA TwofishKey into a SecretKeySpec or TwofishKeySpec class.

Parameters:
key - the key the key material is to be recovered from.
spec - the class the new key spec object is meant to be from.
Returns:
the new key spec object representing the key material in key.
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 unrecognized format).
Overrides:
engineGetKeySpec in class SecretKeyFactorySpi

engineTranslateKey

protected SecretKey engineTranslateKey(SecretKey key)
                                throws java.security.InvalidKeyException
Translates an Twofish 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