Método KeyStore getKey() en Java con ejemplos

El método getKey() de la clase java.security.KeyStore se usa para obtener la clave asociada con el alias dado, usando la contraseña dada para recuperarla.

Sintaxis:

public final Key getKey(String alias, char[] password)
    throws KeyStoreException, 
           NoSuchAlgorithmException, 
           UnrecoverableKeyException

Parámetro: Este método acepta los siguientes parámetros:

  • alias: que es el nombre de alias con el que se va a comprobar la clave
  • contraseña: que es la contraseña para recuperar la clave que se va a comprobar

Valor devuelto: este método devuelve la clave para el alias solicitado, si existe.

Excepción: este método arroja las siguientes excepciones

  • KeyStoreException : si el almacén de claves no está cargado.
  • NoSuchAlgorithmException : si falta el algoritmo

Nota: Todos los programas de este artículo no se ejecutarán en un IDE en línea, ya que no existe un almacén de claves de «clave privada». Puede verificar este código en el compilador de Java en su sistema. Para verificar este código, cree una ‘clave privada’ de almacén de claves en su sistema y establezca su propia contraseña de almacén de claves para acceder a ese almacén de claves.

A continuación se muestran los ejemplos para ilustrar el método getKey() :

Ejemplo 1:

// Java program to demonstrate getKey() 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
            // By using getInstance() method
            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);
  
            // getting the Key
            // using getKey() method
            Key key = sr.getKey("ftpkey", pass);
  
            // display the result
            System.out.println("Key : "
                               + key);
        }
  
        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 (UnrecoverableKeyException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Ejemplo 2: para KeyStoreException

// Java program to demonstrate getKey() 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
            // By using getInstance() method
            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);
  
            // getting the Key
            // using getKey() method
            Key key = sr.getKey("ftpkey", pass);
  
            // display the result
            System.out.println("Key : "
                               + key);
        }
        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 (UnrecoverableKeyException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Referencia: https://docs.oracle.com/javase/9/docs/api/java/security/KeyStore.html#getKey-java.lang.String-char:A-

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *