javax.crypto
Class SecretKeyFactorySpi

java.lang.Object
  |
  +--javax.crypto.SecretKeyFactorySpi
Direct Known Subclasses:
GeneralKeyFactory, KeyFactory, KeyFactory

public abstract class SecretKeyFactorySpi
extends Object

Service Provider Interface (SPI) for the SecretKeyFactory class. Attention:  This is not a SUN implementation!

This class has been developed by IAIK according to the documentation publically available.
For SUNīs documentation of this class see http://java.sun.com/security/JCE1.2/spec/apidoc/index.html


This SPI class has to be implemented by a provider for each symmetric algorithm it wishes to provide a seceret key factory for converting keys from opaque into transparent representation and vice versa.

The corresponding API class actually used by an application for secret key/specification conversion is the javax.crypto.SecretKeyFactory class.

Version:
File Revision 13
See Also:
SecretKeyFactory

Constructor Summary
SecretKeyFactorySpi()
          Default Constructor.
 
Method Summary
protected abstract  SecretKey engineGenerateSecret(KeySpec keySpec)
          Converts the given key specification (key material) into a SecretKey object.
protected abstract  KeySpec engineGetKeySpec(SecretKey key, Class keySpec)
          Converts the given secret key into the requested key specification (key material).
protected abstract  SecretKey engineTranslateKey(SecretKey key)
          Translates a key object of some unknown or untrusted provider into a secret key object of this key factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SecretKeyFactorySpi

public SecretKeyFactorySpi()
Default Constructor.
Method Detail

engineGenerateSecret

protected abstract SecretKey engineGenerateSecret(KeySpec keySpec)
                                           throws InvalidKeySpecException
Converts the given key specification (key material) into a SecretKey object.
Parameters:
keySpec - the specification (key material) to be converted into SecretKey representation.
Returns:
the SecretKey object
Throws:
InvalidKeySpecException - if the given key material cannot be converted into a SecretKey object by this key factory
See Also:
SecretKeyFactory.generateSecret(java.security.spec.KeySpec)

engineGetKeySpec

protected abstract KeySpec engineGetKeySpec(SecretKey key,
                                            Class keySpec)
                                     throws InvalidKeySpecException
Converts the given secret key into the requested key specification (key material).
Parameters:
key - the secret key to be converted.
keySpec - the key specification type into which the secret key shall be converted
Returns:
the key specification (key material) derived from the given secret key
Throws:
InvalidKeySpecException - if the given secret key cannot be converted into the requested key specification object by this key factory
See Also:
SecretKeyFactory.getKeySpec(javax.crypto.SecretKey, java.lang.Class)

engineTranslateKey

protected abstract SecretKey engineTranslateKey(SecretKey key)
                                         throws InvalidKeyException
Translates a key object of some unknown or untrusted provider into a secret key object of this key factory.
Parameters:
key - the key of some unknown or untrusted provider
Returns:
the translated key
Throws:
InvalidKeyException - if the given key cannot be translated by this key factory
See Also:
SecretKeyFactory.translateKey(javax.crypto.SecretKey)

This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note).

IAIK-JCE 3.1 with IAIK-JCE CC Core 3.1, (c) 1997-2004 IAIK