wake-up-neo.com

Privater Schlüssel kann nicht geladen werden. (PEM-Routinen: PEM_read_bio: keine Startzeile: pem_lib.c: 648: Erwartet: JEDER PRIVATE KEY)

Ich habe eine .key-Datei, die PEM-formatierte private Schlüsseldatei ist. Ich habe diese Datei nicht gemacht, aber ich habe sie von irgendwo her bekommen.

Ich wollte seinen MD5-Hash mit dem openssl-Tool wie unter dem Befehl sehen.

openssl rsa -in server.key -modulus -noout

Dies führt jedoch zu Fehlern.

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 einige asn1parse 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 mehr probieren?

41
tkpl

Ich habe die Kopf- und Fußzeile der PEM-Datei in geändert 

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

und

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

Endlich klappt es!

33
tkpl

Öffnen Sie die Schlüsseldatei in Notepad ++ und überprüfen Sie die Kodierung. Wenn UTF-8-BOM angezeigt wird, ändern Sie es in UTF-8. Speichern Sie die Datei und versuchen Sie es erneut.

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

Dass es mit asn1parse in Ordnung erscheint, lässt mich glauben, dass nicht PEM-codiert ist.


Kann ich noch mehr probieren?

Da es sich scheinbar um ASN.1 handelt, versuchen Sie Folgendes:

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

Beachten Sie den -inform DER, um zwischen den Kodierungen zu wechseln.

4
jww

Entfernen Sie alle Leerzeichen am Anfang der .key-Datei.

4
johnnycardy

ihre .key-Datei enthält unzulässige Zeichen. Sie können die .key-Datei folgendermaßen überprüfen:

# file server.key

output "server.key: UTF-8 Unicode (mit BOM) text" bedeutet, dass es sich um einen reinen Text handelt, keine Schlüsseldatei. Die korrekte Ausgabe sollte "server.key: PEM RSA private key" sein.

verwenden Sie den folgenden Befehl, um ungültige Zeichen zu entfernen:

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

Der new_server.key sollte korrekt sein.

Für weitere Informationen klicken Sie auf hier , danke für den Beitrag.

2
张 俊

Ich bin unter Windows 10 und habe meinen Schlüssel mit Windows1252 encoding gespeichert und es hat für mich funktioniert. Bei einer anderen StackOverflow-Frage haben einige Benutzer dies mit UTF-8 mit BOM behoben.

Mit anderen Worten kann es sich um die Dateicodierung handeln.

1
R.Bravo

CA-Zertifikat erstellen

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

Warum nicht mit cetificate bot

yum installiere epel-release

yum install certbot-nginx

Beschaffung eines Zertifikats

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

0
Dylan B