2010-03-20 4 views
12

J'ai des clés publiques et privées dans des fichiers .pem séparés que j'aurais besoin d'entrer dans un keystore JKS.Importer les clés publique et privée .pem du keystore JKS

Essayé en utilisant la commande -import dans KeyTool pour cela, ce qui donne une erreur "pas un certificat X.509".

Je suppose que la solution a à voir avec OpenSSL, mais je ne suis pas entièrement sûr de ce qu'il faut faire avec.

J'apprécierais vraiment toute aide avec ceci, puisque je suis complètement paumé avec tout le crypto-lié.

Merci à l'avance, --Rolf

Répondre

3

KeyTool les objets attend à ce que le format DER. PEM est DER codé en Base64, avec un en-tête et un pied de page. KeyTool ne peut pas analyser PEM. Toutefois, OpenSSL peut convertir des objets PEM en DER. Par exemple, pour un certificat X.509, l'indicateur de ligne de commande -outform DER indique à OpenSSL d'utiliser DER comme format de sortie.

This page contient apparemment des explications plus détaillées.

+0

Bonjour, merci d'avoir répondu! J'ai réussi à convertir la clé privée en DER avec OpenSSL, mais pas la clé publique. openssl x509 -in pubkey.pem -inform PEM -outform DER -out pubkey.der résultats dans l'erreur suivante: incapable de charger le certificat 5280: erreur: 0906D06C: routines PEM: PEM_read_bio: aucune ligne de départ :. \ crypto \ pem \ pem_lib .c: 642: Expecting: CERTIFICAT DE CONFIANCE Je suppose qu'il s'attend à ce que le fichier de clé publique commence par un en-tête "BEGIN TRUSTED CERTIFICATE", mais qu'il contient réellement "BEGIN PUBLIC KEY" " – Rolf

+4

Vous avez une" clé publique solitaire ". Vous avez besoin d'un certificat. KeyTool suit le format KeyStore, qui n'accepte les clés privées que si elles sont accompagnées de certificats. Un certificat contient la clé publique, ainsi que d'autres informations telles qu'une identité (le «nom du propriétaire de la clé») et une signature d'une «autorité de certification». Vous pouvez utiliser la clé privée pour créer un "certificat auto-signé" (un certificat où la signature est calculée par rapport à la clé elle-même); essayez ceci: 'openssl req -new -x509 -key privkey.pem -out cert.pem' –

+0

D'accord, cela m'a mis sur la bonne voie, merci! – Rolf

Questions connexes