com.ibm.crypto.fips.provider
Class AESKeyFactory
- java.lang.Object
-
- javax.crypto.SecretKeyFactorySpi
-
- com.ibm.crypto.fips.provider.AESKeyFactory
-
public final class AESKeyFactory extends javax.crypto.SecretKeyFactorySpiThis class implements the AES key factory of the IBMJCEFIPS provider.
-
-
Constructor Summary
Constructors Constructor and Description AESKeyFactory()Verify the JCE framework in the constructor.
-
Method Summary
Methods Modifier and Type Method and Description protected javax.crypto.SecretKeyengineGenerateSecret(java.security.spec.KeySpec keySpec)Generates aSecretKeyobject from the provided key specification (key material).protected java.security.spec.KeySpecengineGetKeySpec(javax.crypto.SecretKey key, java.lang.Class keySpec)Returns a specification (key material) of the given key in the requested format.protected javax.crypto.SecretKeyengineTranslateKey(javax.crypto.SecretKey key)This action is not allowed in this provider.protected javax.crypto.SecretKeyinternalGenerateSecret(java.security.spec.KeySpec keySpec)Generates aSecretKeyobject from the provided key specification (key material).protected java.security.spec.KeySpecinternalGetKeySpec(javax.crypto.SecretKey key, java.lang.Class keySpec)Returns a specification (key material) of the given key in the requested format.
-
-
-
Constructor Detail
-
AESKeyFactory
public AESKeyFactory()
Verify the JCE framework in the constructor.- Throws:
java.lang.SecurityException- if fails to verify the JCE framework.
-
-
Method Detail
-
engineGenerateSecret
protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec keySpec) throws java.security.spec.InvalidKeySpecExceptionGenerates aSecretKeyobject from the provided key specification (key material).- Specified by:
engineGenerateSecretin classjavax.crypto.SecretKeyFactorySpi- Parameters:
keySpec- the specification (key material) of the secret key- Returns:
- the secret key
- Throws:
java.security.spec.InvalidKeySpecException- if the given key specification is inappropriate for this key factory to produce a public key.FIPSRuntimeException- if SelfTest.isFipsRunnable returns false.
-
internalGenerateSecret
protected javax.crypto.SecretKey internalGenerateSecret(java.security.spec.KeySpec keySpec) throws java.security.spec.InvalidKeySpecExceptionGenerates aSecretKeyobject from the provided key specification (key material).- Parameters:
keySpec- the specification (key material) of the secret key- Returns:
- the secret key
- Throws:
java.security.spec.InvalidKeySpecException- if the given key specification is inappropriate for this key factory to produce a public key.
-
engineGetKeySpec
protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey key, java.lang.Class keySpec) throws java.security.spec.InvalidKeySpecExceptionReturns a specification (key material) of the given key in the requested format.- Specified by:
engineGetKeySpecin classjavax.crypto.SecretKeyFactorySpi- Parameters:
key- the keykeySpec- the requested format in which the key material shall be returned- Returns:
- the underlying key specification (key material) in the requested format
- Throws:
java.security.spec.InvalidKeySpecException- if the requested key specification is inappropriate for the given key, or the given key cannot be processed (e.g., the given key has an unrecognized algorithm or format).FIPSRuntimeException- if SelfTest.isFipsRunnable returns false.
-
internalGetKeySpec
protected java.security.spec.KeySpec internalGetKeySpec(javax.crypto.SecretKey key, java.lang.Class keySpec) throws java.security.spec.InvalidKeySpecExceptionReturns a specification (key material) of the given key in the requested format.- Parameters:
key- the keykeySpec- the requested format in which the key material shall be returned- Returns:
- the underlying key specification (key material) in the requested format
- Throws:
java.security.spec.InvalidKeySpecException- if the requested key specification is inappropriate for the given key, or the given key cannot be processed (e.g., the given key has an unrecognized algorithm or format).
-
engineTranslateKey
protected javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey key) throws java.security.InvalidKeyExceptionThis action is not allowed in this provider. This method is only here to be complient wiht the SUN JCE JCK tests. If a key is passed in, this method will basically return it back to you without doing any work.- Specified by:
engineTranslateKeyin classjavax.crypto.SecretKeyFactorySpi- Parameters:
key- the key.- Throws:
java.security.InvalidKeyException- if the given key is null.
-
-