Class AESKeyFactory


  • public final class AESKeyFactory
    extends javax.crypto.SecretKeyFactorySpi
    This class implements the AES key factory of the IBM JCECCA provider.

    This documentation describes a Service Provider Interface. It is provided for implementation insight only. This class is not intended to be called directly by application developers. Please consult the 'Java Cryptography Architecture Standard' for details on how to use this interface through a public standard class.

    NOTE:
    Certain operations may require specific hardware or software, or specific key types. See the rest of this document and the z/OS Unique Considerations Hardware Crypto Reference Guide for more details. Unsupported operations and/or combinations may result in a RuntimeException Hardware Error.
    For public interface details, consult the JCE API documentation for java.security.KeyFactory.
    • Constructor Summary

      Constructors 
      Constructor Description
      AESKeyFactory()
      Verify the JCE framework in the constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected javax.crypto.SecretKey engineGenerateSecret​(java.security.spec.KeySpec keySpec)
      Generates an AES 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)
      Translates a SecretKey object, whose provider may be unknown or potentially untrusted, into a corresponding AES SecretKey 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

      • 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 an AES 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 AES secret key
        Throws:
        java.security.spec.InvalidKeySpecException - if the given key specification is inappropriate for this key factory to produce an AES secret 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 secret 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
        Translates a SecretKey object, whose provider may be unknown or potentially untrusted, into a corresponding AES SecretKey object of this key factory.
        Specified by:
        engineTranslateKey in class javax.crypto.SecretKeyFactorySpi
        Parameters:
        key - the key whose provider is unknown or untrusted
        Returns:
        the translated AES secret key
        Throws:
        java.security.InvalidKeyException - if the given key cannot be processed by this key factory.