getInstance
factory methods (static methods that return instances of a given class). initialize
method in this KeyPairGenerator class that takes these two universally shared types of arguments. There is also one that takes just a keysize
argument, and uses the SecureRandom
implementation of the highest-priority installed provider as the source of randomness. (If none of the installed providers supply an implementation of SecureRandom
, a system-provided source of randomness is used.) initialize
methods, it is up to the provider what to do about the algorithm-specific parameters (if any) to be associated with each of the keys. p
, q
, and g
parameters. If the modulus size is not one of the above values, the Sun provider creates a new set of parameters. Other providers might have precomputed parameter sets for more than just the three modulus sizes mentioned above. Still others might not have a list of precomputed parameters at all and instead always create new parameter sets. initialize
methods that have an AlgorithmParameterSpec
argument. One also has a SecureRandom
argument, while the the other uses the SecureRandom
implementation of the highest-priority installed provider as the source of randomness. (If none of the installed providers supply an implementation of SecureRandom
, a system-provided source of randomness is used.) initialize
method), each provider must supply (and document) a default initialization. For example, the Sun provider uses a default modulus size (keysize) of 1024 bits. KeyPairGeneratorSpi
for historical reasons. Application developers should only take notice of the methods defined in this KeyPairGenerator
class; all the methods in the superclass are intended for cryptographic service providers who wish to supply their own implementations of key pair generators. KeyPairGenerator
algorithms and keysizes in parentheses: DiffieHellman
(1024)DSA
(1024)RSA
(1024, 2048)java.security
package. That’s mean we have to import this package into our code. The class for generating the key pairs is KeyPairGenerator
. To get an instance of this class we have to call the getInstance()
methods by providing two parameters. The first parameter is algorithm and the second parameter is the provider.initialize()
method takes two parameters, the key size and a source of randomness. We set the key size to 1024
and pass and instance of SecureRandom
.generateKeyPair()
method of the KeyPairGenerator
class. This will return a KeyPair
object from where we can get the PrivateKey
and PublicKey
by calling the getPrivate()
and getPublic()
method.