J'ai un fichier .key qui est un fichier de clé privée au format PEM. Je n'ai pas fait ce fichier mais je l'ai obtenu de quelque part.
Je voulais voir son hachage MD5 avec l'outil openssl comme la commande ci-dessous.
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 une analyse 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?
openssl
private-key
tkpl
la source
la source
scp
de copier le fichier de Windows vers Ubuntu. Pour résoudre ce problème, j'ai supprimé le fichier sur Ubuntu, créé un nouveau fichier vide à cet endroit, puis utilisévim
puis collé dans le contenu correct.Réponses:
Ouvrez le fichier de clé dans Notepad ++ et vérifiez le codage. S'il indique UTF-8-BOM, changez-le en UTF-8. Enregistrez le fichier et réessayez.
la source
J'ai changé l'en-tête et le pied de page du fichier PEM en
et
Enfin, ça marche!
la source
-inform pem
à la commande pour obtenir le même résultat. Par exopenssl rsa -in server.key -modulus -noout -inform pem
.votre fichier .key contient des caractères non autorisés. vous pouvez vérifier le fichier .key comme ceci:
La sortie "server.key: UTF-8 Unicode (avec BOM) text" 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 illégaux:
Le new_server.key doit être correct.
Pour plus de détails, vous pouvez cliquer ici , merci pour le message.
la source
file server.key
cette commande m'a aidé à obtenir le problème. Merci.Le fait qu'il semble correct
asn1parse
me laisse croire que ce n'est pas encodé en PEM.Comme il semble être ASN.1, essayez:
Notez le
-inform DER
pour basculer entre les encodages.la source
Créer un certificat CA
la source
Supprimez tous les espaces au début du fichier .key.
la source
Résolution de mon côté. Changer le codage en UTF8 sans nomenclature
la source
Je suis sous Windows 10 et j'ai enregistré ma clé avec Windows1252 codage et cela a fonctionné pour moi. Sur une autre question StackOverflow, certaines personnes corrigeaient ce problème avec UTF-8 avec BOM .
En d'autres termes, il peut s'agir du codage du fichier.
la source
Peut-être que la clé privée elle-même n'est pas présente dans le fichier. J'ai également été confronté au même problème mais le problème est qu'il n'y a pas de clé privée présente dans le fichier.
la source
cela peut se produire si vous essayez d'utiliser votre clé publique pour créer un certificat au lieu de votre clé privée. vous devriez utiliser la clé privée
la source
J'ai eu le même problème aujourd'hui et j'ai remarqué que cela se produit lorsque le propriétaire / groupe de fichiers n'est pas celui qui exécute l'application qui lit la clé. C'est peut-être aussi votre problème.
la source
Aucune des autres réponses ne semblait correcte dans mon cas, mais j'ai trouvé la vraie réponse ici
Mon
id_rsa
fichier était déjà au format PEM, j'avais juste besoin d'ajouter l'.pem
extension au nom du fichier.Grâce à
Les options possibles du
openssl rsa -inform
paramètre sont l'une des suivantes:PEM
DER
la source
Dans notre cas, ce qui a causé le problème est que la clé privée que nous essayions d'utiliser a été chiffrée avec une phrase de passe.
Nous avons dû décrypter la clé privée en utilisant
ssh-keygen -p
avant de pouvoir utiliser la clé privée avec l'outil de ligne de commande openssl.la source
Pourquoi ne pas utiliser le bot de certificat
Obtention d'un certificat
la source