Class RSAKeyPairGenerator

java.lang.Object
java.security.KeyPairGeneratorSpi
java.security.KeyPairGenerator
com.ibm.crypto.hdwrCCA.provider.RSAKeyPairGenerator
Direct Known Subclasses:
RSAKeyPairGenerator.PSS

public class RSAKeyPairGenerator extends 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).
  • Constructor Details

    • RSAKeyPairGenerator

      public RSAKeyPairGenerator()
      Creates a new instance of this class.
    • RSAKeyPairGenerator

      public RSAKeyPairGenerator(com.ibm.security.rsa.RSAUtil.KeyType type)
      Creates a new instance of this class.
  • Method Details

    • initialize

      Initializes this KeyPairGenerator for given parameters and secure random source.
      Overrides:
      initialize in class KeyPairGenerator
      Parameters:
      params - the RSAKeyParameterSpec for this object.
      random - the SecureRandom object for generating random numbers.
      Throws:
      InvalidAlgorithmParameterException - thrown when parameter set is not recognized.
      InvalidParameterException
    • initialize

      public void initialize(int strength, SecureRandom random) throws 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 class KeyPairGenerator
      Parameters:
      strength - the length of the key to be generated.
      random - the SecureRandom object for generating a random number.
      Throws:
      InvalidParameterException - thrown when a parameter is not recognized.
    • generateKeyPair

      public 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 class KeyPairGenerator
      Returns:
      a KeyPair contains a pair of generated RSA keys
      Throws:
      IllegalArgumentException - in the key label formal is not valid