Open In App

KeyPairGenerator initialize() method in Java with Examples

Last Updated : 27 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

initialize(int keysize)

The initialize() method of java.security.KeyPairGenerator is used to initialize KeyPairGenerator object for further use.

Syntax:  

public void initialize(int keysize)

Parameters: This method seeks keysize of int type as a parameter.
Return Value: This method has nothing to return.
Exception: This method throws InvalidParameterException if the greater or lesser value than the specified criteria is passed.

Note: The following program will not run on the online IDE.

Below are the examples to illustrate the initialize(int keysize) method:

Example 1:  

Java




// Java program to demonstrate
// initialize() method
 
import java.security.*;
import java.util.*;
 
public class GFG {
    public static void main(String[] argv) throws Exception
    {
        try {
 
            // creating the object of KeyPairGenerator
            KeyPairGenerator kpg
                = KeyPairGenerator
                      .getInstance("RSA");
 
            // initializing with 1024
            kpg.initialize(1024);
 
            // getting key pairs
            // using genKeyPair() method
            KeyPair kp = kpg.genKeyPair();
 
            // printing the Keypair
            System.out.println("Keypair : " + kp);
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

Keypair : java.security.KeyPair@12a3a380

 

Example 2: For InvalidParameterException 

Java




// Java program to demonstrate
// initialize() method
 
import java.security.*;
import java.util.*;
 
public class GFG {
    public static void main(String[] argv) throws Exception
    {
        try {
 
            // creating the object of KeyPairGenerator
            KeyPairGenerator kpg
                = KeyPairGenerator
                      .getInstance("RSA");
 
            // initializing with 1024
            kpg.initialize(-24);
 
            // getting key pairs
            // using genKeyPair() method
            KeyPair kp = kpg.genKeyPair();
 
            // printing the Keypair
            System.out.println("Keypair : " + kp);
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
        catch (InvalidParameterException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

Exception thrown :
 java.security.InvalidParameterException:
 RSA keys must be at least 512 bits long

 

initialize(int keysize, SecureRandom random)

The initialize() method of java.security.KeyPairGenerator initializes KeyPairGenerator for particular size with SecureRandom object to use further. 

Syntax:  

public void initialize(int keysize,
                       SecureRandom random)

Parameters: This method takes the following arguments as parameters: 

  • size: which is the keysize
  • random: which is the object of SecureRandom type

Return Value: This method provides the object of KeyPairGenerator.
Exception: This method throws InvalidParameterException if the greater or lesser value than the specified criteria is passed.

Below are the examples to illustrate the initialize() method:

Example 1: 

Java




// Java program to demonstrate
// initialize() method
 
import java.security.*;
import java.util.*;
 
public class GFG {
    public static void main(String[] argv)
        throws Exception
    {
        try {
 
            // creating the object of KeyPairGenerator
            KeyPairGenerator kpg
                = KeyPairGenerator
                      .getInstance("RSA");
 
            // creating the object of SecureRandom
            SecureRandom se
                = SecureRandom.getInstance("SHA1PRNG");
 
            // initializing with 1024
            kpg.initialize(1024, se);
 
            // getting key pairs
            // using genKeyPair() method
            KeyPair kp = kpg.genKeyPair();
 
            // printing the Keypair
            System.out.println("Keypair : " + kp);
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
        catch (InvalidParameterException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

Keypair : java.security.KeyPair@4e25154f

 

Example 2: For InvalidParameterException 

Java




// Java program to demonstrate
// initialize() method
 
import java.security.*;
import java.util.*;
 
public class GFG {
    public static void main(String[] argv)
        throws Exception
    {
        try {
 
            // creating the object of KeyPairGenerator
            KeyPairGenerator kpg
                = KeyPairGenerator
                      .getInstance("RSA");
 
            // creating the object of SecureRandom
            SecureRandom se
                = SecureRandom.getInstance("SHA1PRNG");
 
            // initializing with -24
            kpg.initialize(-24, se);
 
            // getting key pairs
            // using genKeyPair() method
            KeyPair kp = kpg.genKeyPair();
 
            // printing the Keypair
            System.out.println("Keypair : " + kp);
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
        catch (InvalidParameterException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

Exception thrown :
 java.security.InvalidParameterException:
 RSA keys must be at least 512 bits long

 

Reference: https://docs.oracle.com/javase/9/docs/api/java/security/KeyPairGenerator.html#initialize-int-java.security.SecureRandom-
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads