OpenSSL RSA-Signierung mit SHA256 Digest

9

Ich versuche, das entsprechende Shell-Skript eines kleinen Ruby-Skripts herauszufinden, das ich habe. Dies ist das Ruby-Skript:

%Vor%

Das ist es. Es braucht einige Daten, bekommt den SHA256-Hash und unterschreibt das mit einem privaten Schlüssel, den ich habe. Ich denke, dass der entsprechende Befehl auf dem Terminal sein sollte:

%Vor%

Aber diese erzeugen nicht die gleiche Ausgabe. Könnte mich jemand über den Grund aufklären?

- BEARBEITEN -

Ich füge weitere Informationen hinzu, damit die Leute versuchen können, dies auf ihren Computern zu reproduzieren, wenn dies gewünscht wird. Der Inhalt von res.tmp ist:

%Vor%

Der private Schlüssel (der nicht ist ein privater Schlüssel, der tatsächlich für ein Produktionssystem verwendet wird, nur um das zu verdeutlichen) ist:

%Vor%

Nun sollte jeder in der Lage sein, die oben angegebenen Befehle auszuführen und die gleichen Ergebnisse zu erhalten. Das Shell-Skript erzeugt dies als seine Ausgabe:

%Vor%

Natürlich ohne abschließende Zeilenumbrüche. Das Ruby-Skript erzeugt:

%Vor%

Auch ohne einen abschließenden Zeilenumbruch. Ich habe nur Base 64 die Ergebnisse kodiert, um sie für Menschen vorzeigbar zu machen. Dieser Teil ist nicht das Problem. Das eigentliche Problem ist, dass meine Aufrufe von openssl im Ruby-Skript und im Shell-Skript unterschiedliche Dinge tun. In den Kommentaren fragen die Leute nach Zwischenergebnissen. Nur um klar zu sein, das einzige, was als "Zwischenergebnis" im rohen binären Ergebnis vor der base64-Codierung angesehen werden kann (und es wäre sowohl nicht hilfreich als auch unmöglich, das hier zu posten). Der openssl-Befehl, den ich ausführe, ist nur ein undurchsichtiger Befehl (in beiden Skripten), so dass ich in beiden Fällen keinen Zugriff auf den SHA256-Hash habe. Ich nehme an, dass es mit diesem Befehl erzeugt würde:

%Vor%

Was gibt es an der Befehlszeile:

%Vor%

Aber ich kann nicht sicher sein, dass der obige Hash tatsächlich irgendein Zwischenergebnis eines der beiden Skripte ist. Lassen Sie mich wissen, ob ich mehr Informationen zur Verfügung stellen kann. Danke.

    
Andrew Thaddeus Martin 26.06.2015, 21:32
quelle

1 Antwort

0

Irgendwie habe ich mich geirrt, und es scheint, dass diese beiden Skripte tatsächlich die gleiche Ausgabe produzieren. Entschuldigung.

    
Andrew Thaddeus Martin 29.06.2015, 14:04
quelle

Tags und Links