Hallo ihr beiden,
Vielen Dank für eure Tipps.
Ich habe beides versucht, leider auch ohne Erfolg. Bei himitsu's Vorschlag bin ich mir nicht 100% sicher ob ich das so gemacht habe wie es gedacht ist.
Der Code sieht momentan so aus:
Delphi-Quellcode:
var
LStream : TFileStream;
begin
FSig := TSignatory.Create(nil);
FCryptoLib := TCryptographicLibrary.Create(nil);
FCodecRSA := TCodec.Create(nil);
// setup codec
FCodecRSA.CryptoLibrary := FCryptoLib;
FCodecRSA.StreamCipherId := 'native.RSA';
FCodecRSA.ChainModeId:= 'native.CBC';
FCodecRSA.AsymetricKeySizeInBits := 512;
// setup sig
FSig.Codec := FCodecRSA;
// generate and save keys
if FSig.GenerateKeys then
begin
LStream := TFileStream.Create('D:/rsa_keys.txt', fmCreate);
try
LStream.Position := 0;
LStream.Size := 0;
FSig.StoreKeysToStream(LStream, [partPublic, partPrivate]);
LStream.Size := LStream.Position;
finally
LStream.Free;
ShowMessage('Success');
end;
end
else
ShowMessage('Failed');
end;
Der Output des Streams in eine neue Datei sieht leider immer noch ähnlich aus:
Code:
N
LockBox3 @ ™p ½„µH*XVªr¤\öÖðÞæÞÒ*9yíó£¹›ÙœÓv¨¶Í÷ì…€n`K
0)j7ÐNõCˆ@l @ Áa‡,‰"¬½ÖU¼;‘†É“@u¬gO=éïç{ö÷~u\ã~Œ1#Ò¿hDz¹er=>=øØ VÒÃ! ¹›fmÈä9m…t¾ÇŠƒ*‡M/¸’åc˜°WDHåIh á«ÕÓÌÍß¼˜¼e*=þÏ
X' wJŽwenî4! ©h®'9¿0Tûù¶©|ØÜ'&†¢£ü }÷À"iî> áÞÃËcçÎ߬øxd²sõI~šç•j׬ܨ, ̘ñ0/ÚdkEjòMIaFµs¹’M)t–}ðÝ,…˜N
LockBox3 @ •†ïâTøØ*8y9]ÌäË_=òÂÊKß°á2é1(ób‚EtÕ†=2eé)ÃT142:qåÌh>Òä&n’ @ ÁÔQ
J`äÄÙX¢]ÁÔÝ&
»SdU‰IrKzIóBw‰2#úě٘0´KÛó;<ÎAÏjÖÚЛºÀ
|! –wßÝÒïNbµrðq‹ŒÏ™mZµÙçØžà–& Q±*h“ÞÑÄаÅ4Ó¾Gû?p’«ºgÞXløÌ><! q=pt
ñòÊ°K!î3`Eiæ%Þþ€ùp=†¬kaà qž±d{«ß©F¢N¦‘OÏÿŽ(†kU‹&=4W.! êôÄåpótézô?ËZW›³ðŒ½}’È̳#€óäÑ#
Folgende Dinge habe ich noch ausprobiert:
- Manuelle Installation von LockBox3 ohne GetIt (bringt keine spürbare Änderung)
- Weitere Dinge mit LStream.Position und LStream.Size (auch kein Effekt)
Mittlerweile denke ich eher dass dies ein Problem mit der Umgebung bzw. der Installation der Bibliothek ist. Könnte dies sein? Falls ja, was könnte ich tun um dies zu testen? Eine zweite Umgebung steht mir momentan leider nicht zur Verfügung. Könnte den Code jemand bei sich lokal testen und schauen ob auch solch ein "gibberish" rauskommt?
Vielen Dank für eure Unterstützung.