212 votes

Comment extraire une clé publique / privée d'un fichier PKCS12 avec openSSL pour une utilisation ultérieure dans l'authentification SSH-PK?

Je veux extraire le publique et la clé privée à partir de mon fichier PKCS#12 pour les utiliser plus tard dans SSH-une Clé Publique d'Authentification.

Maintenant, im de générer des clés via ssh-keygen que j'ai mis dans .ssh/authorized_key, quelque part sur le côté client.

À l'avenir, je veux utiliser les clés à partir d'un fichier PKCS#12 conteneur, donc j'en ai pour extraire la clé publique d'abord de fichier PKCS#12, puis de les mettre dans le .ssh/authorized_keys. Est-il possible de le faire fonctionner via openssl? Sont les clés PKCS#12 compatible pour ssh-clé publique d'authentification?

1voto

sirgeorge Points 2839

Pour autant que je sache, le PKCS#12 est juste un magasin de certificats/clés publiques/privées. Si vous avez extrait une clé publique d'un fichier PKCS#12, OpenSSH devrait pouvoir l'utiliser à condition qu'elle ait été extraite dans le fichier PEM format. Vous savez probablement déjà que vous avez également besoin d'une clé privée correspondante (également au format PEM ) afin de l'utiliser pour l'authentification ssh-public-key.

1voto

Arvind Sachdeva Points 31

La réponse acceptée est la commande correcte, je veux juste ajouter une chose supplémentaire, lors de l'extraction de la clé si vous laissez le mot de passe PEM( "Enter PEM pass phrase:" ) vierge, la clé complète ne sera pas extraite, mais seulement l'attribut localKeyID sera extraite. Pour obtenir la clé complète, vous devez spécifier un mot de passe PEM lorsque vous exécutez la commande suivante.

Veuillez noter que lorsqu'il s'agit du mot de passe d'importation, vous pouvez spécifier le mot de passe réel pour l'utilisateur. "Enter Import Password:" ou vous pouvez laisser ce mot de passe vide :

openssl pkcs12 -in yourP12File.pfx -nocerts -out privateKey.pem

2 votes

Cela devrait être un commentaire à la réponse acceptée, pas la réponse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X