Ajustamos os fontes do ACBr, para que eles fiquem compatíveis com o OpenSSL 3.x... Os ajustes já estão no SVN
Como essas mudanças são feitas no núcleo de comunicação segura do ACBr, agradecemos a ajuda nos testes, e por favor reportem se notarem algo estranho, mesmo no uso de versões mais antigas, como o OpenSSL 1.1.1
O que é o OpenSSL ?
O OpenSSL é uma famosa biblioteca usada para comunicação segura e criptografia... no ACBr, usamos ela para vários de nossos componentes que usam HTTPS, como por exemplo, o ACBrPIXCD...
Página do OpenSSL https://www.openssl.org/
Você pode encontrar as DLLs do OpenSSL, em nosso SVN: http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/
Porque fizemos essa mudança ?
Recentemente o OpenSSL passou por um processo de refatoração, o que gerou a série 3.x... e as versões anteriores, estão sendo descontinuadas, e deixarão de receber correções de segurança e novas melhorias
Suporte a protocolos mais Seguros, como TLS 1.3
Em ambientes Linux, o OpenSSL 3.x já é instalado por padrão, e é difícil fazer o downgrade, para a versão 1.1.x
O que muda nos meus fontes ?
Esperamos que nenhuma modificação seja necessária nos seus fontes.
Nossa implementação é compatível com OpenSSL 0.9.x a 3.x, ou seja, os fontes do ACBr, tentam detectar a DLL mais nova do OpenSSL de forma automática....
Geralmente a biblioteca será procurada primeiro, na mesma pasta da Aplicação ou no Path do Sistema Operacional, dando sempre preferência as DLLs das versões mais novas... Ou seja, ele primeiro procurará pela DLL da versão 3.x, e depois da versão 1.1.x, 1.0.x, 0.9.x e assim por diante
Como posso saber, qual DLL do OpenSSL o ACBr carregou ?
Use as linhas abaixo, para ver a Versão e o Path completo, das DLLs carregadas na memória
mResp.Lines.Add('Versão OpenSSL');
mResp.Lines.Add( OpenSSLExt.OpenSSLVersion(0) );
mResp.Lines.Add( ACBrOpenSSLUtils.OpenSSLFullVersion );
mResp.Lines.Add( OpenSSLExt.SSLUtilFile );
mResp.Lines.Add( OpenSSLExt.SSLLibFile );
mResp.Lines.Add('------------------------------');
Como atualizo a DLL para a versão 3.x ?
Basta copiar as novas DLLs, para a mesma pasta do seu .exe...
Se você compila seu sistema em 32 bits, aqui estão as DLLs: http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/3.1.3/x86/
Nota: mesmo que o Windows seja 64 bits, a DLL precisa acompanhar a arquitetura em que seu .EXE é compilado
Eu preciso atualizar ?
Não necessariamente, mas recomendamos que você use no mínimo a versão 1.1.x, por motivos de segurança
Não creio que a atualização, gere mais performance, no uso da biblioteca...