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.
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>
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!