Генерирую и экспортирую в файлы приватный и публичный ключи
[Code]
var
pbuf:tstringstream;
buflen:dword;
pass:ansistring;
begin
CryptAcquireContext( @RSA, PWideChar('my_container'), nil, PROV_RSA_FULL, 0 );
CryptGenKey(RSA, AT_KEYEXCHANGE, (1024 shl 16) or CRYPT_EXPORTABLE, @ExchangeKey);
//
pass := 'password';
CryptCreateHash(RSA, CALG_SHA, 0, 0, RSA_Hash);
try
CryptHashData(RSA_Hash, PByte(pass), Length(pass), 0);
CryptSignHash(RSA_Hash, AT_KEYEXCHANGE, nil,0,nil,@buflen) ...
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=83607