com.ibm.crypto.fips.provider
Class RSAKeyFactory
- java.lang.Object
java.security.KeyFactorySpi
com.ibm.crypto.fips.provider.RSAKeyFactory
All implemented interfaces:
- public final class RSAKeyFactory
- extends java.security.KeyFactorySpi
- implements AlgorithmStatus
Version:
1.00, 03/16/99
Author:
Janelle Zhang
Field Summary
Modifier and Type | Field and Description |
---|---|
|
MAX_MODLEN
|
|
MAX_MODLEN_RESTRICT_EXP
|
|
MAX_RESTRICTED_EXPLEN
|
|
MIN_MODLEN
|
Constructor Summary
Constructor and Description |
---|
RSAKeyFactory()
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
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.
|
|
engineGeneratePrivate(java.security.spec.KeySpec keySpec)
Generates a private key object from the provided key specification
(key material).
|
|
engineGeneratePublic(java.security.spec.KeySpec keySpec)
Generates a public key object from the provided key specification
(key material).
|
|
engineGetKeySpec(java.security.Key key,java.lang.Class keySpec)
Returns a specification (key material) of the given key object in the
requested format.
|
|
engineTranslateKey(java.security.Key key)
This action is not allowed in this provider.
|
|
internalGeneratePrivate(java.security.spec.KeySpec keySpec)
Generates a private key object from the provided key specification
(key material).
|
|
internalGeneratePublic(java.security.spec.KeySpec keySpec)
Generates a public key object from the provided key specification
(key material).
|
|
internalGetKeySpec(java.security.Key key,java.lang.Class keySpec)
Returns a specification (key material) of the given key object
in the requested format.
|
|
isFipsApproved()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail
MIN_MODLEN
- public static final int MIN_MODLEN
See Also:
MAX_MODLEN
- public static final int MAX_MODLEN
See Also:
MAX_MODLEN_RESTRICT_EXP
- public static final int MAX_MODLEN_RESTRICT_EXP
See Also:
MAX_RESTRICTED_EXPLEN
- public static final int MAX_RESTRICTED_EXPLEN
See Also:
Constructor Detail
RSAKeyFactory
- public RSAKeyFactory()
Method Detail
checkKeyLengths
- public static void checkKeyLengths( int modulusLen,
- java.math.BigInteger exponent,
- int minModulusLen,
- int maxModulusLen)
- 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
- 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:
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).
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
- 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).
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
- 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.
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
- 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.
Specified by:
engineTranslateKey
in class java.security.KeyFactorySpi
Parameters:
key
- the key. Throws:
java.security.InvalidKeyException
- if the given key is null.