2017-03-19 3 views
-1

Hier mein Code: "RSA-Schlüssel-Format wird nicht unterstützt"Python "RSA Key-Format wird nicht unterstützt", wenn sie von .pem Lesen ist Datei

from Crypto.PublicKey import RSA 

#Write key to file 
key = RSA.generate(4096) 
privateKey = key.exportKey() 
file1 = open('keyfile.pem', 'wb') 
file1.write(privateKey) 
file1.close() 

#Read key from file 
file2 = open('keyfile.pem', 'rb') 
key = RSA.importKey(file2.read()) #this is the problem 

Der Fehler ist Kann mir jemand mit dem besten Weg helfen, den privaten Schlüssel aus einer Datei zu schreiben/lesen?

+0

Sie sind nicht Schließen der 'file1' Strom. Außerdem wird 'Datei2' niemals verwendet. –

+0

Entschuldigung, ich werde das beheben - ich habe Versionen meines Codes durcheinander gebracht, als ich das gepostet habe. Das ist jedoch nicht das, was das Problem verursacht, denn es wirft immer noch den Fehler auf, wenn ich diesen korrigierten – user6556957

+0

habe ich Ihren aktuellen Code kopiert und ausgeführt. Ich sehe keine Fehler. –

Antwort

0

Sie haben mehrere Probleme mit Ihrem Code, hauptsächlich die Art, wie Sie den Schlüssel lesen und schreiben. Sie schließen die Datei nie und öffnen sie während der Lesefunktion zweimal. versuchen, Ihren Code zu ändern:

#Write key to file 
key = RSA.generate(4096) 
f = open('keyfile.pem', 'wb') 
f.write(key.exportKey('PEM')) 
f.close() 

#Read key from file 
f = open('keyfile.pem', 'rb') 
key = RSA.importKey(f.read()) 

Ergebnis:

<_RSAobj @0x10d3cb2d8 n(4096),e,d,p,q,u,private> 
Verwandte Themen