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.SecretKeyFactorySpi
    This 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.SecretKey engineGenerateSecret(java.security.spec.KeySpec keySpec)
      Generates a SecretKey object from the provided key specification (key material).
      protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey key, java.lang.Class keySpec)
      Returns a specification (key material) of the given key in the requested format.
      protected javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey key)
      This action is not allowed in this provider.
      protected javax.crypto.SecretKey internalGenerateSecret(java.security.spec.KeySpec keySpec)
      Generates a SecretKey object from the provided key specification (key material).
      protected java.security.spec.KeySpec internalGetKeySpec(javax.crypto.SecretKey key, java.lang.Class keySpec)
      Returns a specification (key material) of the given key in the requested format.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.InvalidKeySpecException
        Generates a SecretKey object from the provided key specification (key material).
        Specified by:
        engineGenerateSecret in class javax.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.InvalidKeySpecException
        Generates a SecretKey object 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.InvalidKeySpecException
        Returns a specification (key material) of the given key in the requested format.
        Specified by:
        engineGetKeySpec in class javax.crypto.SecretKeyFactorySpi
        Parameters:
        key - the key
        keySpec - 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.InvalidKeySpecException
        Returns a specification (key material) of the given key in the requested format.
        Parameters:
        key - the key
        keySpec - 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.InvalidKeyException
        This 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:
        engineTranslateKey in class javax.crypto.SecretKeyFactorySpi
        Parameters:
        key - the key.
        Throws:
        java.security.InvalidKeyException - if the given key is null.
© Portions Copyright 2003, 2014, 2015, 2016 IBM Corporation. All rights reserved.
© Portions Copyright 2003, 2014 Oracle and/or its affiliates. All rights reserved.