J'ai OpenSSL x64 sur Windows 7 que j'ai téléchargé depuis openssl-for-windows sur Google Code . J'essaie d'exécuter:
openssl pkcs12 -export -in "path.p12" -out "newfile.pem"
mais je reçois une erreur.
unable to load private key
Comment extraire le certificat dans PEM du magasin PKCS # 12 à l'aide d'OpenSSL?
Réponses:
Essayer:
Après cela, vous avez:
Pour mettre le certificat et la clé dans le même fichier, utilisez ce qui suit
Si vous devez saisir le mot de passe PKCS # 12 directement à partir de la ligne de commande (par exemple un script), ajoutez simplement
-passin pass:${PASSWORD}
:la source
openssl pkcs12 -in path.p12 -out newfile.pem
Il vous suffit de fournir un mot de passe. Vous pouvez le faire dans la même ligne de commande avec la syntaxe suivante:
Vous serez alors invité à entrer un mot de passe pour crypter la clé privée dans votre fichier de sortie. Incluez l'option "nœuds" dans la ligne ci-dessus si vous souhaitez exporter la clé privée non chiffrée (texte en clair):
Plus d'informations: http://www.openssl.org/docs/apps/pkcs12.html
la source
Si vous pouvez utiliser Python, c'est encore plus facile si vous avez le
pyopenssl
module. C'est ici:la source
file
et nonopen
? Je veux juste le comprendre car je vais l'utiliser à l'avenir (pour simplifier ma solution en appelant openssh comme commande)open("push.p12", 'rb').read()
.with open("push.pem", "wb") as fobj: fobj.write(crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate()))
pour écrire le certificat etwith open("push.key", "wb") as fobj: fobj.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey()))
pour la clé.J'avais un fichier PFX et j'avais besoin de créer un fichier KEY pour NGINX, alors j'ai fait ceci:
Ensuite, j'ai dû modifier le fichier KEY et supprimer tout le contenu jusqu'à
-----BEGIN PRIVATE KEY-----
. Après cela, NGINX a accepté le fichier KEY.la source
Si vous avez besoin d'un fichier PEM sans mot de passe, vous pouvez utiliser cette solution.
Copiez et collez simplement la clé privée et le certificat dans le même fichier et enregistrez-le au format .pem.
Le fichier ressemblera à:
C'est le seul moyen que j'ai trouvé pour télécharger des certificats sur des appareils Cisco pour HTTPS.
la source