web-dev-qa-db-fra.com

Impossible de charger la clé privée. (Routines PEM: PEM_read_bio: aucune ligne de départ: pem_lib.c: 648: en attente: N'IMPORTE QUELLE CLÉ PRIVÉE)

J'ai un fichier .key qui est un fichier de clé privée au format PEM. Je n'ai pas créé ce fichier mais je l'ai reçu de quelque part.

Je voulais voir son hachage MD5 avec l'outil openssl comme ci-dessous la commande.

openssl rsa -in server.key -modulus -noout

Mais cela génère une erreur ci-dessous.

unable to load Private Key
13440:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:648:Expecting: ANY PRIVATE KEY

Voici quelques exemples du fichier .key.

openssl asn1parse -in server.key
0:d=0  hl=4 l= 603 cons: SEQUENCE
4:d=1  hl=2 l=   1 prim: INTEGER           :00
7:d=1  hl=3 l= 129 prim: INTEGER           :C141201603899993919CBAA56985E9C7
C6A2AF713A02F5FE88D38CEFBED9304599689280B84B0AB577A9719CA20DDA1246A894AF397A2C57
EE5A582B036CC367E3667454DCD82DBDBF187C35FE39F61C71B517DDDF576F5471B4EC2E045E0F9D
619F5616C4E832F00CBD0DBF41B4BA3CBC4B4B603AE1FE61965917DA732E0DEF
139:d=1  hl=2 l=   3 prim: INTEGER           :010001
144:d=1  hl=3 l= 128 prim: INTEGER           :1687B9AE67562CEDEBDD7A531B84CDB7
093CE138519B93C34B7F626076FF0A262B16EA71904ACB6251A39307C04ADE202055BA13DD9F1539
6123EE408183361A9BC08B9413FA360EA928E48CC3F52B33ACF2980758F02BA2139F652F30A257C2
2E45D7C25835FC4D22B9ECECC12AB632318D4F47E1EBDAD9781B96BCFF03A2D1

 ...

Y a-t-il autre chose que je puisse essayer?

41
tkpl

J'ai changé l'en-tête et le pied de page du fichier PEM en 

-----BEGIN RSA PRIVATE KEY-----

et

-----END RSA PRIVATE KEY-----

Enfin ça marche!

33
tkpl

Ouvrez le fichier de clé dans Notepad ++ et vérifiez le codage. S'il indique UTF-8-BOM, remplacez-le par UTF-8. Enregistrez le fichier et réessayez.

6
Robert L.
> I have a .key file which is PEM formatted private key file.
> ...
> Here's some asn1parse of the .key file...

Qu'il semble OK avec asn1parse m'amène à croire que c'est pas PEM encodé.


Y a-t-il autre chose que je puisse essayer?

Comme cela semble être ASN.1, essayez:

$ openssl rsa -in server.key -inform DER -modulus -noout

Notez le -inform DER pour basculer entre les codages.

4
jww

Supprimez tous les espaces au début du fichier .key.

4
johnnycardy

votre fichier .key contient des caractères illégaux. vous pouvez vérifier le fichier .key comme ceci:

# file server.key

la sortie "server.key: UTF-8 Unicode (avec nomenclature)" signifie qu'il s'agit d'un texte brut et non d'un fichier de clé. La sortie correcte doit être "server.key: clé privée PEM RSA".

utilisez la commande ci-dessous pour supprimer les caractères non autorisés:

# tail -c +4 server.key > new_server.key

Le new_server.key devrait être correct.

Pour plus de détails, vous pouvez cliquer sur ici , merci pour le post.

2
张 俊

Je suis sur Windows 10 et j'ai enregistré ma clé avec Windows1252 encodage et cela a fonctionné pour moi. Sur une autre question StackOverflow, certaines personnes ont résolu ce problème avec UTF-8 avec BOM .

En d'autres termes, il peut s'agir du codage du fichier.

1
R.Bravo

Créer un certificat de CA

c:\mycert>openssl genrsa -out privateKey.pem 4096
c:\mycert>openssl req -new -x509 -nodes -days 3600 -key privateKey.pem -out caKey.pem
1
Pravind Kumar

Pourquoi ne pas utiliser cetificate bot

miam installer epel-release

miam installer certbot-nginx

Obtenir un certificat

certbot --nginx -d example.com -d www.example.com

0
Dylan B