Ir para conteúdo
  • Cadastre-se

dev botao

Mesmo executável com WinCrypt e OpenSSL - Diretivas e Dlls


Ver Solução Respondido por BigWings,
  • Este tópico foi criado há 2039 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá pessoal,

Vejam se o meu raciocínio está correto.

Caso queira distribuir um mesmo executável do meu sistema, suportando configurar tanto a WinCrypt e OpenSSL (com MinGW), com somente as 2 possíveis configurações associadas:

- libWinCrypt: SSLCryptLib = cryWinCrypt; SSLHttpLib = httpWinHttp; SSLXmlSignLib = xsLibXml2;

- libOpenSSL: SSLCryptLib = cryOpenSSL; SSLHttpLib = httpOpenSSL; SSLXmlSignLib = xsXmlSec; (com MinGW)

Então em relação às diretivas de compilação, ficariam assim:

{$DEFINE DFE_SEM_OPENSSL}
{$DEFINE DFE_SEM_XMLSEC}
{$DEFINE DFE_SEM_LIBXML2}
{.$DEFINE DFE_SEM_CAPICOM}
{.$DEFINE DFE_SEM_MSXML}
{.$DEFINE DFE_SEM_INDY}

{$DEFINE USE_MINGW}

E em relação as dlls distribuídas junto com o meu executável seriam:

libxml2.dll, libxslt.dll, libexslt.dll, libiconv.dll
e
libxmlsec1.dll, libxmlsec1-openssl.dll, libxml2-2.dll, libexslt-0.dll, libxslt-1.dll, libiconv-2.dll, libintl-8.dll, libltdl-7.dll, libcharset-1.dll, libgcc_s_dw2-1.dll, libwinpthread-1.dll, zlib1.dll

E então pessoal, o entendimento é esse mesmo? Tem alguma coisa que deixei passar?

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution
19 minutos atrás, Fabrício G. Araújo disse:

{$DEFINE DFE_SEM_OPENSSL}
{$DEFINE DFE_SEM_XMLSEC}
{$DEFINE DFE_SEM_LIBXML2}
{.$DEFINE DFE_SEM_CAPICOM}
{.$DEFINE DFE_SEM_MSXML}
{.$DEFINE DFE_SEM_INDY}

Invertido. Dessa forma você só poderá usar CAPICOM e MSXML, já que está desativando OpenSSL, XmlSec e LibXML2.

20 minutos atrás, Fabrício G. Araújo disse:

libxml2.dll, libxslt.dll, libexslt.dll, libiconv.dll

Você não precisa dessas DLLs se vai ativar MinGW.

20 minutos atrás, Fabrício G. Araújo disse:

libxmlsec1.dll, libxmlsec1-openssl.dll, libxml2-2.dll, libexslt-0.dll, libxslt-1.dll, libiconv-2.dll, libintl-8.dll, libltdl-7.dll, libcharset-1.dll, libgcc_s_dw2-1.dll, libwinpthread-1.dll, zlib1.dll

Contei 12 DLLs aí, na pasta ACBr\DLLs\XMLSec\MinGW\32 (assumindo que vai compilar para 32 bits) tem 14, você deve distribuir todas elas junto a sua aplicação.

  • Curtir 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Obrigado por responder @BigWings.

Realmente inverti as diretivas de compilação, bobeira minha mesmo.

Agora não entendi sobre não utilização das dlls da pasta LibXml2, pois a ideia é permitir também a configuração: - libWinCrypt: SSLCryptLib = cryWinCrypt; SSLHttpLib = httpWinHttp; SSLXmlSignLib = xsLibXml2;, ou seja, para certificados A3 utilizaria WinCrypt, e para A1, utilizaria OpenSSL com MinGW, portanto seria um executável só, podendo escolher a configuração. Não teria que distribuir todas as dlls que citei?

Realmente, só teria a opção de 32 bits, e sobre as dlls da MinGW, só copiei do pdf, mas realmente pegaria todas da pasta do MinGW

Link para o comentário
Compartilhar em outros sites

  • Moderadores
23 minutos atrás, Fabrício G. Araújo disse:

Agora não entendi sobre não utilização das dlls da pasta LibXml2, pois a ideia é permitir também a configuração: - libWinCrypt: SSLCryptLib = cryWinCrypt; SSLHttpLib = httpWinHttp; SSLXmlSignLib = xsLibXml2;, ou seja, para certificados A3 utilizaria WinCrypt, e para A1, utilizaria OpenSSL com MinGW, portanto seria um executável só, podendo escolher a configuração. Não teria que distribuir todas as dlls que citei?

As DLLs da pasta MinGW substituem essas da pasta LibXML2, você pode usar libWinCrypt normalmente.

Veja a unit libxml2.pas:

{$IFDEF MSWINDOWS}
  {$IFDEF USE_MINGW}
    LIBXML2_SO = 'libxml2-2.dll';
  {$ELSE}
    LIBXML2_SO = 'libxml2.dll';
  {$ENDIF}
{$ELSE}
  LIBXML2_SO = 'libxml2.so';
{$ENDIF}

 

Com MINGW ativado, a libxml2.dll não é usada, mas sim a libxml2-2.dll.

  • Curtir 1
  • Obrigado 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2039 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...