83324
Goto Top

Dokumentsignierung (Hashwert)

Hallo, bin neu hier face-smile

Habe folgendes Problem: Ich muss ein C-Programm schreiben, welches mit Hilfe von OpenSSL ein Dokument signieren (asymmetrisches Verfahren, SHA1) soll. Soweit ich das verstanden hab in der Theorie, muss ich dazu den Hashwert des Dokuments berechnen und das dann mit dem privatem Schlüssel signieren. Den privaten Schlüssel hab ich erstellt über "openssl genrsa". Jetz meine Fragen:

1. Wie berechne ich den Hashwert des Dokumentes? Wees nich wirklich wie ich das angehen soll, den Hashwert-Typ mit SHA1 hab ich zwar so deklariert, aber wie gehts weiter? Welche Funktionen brauch ich da?

2. Das Verfahren is asymmetrisch, also gibt es noch diesen öffentlichen Schlüssel, den ich doch sicher auch irgendwann benötige...Wann brauch ich den und vor allem woher bekomm ich den?

Danke im Voraus.

Content-Key: 126121

Url: https://administrator.de/contentid/126121

Printed on: April 26, 2024 at 17:04 o'clock

Mitglied: 76109
76109 Sep 30, 2009, updated at Oct 18, 2012 at 16:39:30 (UTC)
Goto Top
Hallo Insomnium!

Eventuell hilft Dir das weiter: VB Passwort im Programm oder sicher speichern

Gruß Dieter
Mitglied: 83324
83324 Oct 01, 2009 at 20:42:58 (UTC)
Goto Top
Danke erstmal für die schnelle Antwort. Also so richtig weitergekomm bin ich damit nicht, ich hab jetz mal eine andere Möglichkeit getestet.

if (SHA1_Init(&shactx) == 1)
printf("\nSHA1 - Init erfolgreich!");

if (SHA1_Update(&shactx, dokument, laenge_d) == 1)
printf("\nSHA1 - Update erfolgreich!");

if (SHA1_Final(hashwert, &shactx) == 1)
printf("\nSHA1 - Final erfolgreich!");

Ich hab das Ganze jetz über diese Funktion gemacht, läuft auch alles problemlos durch...ich frag mich nur gerade, ob der Wert, den es in die Variable Hashwert schreibt, auch wirklich der Wert ist, den ich haben möchte. Es gibt zwar einen Wert aus, der sieht allerdings weniger aus wie ne Prüfsumme (sowas ist der Hashwert doch??!!), sondern mehr wie ein Schlüssel...
Member: vonbredowp
vonbredowp Oct 01, 2009 at 21:40:14 (UTC)
Goto Top
Hallo Insomnium,


dann teste die Datei doch einfach mit einem Tool wie diesem :
HashMyFiles 1.52
http://sha1.qarchive.org/


Wenn der gleiche Hashwert rauskommt, passt alles ;)


Hier ein Beispiel wie ein solcher aussieht (neben anderen)


Die md5-Prüfsumme von administrator.de ist:
6516af3f2483f59bf2e5501996d9a631


Die sha1-Prüfsumme von administrator.de ist:
dc5f0070df6a2bef33235e24b0688943f7b85e5b


Die Crypt-Prüfsumme von administrator.de ist:
$1$i0X8XM8Q$MokGTI13KJJTW7VENXXoF0


MfG,

Patrick von Bredow
Mitglied: 83324
83324 Oct 07, 2009 at 18:38:40 (UTC)
Goto Top
Dank dir, bin jetz erst wieder zum antworten gekommen. Aber mein Hashwert war wie erwartet falsch...nun gut...Allerdings verstehe ich die ganze Funktions- und Vorgehensweise noch nicht so richtig. Wenn ich jetzt als Ausgangsbasis ausschließlich mein Dokument (als .bin-datei) und meinen selbst erstellten Private Key habe, wie bin ich dann in der Lage dieses Dokument zu signieren? Der ganze Ablauf und das warum wieso mit dem asymmetrischen Verfahren is mir noch suspekt. Hat da einer Ahnung von?
Member: lowbyte1
lowbyte1 Nov 07, 2009 at 23:06:28 (UTC)
Goto Top
hi


Wie wäre es in der Dokumentation von open ssl nachzuschauen? von wegen Funktionen ,und implementierung.



lb