Olá a todos.
Me tirem uma dúvida, hoje carrego com meus sistema as dlls como era antigamente desde epóca do ecf, e gostaria de reduzir essa quantidade de dlls. Olhando as pastas do acbr percebi que a pasta openssl da 0.9.8 para 1.0 não é mais libeay32 e ssleay32.
Porém preciso usar criptografia da openssl estilo createCipheriv para contabilidade com Java script, e a função que conseguir usar usa indy e só funciona com a libeay32 + ssleay32, até tentei renomear a libcrypto-1_1.dll , porém sem sucesso.
Qual melhor forma de reduzir esse monte de dlls da pasta e de forma que a compatibilidade continue, e no caso da criptografia acima mencionada,
posso usar a unit do acbr no lugar dessa unit que possuo que acessa atravez do indy, ou acbr tem uma unit com essas funções de criptografia?
abaixo a função:
function MamEncAes256Cbc(
DecData,Key,Iv:TBytes;out EncData:TBytes):Boolean;overload;
var ctx:PEVP_CIPHER_CTX;
Encl,Padl:integer;
l:integer;
begin
Result:=false;
if not load then exit;
if length(Key)<32 then
begin
l:=length(Key);
SetLength(Key,32);
ZeroMemory(@Key[l],32-l);
end;
if length(Iv)<16 then
begin
l:=length(Iv);
SetLength(Iv,16);
ZeroMemory(@Iv[l],16-l);
end;
ctx:=EVP_CIPHER_CTX_new();
EVP_CIPHER_CTX_init(ctx);
EVP_EncryptInit_ex(ctx,EVP_aes_256_cbc,nil,@key[0],@Iv[0]);
setLength(EncData, (length(DecData) div 16+1)*16);
EVP_EncryptUpdate(ctx,@EncData[0],@Encl,@DecData[0],length(DecData));
EVP_EncryptFinal_ex(ctx,@EncData[Encl],@Padl);
EVP_CIPHER_CTX_free(ctx);
SetLength(EncData,Encl+Padl);
unload;
Result:=true;
end;