Skip to content
Related Articles

Related Articles

Improve Article
KeyPairGenerator initialize() method in Java with Examples
  • Last Updated : 12 May, 2021

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
// 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();
 
            // 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
// 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();
 
            // 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
// 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();
 
            // 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
// 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();
 
            // 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-
 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :