Class 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).
    • 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.
      • Methods inherited from class java.security.KeyPairGenerator

        genKeyPair, getAlgorithm, getInstance, getInstance, getInstance, getProvider, initialize, initialize
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

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