KeyPairGenerator initialize() method in Java with Examples

initialize(int keysize)

The initialize() method of java.security.KeyPairGenerator is ysed 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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// genKeyPair() 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();
  
            // pritning the Keypair
            System.out.println("Keypair : " + kp);
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}

chevron_right


Output:

Keypair : java.security.KeyPair@12a3a380

Example 2: For InvalidParameterException

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// genKeyPair() 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();
  
            // pritning 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);
        }
    }
}

chevron_right


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 a 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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// genKeyPair() 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();
  
            // pritning 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);
        }
    }
}

chevron_right


Output:

Keypair : java.security.KeyPair@4e25154f

Example 2: For InvalidParameterException

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// genKeyPair() 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();
  
            // pritning 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);
        }
    }
}

chevron_right


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-




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.