com.ibm.crypto.fips.provider

Class RSAKeyFactory

  1. java.lang.Object
  2. extended byjava.security.KeyFactorySpi
  3. extended bycom.ibm.crypto.fips.provider.RSAKeyFactory
All implemented interfaces:
AlgorithmStatus

  1. public final class RSAKeyFactory
  2. extends java.security.KeyFactorySpi
  3. implements AlgorithmStatus
This class implements the RSA key factory of the IBMJCE/IBMJCA provider.
Version:
1.00, 03/16/99
Author:
Janelle Zhang

Field Summary

Modifier and Type Field and Description
  1. static
  2. int
MAX_MODLEN
  1. static
  2. int
MAX_MODLEN_RESTRICT_EXP
  1. static
  2. int
MAX_RESTRICTED_EXPLEN
  1. static
  2. int
MIN_MODLEN

Constructor Summary

Constructor and Description
RSAKeyFactory()

Method Summary

Modifier and Type Method and Description
  1. static
  2. void
checkKeyLengths(int modulusLen,java.math.BigInteger exponent,int minModulusLen,int maxModulusLen)
Check the length of an RSA key modulus/exponent to make sure it is not too short or long.
  1. protected
  2. java.security.PrivateKey
engineGeneratePrivate(java.security.spec.KeySpec keySpec)
Generates a private key object from the provided key specification (key material).
  1. protected
  2. java.security.PublicKey
engineGeneratePublic(java.security.spec.KeySpec keySpec)
Generates a public key object from the provided key specification (key material).
  1. protected
  2. 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.
  1. protected
  2. java.security.Key
engineTranslateKey(java.security.Key key)
This action is not allowed in this provider.
  1. protected
  2. java.security.PrivateKey
internalGeneratePrivate(java.security.spec.KeySpec keySpec)
Generates a private key object from the provided key specification (key material).
  1. protected
  2. java.security.PublicKey
internalGeneratePublic(java.security.spec.KeySpec keySpec)
Generates a public key object from the provided key specification (key material).
  1. protected
  2. 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.
  1. boolean
isFipsApproved()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

MIN_MODLEN

  1. public static final int MIN_MODLEN
See Also:

MAX_MODLEN

  1. public static final int MAX_MODLEN
See Also:

MAX_MODLEN_RESTRICT_EXP

  1. public static final int MAX_MODLEN_RESTRICT_EXP
See Also:

MAX_RESTRICTED_EXPLEN

  1. public static final int MAX_RESTRICTED_EXPLEN
See Also:

Constructor Detail

RSAKeyFactory

  1. public RSAKeyFactory()

Method Detail

checkKeyLengths

  1. public static void checkKeyLengths( int modulusLen,
  2. java.math.BigInteger exponent,
  3. int minModulusLen,
  4. int maxModulusLen)
  5. throws java.security.InvalidKeyException
Check the length of an RSA key modulus/exponent to make sure it is not too short or long. Some impls have their own min and max key sizes that may or may not match with a system defined value.
Parameters:
modulusLen - the bit length of the RSA modulus.
exponent - the RSA exponent
minModulusLen - if > 0, check to see if modulusLen is at least this long, otherwise unused.
maxModulusLen - caller will allow this max number of bits. Allow the smaller of the system-defined maximum and this param.
Throws:
java.security.InvalidKeyException - if any of the values are unacceptable.

isFipsApproved

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

engineGeneratePublic

  1. protected java.security.PublicKey engineGeneratePublic( java.security.spec.KeySpec keySpec)
  2. throws java.security.spec.InvalidKeySpecException
Generates a public key object from the provided key specification (key material).
Specified by:
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

  1. protected java.security.PublicKey internalGeneratePublic( java.security.spec.KeySpec keySpec)
  2. 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

  1. protected java.security.PrivateKey engineGeneratePrivate( java.security.spec.KeySpec keySpec)
  2. throws java.security.spec.InvalidKeySpecException
Generates a private key object from the provided key specification (key material).
Specified by:
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

  1. protected java.security.PrivateKey internalGeneratePrivate( java.security.spec.KeySpec keySpec)
  2. 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

  1. protected java.security.spec.KeySpec engineGetKeySpec( java.security.Key key,
  2. java.lang.Class keySpec)
  3. throws java.security.spec.InvalidKeySpecException
Returns a specification (key material) of the given key object in the requested format.
Specified by:
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

  1. protected java.security.spec.KeySpec internalGetKeySpec( java.security.Key key,
  2. java.lang.Class keySpec)
  3. 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

  1. protected java.security.Key engineTranslateKey( java.security.Key key)
  2. 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 java.security.KeyFactorySpi
Parameters:
key - the key.
Throws:
java.security.InvalidKeyException - if the given key is null.