Class DESKeyFactory


  • public final class DESKeyFactory
    extends javax.crypto.SecretKeyFactorySpi
    This class implements the DES key factory of the IBMJCECCA 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
      DESKeyFactory()
      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 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)
      Translates a SecretKey object, whose provider may be unknown or potentially untrusted, into a corresponding 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

      • DESKeyFactory

        public DESKeyFactory()
        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.
      • 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).
      • 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 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 key
        Throws:
        java.security.InvalidKeyException - if the given key cannot be processed by this key factory.