Maison  >  Article  >  Java  >  Comment charger une clé publique RSA à partir d’un fichier en Java ?

Comment charger une clé publique RSA à partir d’un fichier en Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 04:11:28509parcourir

How to Load an RSA Public Key from a File in Java?

Charger la clé publique RSA à partir d'un fichier

Dans cet article, nous verrons comment charger une clé publique RSA à partir d'un fichier en Java. Ce scénario se produit lorsque nous avons généré une paire de clés privée et publique à l'aide d'OpenSSL et que nous souhaitons les utiliser en Java à des fins de signature numérique et de vérification.

Chargement de la clé privée

Nous pouvons convertir la clé privée au format PKCS8 en utilisant OpenSSL puis chargez-le en utilisant le code suivant :

<code class="java">import java.nio.file.*;
import java.security.*;
import java.security.spec.*;

public class PrivateKeyReader {

  public static PrivateKey get(String filename)
    throws Exception {

    byte[] keyBytes = Files.readAllBytes(Paths.get(filename));

    PKCS8EncodedKeySpec spec =
      new PKCS8EncodedKeySpec(keyBytes);
    KeyFactory kf = KeyFactory.getInstance("RSA");
    return kf.generatePrivate(spec);
  }
}</code>

Chargement de la clé publique

Pour charger la clé publique, nous devons la convertir au format X509. Voici l'extrait de code :

<code class="java">import java.nio.file.*;
import java.security.*;
import java.security.spec.*;

public class PublicKeyReader {

  public static PublicKey get(String filename)
    throws Exception {
    
    byte[] keyBytes = Files.readAllBytes(Paths.get(filename));

    X509EncodedKeySpec spec =
      new X509EncodedKeySpec(keyBytes);
    KeyFactory kf = KeyFactory.getInstance("RSA");
    return kf.generatePublic(spec);
  }
}</code>

En suivant ces étapes, vous pouvez charger avec succès vos clés publiques et privées RSA à partir de fichiers et les utiliser pour les opérations de signature et de vérification.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn