- java.lang.Object
-
- java.security.KeyPairGeneratorSpi
-
- java.security.KeyPairGenerator
-
- com.ibm.crypto.hdwrCCA.provider.RSAKeyPairGenerator
-
- Direct Known Subclasses:
RSAKeyPairGenerator.PSS
public class RSAKeyPairGenerator extends java.security.KeyPairGenerator
This class generates RSA public/private key pairs via hardware. An application can specify the size, the key label, the storage type and usage type of the key pair to be generated via an instance of the RSAKeyParametersSpec class. The default key is of size 1024 with a random-generated label, stored encrypted outside the hardware device (KeyHWAttributeValues.PKDS) with a usage of signature only (KeyHWAttributeValues.Signature).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RSAKeyPairGenerator.PSS
-
Constructor Summary
Constructors Constructor Description RSAKeyPairGenerator()
Creates a new instance of this class.RSAKeyPairGenerator(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 java.security.KeyPair
generateKeyPair()
Generates an RSA key pair via hardware.void
initialize(int strength, java.security.SecureRandom random)
Initializes this KeyPairGenerator for given modulus size and secure random source.void
initialize(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
Initializes this KeyPairGenerator for given parameters and secure random source.
-
-
-
Method Detail
-
initialize
public void initialize(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidParameterException
Initializes this KeyPairGenerator for given parameters and secure random source.- Overrides:
initialize
in classjava.security.KeyPairGenerator
- Parameters:
params
- the RSAKeyParameterSpec for this object.random
- the SecureRandom object for generating random numbers.- Throws:
java.security.InvalidAlgorithmParameterException
- thrown when parameter set is not recognized.java.security.InvalidParameterException
-
initialize
public void initialize(int strength, java.security.SecureRandom random) throws java.security.InvalidParameterException
Initializes this KeyPairGenerator for given modulus size and secure random source. The private key will be stored in the CLEAR not the hardware or the PKDS, the private key label will be randomly generated and the key will be used for signing purposes.- Overrides:
initialize
in classjava.security.KeyPairGenerator
- Parameters:
strength
- the length of the key to be generated.random
- the SecureRandom object for generating a random number.- Throws:
java.security.InvalidParameterException
- thrown when a parameter is not recognized.
-
generateKeyPair
public java.security.KeyPair generateKeyPair()
Generates an RSA key pair via hardware. The public key is usable outside this provider. However, the private key is stored in the hardware(RETAIN) or a hardware associated file (PKDS) or as a clear token representaion (CLEAR) and is therefore only useable by this provider on the machine that generated the key pair.- Overrides:
generateKeyPair
in classjava.security.KeyPairGenerator
- Returns:
- a KeyPair contains a pair of generated RSA keys
- Throws:
java.lang.IllegalArgumentException
- in the key label formal is not valid
-
-