KeyStore getEntry() method in Java with Examples

The getEntry() method of java.security.KeyStore class is used to get the keystore entry for this instance with the help of the specified alias and the protection parameter.

Syntax:

public final KeyStore.Entry
  getEntry(String alias, 
           KeyStore.ProtectionParameter protParam)
    throws NoSuchAlgorithmException, 
           UnrecoverableEntryException, 
           KeyStoreException

Parameter: This method accepts following arguments as a parameter.

  • alias: which is name of the Keystore Entry to be fetched.
  • protParam: which contains the password to access keystore.

Return Value: This method returns the keystore entry for the requested alias if it exists.

Exception: This method throws following exception



  • NullPointerException: for null alias.
  • NoSuchAlgorithmException: if the algorithm is missing.
  • UnrecoverableEntryException: if the specified password is invalid.
  • KeyStoreException: if the keystore has not been initialized (loaded).

Note: All the programs in this article won’t run on online IDE as no ‘privatekey’ Keystore exists. You can check this code on Java compiler on your system. To check this code, create a Keystore ‘privatekey’ on your system and set your own Keystore password to access that Keystore.

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

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate getEntry() method
  
import java.security.*;
import java.security.cert.*;
import java.util.*;
import java.io.*;
  
public class GFG {
    public static void main(String[] argv)
    {
        try {
  
            // creating the object of KeyStore
            // and getting instance
            KeyStore sr = KeyStore.getInstance("JKS");
  
            // Keystore password is required
            // to access Keystore
            char[] pass = ("123456").toCharArray();
  
            // creating and initializing object of InputStream
            InputStream is
                = new FileInputStream(
                    "f:/java/private key.store");
  
            // initializing keystore object
            sr.load(is, pass);
  
            // creating and initializing
            // KeyStore.ProtectionParameter object
            KeyStore.ProtectionParameter entryPassword
                = new KeyStore.PasswordProtection(pass);
  
            // getting KeyStore.PrivateKeyEntry object
            // using getEntry() method
            KeyStore.PrivateKeyEntry prient
                = (KeyStore.PrivateKeyEntry)sr
                      .getEntry("ftpkey", entryPassword);
  
            // display the result
            System.out.println("PrivateKey of particular entry: "
                               + prient.getPrivateKey());
        }
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (KeyStoreException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (FileNotFoundException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (IOException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (CertificateException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (UnrecoverableEntryException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}

chevron_right


Output:

Example 2: For KeyStoreException

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate getEntry() method
  
import java.security.*;
import java.security.cert.*;
import java.util.*;
import java.io.*;
  
public class GFG {
    public static void main(String[] argv)
    {
        try {
  
            // creating the object of KeyStore
            // and getting instance
            KeyStore sr = KeyStore.getInstance("JKS");
  
            // keystore password is required to access keystore
            char[] pass = ("123456").toCharArray();
  
            // creating and initializing object of InputStream
            InputStream is
                = new FileInputStream(
                    "f:/java/private key.store");
  
            // initializing keystore object
            // sr.load(is, pass);
  
            // creating and initializing
            // KeyStore.ProtectionParameter object
            KeyStore.ProtectionParameter entryPassword
                = new KeyStore.PasswordProtection(pass);
  
            // getting KeyStore.PrivateKeyEntry object
            // using getEntry() method
            KeyStore.PrivateKeyEntry prient
                = (KeyStore.PrivateKeyEntry)sr
                      .getEntry("ftpkey", entryPassword);
  
            // display the result
            System.out.println(
                "PrivateKey of particular entry : "
                + prient.getPrivateKey());
        }
        catch (FileNotFoundException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (KeyStoreException e) {
  
            System.out.println("\nException thrown : " + e);
        }
        catch (UnrecoverableEntryException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}

chevron_right