Frage vorweg:
Hast Du Dir die Beschreibung der
API mal angeschaut?
http://www.cryptosys.net/pki/manpki/...aToString.html
Zitat:
Remarks
This function extracts the signed data from the signed-data CMS object without making any attempt to verify it. Call the function with an empty or NULL szOutput string or zero nOutChars parameter to find out the required length of the output string.
Aus dem Bauch heraus:
Code:
function ReadSigData(AFileName : AnsiString):AnsiString;
var
tmpBuffer : PChar;
tmpBuferSize : integer;
tmpRead : integer;
tmpResult : integer;
begin
// Benötigten Buffer ermitteln
tmpBuferSize := CMS_ReadSigDataToString(nil, 0,AFileName,0);
if tmpBuferSize > 0 then begin
// Buffer anlegen
tmpBuffer := AllocMem(tmpBuferSize+1);
try
// Sicherheitshalber löschen
FillChar(tmpBuffer,tmpBuferSize+1,0);
// Funktionsaufruf
tmpRead := CMS_ReadSigDataToString(tmpBuffer, tmpBuferSize,AFileName,0);
// Wenn (wirklich) Daten vorhanden
if (tmpRead > 0) then begin
// .. zurückgeben.
result := tmpBuffer;
end;
finally
// Buffer wiedere freigeben
FreeMem(tmpBuffer);
end;
end;
end;