Maison > Java > javaDidacticiel > Comment charger une clé privée RSA à partir d'un fichier en Java pour la vérification de la signature XML ?

Comment charger une clé privée RSA à partir d'un fichier en Java pour la vérification de la signature XML ?

Patricia Arquette
Libérer: 2024-10-25 09:42:28
original
849 Les gens l'ont consulté

How to Load an RSA Private Key from a File in Java for XML Signature Verification?

Chargement de la clé privée RSA à partir d'un fichier en Java

Lors du traitement de données sensibles en matière de sécurité, il est crucial de pouvoir vérifier l'authenticité des données numériques signatures. Dans ce cas, la tâche consiste à charger une clé privée RSA à partir d'un fichier pour vérifier une signature XML.

Pour y parvenir, suivez ces étapes :

1. Lire le fichier de clé privée en octets :

<code class="java">String keyPath = "mykey.pem";
File privKeyFile = new File(keyPath);
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(privKeyFile));
byte[] privKeyBytes = new byte[(int) privKeyFile.length()];
bis.read(privKeyBytes);
bis.close();</code>
Copier après la connexion

2. Convertir la clé privée au format PKCS8 (facultatif)

Si votre clé privée n'est pas déjà au format PKCS8, convertissez-la à l'aide de cette commande :

<code class="bash">openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file -nocrypt > pkcs8_key</code>
Copier après la connexion

Ensuite, lisez la clé convertie en utilisant le code suivant :

<code class="java">byte[] convertedPrivKeyBytes = Files.readAllBytes(Paths.get("pkcs8_key"));</code>
Copier après la connexion

3. Générez la clé privée RSA :

<code class="java">KeyFactory keyFactory = KeyFactory.getInstance("RSA");
KeySpec ks = new PKCS8EncodedKeySpec(convertedPrivKeyBytes);
RSAPrivateKey privKey = (RSAPrivateKey) keyFactory.generatePrivate(ks);</code>
Copier après la connexion

4. Vérifiez la signature numérique :

Une fois que vous disposez de la clé privée RSA, vous pouvez l'utiliser pour vérifier la signature de l'objet SAMLResponse :

<code class="java">samlResponse.sign(Signature.getInstance("SHA1withRSA").toString(), privKey, certs);</code>
Copier après la connexion

En suivant ces étapes, vous peut charger avec succès une clé privée RSA à partir d'un fichier et l'utiliser pour vérifier les signatures numériques.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal