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ältauch 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!