Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi [gelöst] openssl Daten mit RASPrivateKey signieren. SHA1 (https://www.delphipraxis.net/201872-%5Bgeloest%5D-openssl-daten-mit-rasprivatekey-signieren-sha1.html)

DelTurbo 5. Sep 2019 16:25


[gelöst] openssl Daten mit RASPrivateKey signieren. SHA1
 
Hallo,
ich hänge an einer Sache fest. Wie bekomme ich folgenden Befehl in Delphi oder FreePascal abgebildet? Der Hashwert der rauskommt ist 173 Zeichen lang. Ich meine gelesen zu haben das es mit Indy gehen soll. Leider komme ich damit nicht so richtig klar. Wäre toll wenn jemand einen 3Zeiler hat wie ich das umsetzen kann.

Code:
openssl sha1 -sign pr.key input.txt | openssl base64
Der Key ist ein RSA-Privat 1024bit im PEM Format. Der Input.txt ist 271 Zeichen lang.

Vielen dank im Voraus

hoika 5. Sep 2019 17:22

AW: openssl SHA1
 
Hallo,
zum SHA-1

wenn es mit Windows-Mitteln gehen soll
certUtil -hashfile C:\MeineDatei.txt > hash.txt
certUtil -hashfile C:\MeineDatei.txt SHA256 > hash-SHA256.txt

Bei Indy wäre das hier
https://stackoverflow.com/questions/...ksum-in-delphi
(in der Antwort)

lowmax_5 5. Sep 2019 19:37

AW: openssl SHA1
 
http://www.queryadmin.com/1774/delph...ha1-sha2-hash/

DelTurbo 6. Sep 2019 08:59

AW: openssl SHA1
 
Hi,
ich denke ich habe meine Frage falsch gestellt. Es geht darum Daten mit einem RSA-Private-Key im PEM Format zu signieren. Bei allen beispielen kann man keinen Key übergeben.
Deswegen habe ich den Unix befehl womit es geht oben mit reingeschrieben, und angemerkt was für ein Key dabei ist.

DelTurbo 6. Sep 2019 11:28

AW: openssl Daten mit RASPrivateKey signieren. SHA1
 
Vielleicht kurz zum hintergrund dieser sache. Es geht darum einen Hash wert mit einem PrivateKey zu bekommen der mit dem PublicKey überprüft werden kann.

Vielleicht hilft diese Info ja weiter. Unter Unix auf der Konsole würde das wie folgt aussehen. Die erste Zeile habe ich ja schon im ersten Post von mir.

Keys erzeugen:
Code:
openssl genrsa -out key.pem 1024 
openssl rsa -in key.pem -pubout > pubKey.pem
Der eigentliche Test:
Code:
openssl sha1 -sign key.pem input.txt > sig.txt
openssl sha1 -verify pubKey.pem -signature sig.txt input.txt
Gruß und nochmals danke im Voraus

hoika 6. Sep 2019 11:47

AW: openssl Daten mit RASPrivateKey signieren. SHA1
 
Hallo,
Zitat:

Unix befehl
Es gibt auch OpenSSL für Windows...
Wir benutzen das für genau solche Sachen auch (ShellExecute bzw. ShellExecuteEx).

DelTurbo 6. Sep 2019 12:02

AW: openssl Daten mit RASPrivateKey signieren. SHA1
 
Ich weiß das es das auch für Windows gibt. Ich hatte Unix beigeschrieben weil es dort installiert ist. Ich möchte nicht das sich einer etwas installiert um zu helfen.
Aber die frage ist immer noch, gibt es Libs oder sonstwas, damit man OHNE über eine Shell zu gehen das in Pascal umsetzen kann. Und wenn ja, wie oder wo?

Ich suche schon 2 Tage im netz und finde nix was passt. Mit Indy klappt es leider nicht. Der Key der zurückkommt ist einfach zu kurz und total anders.

EDIT:
Das sieht sehr gut aus. Läuft auch unter FreePascal/Lazarus/CodeTyphon
https://github.com/Arvur/OpenSSL-Delphi

EDIT 2:
Läuft auch unter Unix.

mensch72 6. Sep 2019 16:54

AW: [gelöst] openssl Daten mit RASPrivateKey signieren. SHA1
 
https://www.tmssoftware.com/site/tmscrypto.asp

damit geht das sicher zu 98% auch... und wenn nicht gibt es von TMS ne Erklärung oder nen Update als Lösung

DelTurbo 6. Sep 2019 17:01

AW: [gelöst] openssl Daten mit RASPrivateKey signieren. SHA1
 
Huhu,
das ist nett gemeint, aber warum soll ich das Kaufen wenn ich das schon mit OpenSource gelöst habe? Zumal ich das TMS nicht unter Unix nutzen kann. Das ist eigentlich mein hauptaugenmerk. Ich wollte extra nicht FreePascal schreiben, weil ich nicht weiß ob hier überhaupt welche damit Arbeiten.

Trotzdem danke für den Tipp.

mensch72 7. Sep 2019 13:20

AW: [gelöst] openssl Daten mit RASPrivateKey signieren. SHA1
 
alles gut:)

.."Ich suche schon 2 Tage im netz und finde nix was passt."..
->das war & ist für mich "der Grund", dass ich es für effektiver halte bei TMS die ~100€ ausgeben und eine einheitliche getesetete Lösung samt Support für Win,OSx,IOS,Android UND LINUX zu bekommen.

Via OpenSource mag es alles geben, nur mangels Erfahrung ist mir da oft die Zeit zum Suchen zu schade.
FreePascal für RasPi ist da mangels direktem DelphiSupport auch mir bekannt, aber wenn irgendmöglich nehme ich Delphi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz