Maison > Java > javaDidacticiel > le corps du texte

Comment charger une clé privée RSA à partir d'un fichier au format PKCS8 ?

Susan Sarandon
Libérer: 2024-10-25 03:37:02
original
626 Les gens l'ont consulté

How to Load an RSA Private Key from File in PKCS8 Format?

Comment charger la clé privée RSA à partir d'un fichier à l'aide de la conversion du format PKCS8

Vous pouvez rencontrer des erreurs lorsque vous tentez de signer un document XML à l'aide d'un RSA clé privée qui n'est pas au format PKCS8. Pour résoudre ce problème, suivez ces étapes :

  1. Convertir la clé privée au format PKCS8 : utilisez l'utilitaire OpenSSL pour convertir la clé privée codée PEM existante au format PKCS8 DER. Exécutez la commande suivante :
openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file  -nocrypt > pkcs8_key
Copier après la connexion
  1. Chargez la clé PKCS8 en Java :

    a. Créez un octet[] pour contenir la clé privée codée en PKCS8 :

    <code class="java">byte[] pkcs8Key = Files.readAllBytes(Path.of("PKCS8_key"));</code>
    Copier après la connexion

    b. Instancier une KeyFactory pour RSA :

    <code class="java">KeyFactory keyFactory = KeyFactory.getInstance("RSA");</code>
    Copier après la connexion

    c. Générez une clé privée à partir des données de clé codées en PKCS8 :

    <code class="java">PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(pkcs8Key);
    RSAPrivateKey privateKey = (RSAPrivateKey) keyFactory.generatePrivate(keySpec);</code>
    Copier après la connexion

En suivant ces étapes, vous pouvez charger avec succès une clé privée RSA au format PKCS8 et l'utiliser pour signer votre XML. document. Notez que la commande utilisée pour convertir la clé privée n'est disponible que dans les versions OpenSSL 1.0.2 et ultérieures.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!