com.ibm.crypto.fips.provider
Class RSAKeyFactory

java.lang.Object
  |
  +--java.security.KeyFactorySpi
        |
        +--com.ibm.crypto.fips.provider.RSAKeyFactory
All Implemented Interfaces:
AlgorithmStatus

public final class RSAKeyFactory
extends java.security.KeyFactorySpi
implements AlgorithmStatus

This class implements the RSA key factory of the IBMJCE/IBMJCA provider.

Version:
1.00, 03/16/99
Author:
Janelle Zhang

Constructor Summary
RSAKeyFactory()
           
 
Method Summary
protected  java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec keySpec)
          Generates a private key object from the provided key specification (key material).
protected  java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec keySpec)
          Generates a public key object from the provided key specification (key material).
protected  java.security.spec.KeySpec engineGetKeySpec(java.security.Key key, java.lang.Class keySpec)
          Returns a specification (key material) of the given key object in the requested format.
protected  java.security.Key engineTranslateKey(java.security.Key key)
          This action is not allowed in this provider.
protected  java.security.PrivateKey internalGeneratePrivate(java.security.spec.KeySpec keySpec)
          Generates a private key object from the provided key specification (key material).
protected  java.security.PublicKey internalGeneratePublic(java.security.spec.KeySpec keySpec)
          Generates a public key object from the provided key specification (key material).
protected  java.security.spec.KeySpec internalGetKeySpec(java.security.Key key, java.lang.Class keySpec)
          Returns a specification (key material) of the given key object in the requested format.
 boolean isFipsApproved()
          Module identifies if the cryptographic operation (algorithm) is FIPS certified
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RSAKeyFactory

public RSAKeyFactory()
Method Detail

isFipsApproved

public boolean isFipsApproved()
Description copied from interface: AlgorithmStatus
Module identifies if the cryptographic operation (algorithm) is FIPS certified
Specified by:
isFipsApproved in interface AlgorithmStatus
See Also:
AlgorithmStatus.isFipsApproved()

engineGeneratePublic

protected java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec keySpec)
                                                throws java.security.spec.InvalidKeySpecException
Generates a public key object from the provided key specification (key material).
Overrides:
engineGeneratePublic in class java.security.KeyFactorySpi
Parameters:
keySpec - the specification (key material) of the public key
Returns:
the public 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.

internalGeneratePublic

protected java.security.PublicKey internalGeneratePublic(java.security.spec.KeySpec keySpec)
                                                  throws java.security.spec.InvalidKeySpecException
Generates a public key object from the provided key specification (key material).
Parameters:
keySpec - the specification (key material) of the public key
Returns:
the public key
Throws:
java.security.spec.InvalidKeySpecException - if the given key specification is inappropriate for this key factory to produce a public key.

engineGeneratePrivate

protected java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec keySpec)
                                                  throws java.security.spec.InvalidKeySpecException
Generates a private key object from the provided key specification (key material).
Overrides:
engineGeneratePrivate in class java.security.KeyFactorySpi
Parameters:
keySpec - the specification (key material) of the private key
Returns:
the private key
Throws:
java.security.spec.InvalidKeySpecException - if the given key specification is inappropriate for this key factory to produce a private key.
FIPSRuntimeException - if SelfTest.isFipsRunnable returns false.

internalGeneratePrivate

protected java.security.PrivateKey internalGeneratePrivate(java.security.spec.KeySpec keySpec)
                                                    throws java.security.spec.InvalidKeySpecException
Generates a private key object from the provided key specification (key material).
Parameters:
keySpec - the specification (key material) of the private key
Returns:
the private key
Throws:
java.security.spec.InvalidKeySpecException - if the given key specification is inappropriate for this key factory to produce a private key.

engineGetKeySpec

protected java.security.spec.KeySpec engineGetKeySpec(java.security.Key key,
                                                      java.lang.Class keySpec)
                                               throws java.security.spec.InvalidKeySpecException
Returns a specification (key material) of the given key object in the requested format.
Overrides:
engineGetKeySpec in class java.security.KeyFactorySpi
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(java.security.Key key,
                                                        java.lang.Class keySpec)
                                                 throws java.security.spec.InvalidKeySpecException
Returns a specification (key material) of the given key object 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 java.security.Key engineTranslateKey(java.security.Key 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.
Overrides:
engineTranslateKey in class java.security.KeyFactorySpi
Parameters:
key - the key.
Throws:
java.security.InvalidKeyException - if the given key is null.