- java.lang.Object
-
- java.security.KeyFactorySpi
-
- com.ibm.crypto.hdwrCCA.provider.RSAKeyFactory
-
- Direct Known Subclasses:
RSAKeyFactory.PSS
public class RSAKeyFactory extends java.security.KeyFactorySpi
This class implements the RSA 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RSAKeyFactory.PSS
-
Constructor Summary
Constructors Constructor Description RSAKeyFactory()
Creates a new instance of this class.RSAKeyFactory(com.ibm.security.rsa.RSAUtil.KeyType type)
Creates a new instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 <T extends java.security.spec.KeySpec>
TengineGetKeySpec(java.security.Key key, java.lang.Class<T> keySpec)
Returns a specification (key material) of the given key object in the requested format.protected java.security.Key
engineTranslateKey(java.security.Key key)
Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.
-
-
-
Method Detail
-
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 classjava.security.KeyFactorySpi
- Parameters:
keySpec
- the specification (key material) of the public key. Three key specs are supported including RSAPublicKeySpec, KeyLabelKeySpec, and X509EncodedKeySpec. In the case of using a KeyLabelKeySpec the key spec must point to an already existing key within the PKDS.- Returns:
- the public key representing the material contained within the specified key spec.
- 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 classjava.security.KeyFactorySpi
- Parameters:
keySpec
- the specification (key material) of the private key. Four key specs are supported including RSAPrivateCrtKeySpec, RSAPrivateKeySpec, RSAPrivateHWKeySpec, and KeyLabelKeySpec. In the case of using a KeyLabelKeySpec the key spec must point to an already existing key within the PKDS.- Returns:
- the private key representing the material contained within the specified key spec.
- Throws:
java.security.spec.InvalidKeySpecException
- if the given key specification is inappropriate for this key factory to produce a private key.
-
engineGetKeySpec
protected <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key key, java.lang.Class<T> keySpec) throws java.security.spec.InvalidKeySpecException
Returns a specification (key material) of the given key object in the requested format.- Specified by:
engineGetKeySpec
in classjava.security.KeyFactorySpi
- Parameters:
key
- the key object, must be eitherRSAPublicKey
orRSAPrivateHWKey
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
Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.- Specified by:
engineTranslateKey
in classjava.security.KeyFactorySpi
- Parameters:
key
- the key whose provider is unknown or untrusted. Key types acceptable areRSAPublicKey
andRSAPrivateCrtKey
- Returns:
- the translated key.
- Throws:
java.security.InvalidKeyException
- if the given key cannot be processed by this key factory.
-
-