pkcs7 Signatur erstellen/verifizieren
-
Hallo Zusammen,
ich möchte pkcs7 Signaturen (signierte Daten und Signatur in seperaten Files) erstellen und prüfen können. Ich kenne die RFC 2315 und ich kann das (od. die) X509Zertifikate aus der Signatur lesen und zur Entschlüsselung der Signatur verwenden. Aber ich kann den Hash nicht verifizieren. Obwohl die Dinge in RFC 2315 scheinbar klar beschrieben sind! Was läuft da falsch? Gibt es da einen wenig bekannten Trick, um das Problem zu lösen? Ich denke, daß ich beim Hash-Input irgendwie daneben liege.

Es wäre nett, falls Jemand einen Tip für mich hätte oder ein Stück C-Code zum Vergleichen. Danke schon mal!
P.S.: Die Basisfunktionen wie z.B. das Hashen funktionieren (getestet) und ich verwende keine Crypto-API, sondern programmiere alles selbst...
-
sMime schrieb:
Es wäre nett, falls Jemand einen Tip für mich hätte oder ein Stück C-Code zum Vergleichen. Danke schon mal!
Wirf mal ein Blick in OpenSSL http://www.openssl.org/docs/crypto/PKCS7_sign.html oder in GNUtls pkcs7.c
(ansonsten siehe google codesearch)
-
vielen Dank für den Tip!
Allerdings kannte ich die Seiten bereits... Da ich eine völlig andere Programmstruktur habe, müsste ich mich durch den gesamten Code (das ist weit mehr als die angegebenen C-Files) durchwühlen, um zu verstehen, was die eigentlich genau machen. Denn was nützt es mir, wenn irgendwo steht
pkcs7.digest = create.pkcs7.digest(data,Algo,...);oder Ähnliches?
Da kommt man vom hundertste ins tausendste... 
Es ist unheimlich schwierig die Funktionen zu finden, wo wirklich was passiert - wo richtiger Code steht - nicht dieser C++ Quatsch! Sorry, aber ich bin ziemlich gefrustet.
Aber nochmals Vielen Dank!

-
sMime schrieb:
nicht dieser C++ Quatsch!
Das ist kein C++

-
nimm doch php wenn dich c++ so frustet
-
ich mach ja auch kein C++ - sondern C! Nur die meisten Codestücke, die man so findet sind in C++...

Aber eigentlich wollte ich auch gar keine Diskussion über Sinn und Unsinn von C++ anfangen, sondern nur wissen welche Daten ich genau hashen muß, damit die Sache funktioniert - that's all!
-
Was willst'e denn mit den Signaturen machen?
-
sMime schrieb:
ich mach ja auch kein C++ - sondern C! Nur die meisten Codestücke, die man so findet sind in C++...

ich glaube die meisten sind schon in C.
btw: --> http://tools.ietf.org/html/rfc2315
sollteste dir vielleicht anschauen, bevor du dich mit dem code beschäftigst.

-
tja die RFC 2315 kenne ich!

Habe die aktuelle Version danach geschrieben, aber dennoch scheint da was nicht zu stimmen. Die Software ist zwar in sich konsistent, was signieren und verifizieren betrifft, aber scheinabr nicht mit anderen programmen, wie z.B. openssl, kompatibel...