Ich habe eine .key-Datei, die eine PEM-formatierte private Schlüsseldatei ist. Ich habe diese Datei nicht erstellt, aber ich habe sie von irgendwoher bekommen.
Ich wollte seinen MD5-Hash mit dem openssl-Tool wie dem folgenden Befehl sehen.
openssl rsa -in server.key -modulus -noout
Dies erzeugt jedoch unten Fehler.
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
Hier ist ein Teil der .key-Datei.
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
...
Kann ich noch etwas ausprobieren?
openssl
private-key
tkpl
quelle
quelle
scp
die Datei von Windows nach Ubuntu kopiert. Um dies zu beheben, habe ich die Datei unter Ubuntu gelöscht, dort eine neue leere Datei erstellt undvim
den richtigen Inhalt verwendet und dann eingefügt.Antworten:
Öffnen Sie die Schlüsseldatei in Notepad ++ und überprüfen Sie die Codierung. Wenn UTF-8-BOM angezeigt wird, ändern Sie es in UTF-8. Speichern Sie die Datei und versuchen Sie es erneut.
quelle
Ich habe die Kopf- und Fußzeile der PEM-Datei in geändert
und
Endlich funktioniert es!
quelle
-inform pem
dem Befehl auch hinzufügen , um das gleiche Ergebnis zu erhalten. ZBopenssl rsa -in server.key -modulus -noout -inform pem
.Ihre .key-Datei enthält unzulässige Zeichen. Sie können die .key-Datei folgendermaßen überprüfen:
Ausgabe "server.key: UTF-8 Unicode-Text (mit Stücklisten)" bedeutet, dass es sich um einen einfachen Text handelt, nicht um eine Schlüsseldatei. Die korrekte Ausgabe sollte "server.key: PEM RSA private key" sein.
Verwenden Sie den folgenden Befehl, um unzulässige Zeichen zu entfernen:
Der new_server.key sollte korrekt sein.
Für mehr Details können Sie hier klicken , danke für den Beitrag.
quelle
file server.key
Dieser Befehl hat mir geholfen, das Problem zu lösen. Vielen Dank.Dass es in Ordnung zu sein scheint, lässt
asn1parse
mich glauben, dass es nicht PEM-codiert ist.Versuchen Sie Folgendes, da es sich anscheinend um ASN.1 handelt.
Beachten Sie das
-inform DER
Umschalten zwischen Codierungen.quelle
CA-Zertifikat erstellen
quelle
Entfernen Sie alle Leerzeichen am Anfang der .key-Datei.
quelle
Entschlossenheit auf meiner Seite. Ändern Sie die Codierung in UTF8 ohne Stückliste
quelle
Ich bin unter Windows 10 und habe meinen Schlüssel mit Windows 1252- Codierung gespeichert und es hat bei mir funktioniert. Bei einer anderen StackOverflow-Frage haben einige Leute dies mit UTF-8 mit Stückliste behoben .
Mit anderen Worten kann es sich um die Dateicodierung handeln.
quelle
Möglicherweise ist der private Schlüssel selbst nicht in der Datei vorhanden. Ich hatte auch das gleiche Problem, aber das Problem ist, dass in der Datei kein privater Schlüssel vorhanden ist.
quelle
Dies kann passieren, wenn Sie versuchen, mit Ihrem öffentlichen Schlüssel anstelle Ihres privaten Schlüssels ein Zertifikat zu erstellen. Sie sollten einen privaten Schlüssel verwenden
quelle
Hatte heute das gleiche Problem und bemerkte, dass dies auftritt, wenn der Eigentümer / die Dateigruppe nicht diejenige ist, auf der die App ausgeführt wird, die den Schlüssel liest. Vielleicht ist auch Ihr Problem.
quelle
Keiner der anderen Antworten schien in meinem Fall richtig, aber ich fand die richtige Antwort hier
Meine
id_rsa
Datei war bereits im PEM-Format, ich musste nur die.pem
Erweiterung zum Dateinamen hinzufügen .Dank an
Folgende Optionen für den
openssl rsa -inform
Parameter sind möglich :PEM
DER
quelle
In unserem Fall wurde das Problem dadurch verursacht, dass der private Schlüssel, den wir verwenden wollten, mit einer Passphrase verschlüsselt wurde.
Wir mussten den privaten Schlüssel mit entschlüsseln,
ssh-keygen -p
bevor wir den privaten Schlüssel mit dem Befehlszeilentool openssl verwenden konnten.quelle
Warum nicht Cetificate Bot verwenden
Ein Zertifikat erhalten
quelle