2017-11-03 6 views
0

Ich benutze diesen Befehl openssl eine Schlüsseldatei zu pem konvertieren:Convert DES Schlüssel (mit Passphrase) zu PEM mit Ruby

openssl pkcs8 -inform DER -in LAN7008173R5.key -passin pass:12345678a -out converted_key.pem

Und wenn ich cat converted_key.pem verwende ich erhalte dieses (erwartetes Ergebnis):

----- BEGIN PRIVATE KEY ----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCC + 8KIIUMVVphf ... kEGx50X8z7yLGNYY34YDPIU = ----- END PRIVATE KEY -----

Ich versuche, diesen Befehl zu verwenden Graviszeichen laufen, um den privaten Schlüssel Wert in einen String speichern dann in einer Datei zu speichern:

file = File.read(Rails.root.join('lib', 'cer', '2', 'LAN7008173R5.key'))

pem_key = openssl pkcs8 -inform DER -in #{file} -passin pass:12345678a

Aber ich Um diesen Fehler (auch wenn die gleiche Datei ist und Strecke): Argument: string

null Byte enthält

auch wenn ich dies tun:

OpenSSL::PKey::RSA.new(File.read(Rails.root.join('lib', 'cer', '2', 'LAN7008173R5.key')), '12345678a')

ich dieses: OpenSSL :: PKey :: RSAError: Weder PUB Schlüssel noch PRIV Schlüssel: verschachtelte asn1 Fehler

Ich habe auch versucht dies:

file = File.read(Rails.root.join('lib', 'cer', '2', 'LAN7008173R5.key'))

= OpenSSL::PKey.read(file, '12345678a')

Und haben dies: ArgumentError: PKEy konnte nicht analysiert werden: keine Startlinie

Vielen Dank für Ihre Hilfe!

Antwort

0

Ich fand es (nicht lesen müssen)!

file = Rails.root.join('lib', 'cer', '2', 'LAN7008173R5.key')

pem_key = openssl pkcs8 -inform DER -in #{file} -passin pass:12345678a

und bekam mein angestrebtes Ergebnis:

„----- PRIVATE KEY ----- BEGIN \ nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCC + 8KIIUMVVphf \ nvF1VGG ... L80yqP3p6nXBohs45XsbF1 \ nkEGx50X8z7yLGNYY34YDPIU = \ n ----- ENDE PRIVATSCHLÜSSEL ----- \ n "

Verwandte Themen