2017-04-19 2 views
1

Diese Frage im Zusammenhang mit Issue using RSA encryption in javascriptKnoten schmieden, wie ein privaten RSA-Schlüssel aus der Datei zu lesen ist

Ich habe ein Knoten-Skript, das ich einen PEM privaten RSA-Schlüssel aus einer Datei zu lesen versuchen:

const forge = require('node-forge'); 
const fs = require('fs'); 
const path = require('path'); 
let pkey = fs.readFileSync(path.join(__dirname, 'test.key'), 'utf8'); 
//let pkeyDer = forge.util.decode64(pkey); // since it's not base64 encoded, i suppose don't need to decode 
let pkeyAsn1 = forge.asn1.fromDer(pkey); 
let privateKey = forge.pki.privateKeyFromAsn1(pkeyAsn1); 

die test.key Datei hat ein Format wie folgt aus:

-----BEGIN RSA PRIVATE KEY----- 
{mumbo jumbo line1} 
{mumbo jumbo line2} 
... 
-----END RSA PRIVATE KEY----- 

Als ich versuchte, die Datei zu importieren, die Linie bei pkeyAsn1 = forge.asn1.fromDer(pkey); ausfällt, diesen Fehler geben: 0.123.Too few bytes to read ASN.1 value.

Ich weiß nicht viel über das Dateiformat, würde mir jemand helfen?

Die private Schlüsseldatei, die ich erzeugte, benutzt den folgenden openssl Befehl: openssl rsa -in encrypted_test.key -out test.key und ich gab meine Passphrase ein, um solchen rsa Schlüssel zu entschlüsseln.

+0

@dlongley würden Sie einen Blick – WABBIT0111

Antwort

0

Ich denke, ich habe es herausgefunden. Wenn Sie eine private Schlüsseldatei lesen, müssen Sie das Banner ---BEGIN RSA PRIVATE KEY--- und ---END RSA PRIVATE KEY--- einfügen.

+0

Ich habe dieses Banner und immer noch Fehler bekommen. – nottinhill