Ir para conteúdo
  • Cadastre-se

dev botao

Erro utilizando libWinCrypt Suporte a "xsXmlSec" foi desativado por compilação {$DEFINE DFE_SEM_OPENSSL}


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

Recommended Posts

  • Consultores
Postado

Boa noite,

Na ultima atualização que realizei do componente da acbr, ao abrir o projeto está gerando problemas de configuração, na instalação do ACBr está desmarcado para utilizar CAPCOM e OPENSSL.

verifiquei que na alteração 14804 feita por @Daniel Simoes

[*] TGeralConf.SSLLib, modificado para que quando tiver o valor "libWinCrypt",
    assuma a seguinte configuração:
        SSLCryptLib := cryWinCrypt;
        SSLHttpLib := httpWinHttp;
        SSLXmlSignLib := xsLibXml2;
    Modificando o uso de xsMsXml para xsLibXml2
    (por: DSA)      

Quando o componente está utilizando a diretiva desatilitar OPENSSL, está gerando uma exceção ao utilizar o sslLib (LibWinCrypt), onde o mesmo tenta inserir no componente a assinatura xsLibXML2, eu acredito que o arquivo ACBrDFeSSL na procedure TDFeSSL.SetSSLXmlSignLib(xsLibXml2), alem de estar com a mensagem de erro (raise) indicando que está usando o xsXMLSec, acredito que não se aplica a diretiva {$IfNDef DFE_SEM_OPENSSL} neste caso

Obrigado

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Fundadores
Postado

Por favor teste com os fontes em Anexo...

Repare que introduzi uma nova diretiva de compilação no ACBr.inc...

// Descomente a linha abaixo, se você quer que seu Executável NÃO dependa das DLLs LibXML2, mas continue suportando LibXMLSEC
{.$DEFINE DFE_SEM_LIBXML2}

mas lembrando que para manter compatibilidade com versões anteriores... desligar o suporte a OPENSSL com:

{$DEFINE DFE_SEM_OPENSSL}

irá desativar o suporte a XMLSec e a LIbXML2

{$IfDef DFE_SEM_OPENSSL}
  {$Define DFE_SEM_XMLSEC}
  {$Define DFE_SEM_LIBXML2}
{$EndIf} 

 

Fontes.zip

  • Obrigado 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado (editado)

Essa alteração não subiu para o trunk.  Apaguei tudo, mandei atualizar baixando os arquivos e continua dando o erro.

Este tipo de alteração devia ser testada com mais cautela.

Após baixar o arquivo FONTES.ZIP e atualizar, instalou sem erros e voltou a funcionar redondo.

Obrigado e atualize o trunk por favor.

 

 

Editado por sergiom
  • Confuso 4
  • Triste 1
  • Consultores
Postado

Boa tarde @Daniel Simoes,

Cheguei agora na empresa estava em viagem, estarei realizando os testes e te passo o feedback em sequencia;

Muito obrigado

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado

Boa tarde @Daniel Simoes

A implementação atendeu com excelência, pelo que vi na implementação irá atender quem usa a diretiva desativada xsMsXML e quem usa a diretiva LIBXML2 irá utilizar xsLibXML2, desta forma resolvendo o problema para ambos os lados.

Muito obrigado pelo tempo despendido analisando o caso e procurando uma melhor solução para o incidente elencado;

Forte abraço

  • Curtir 3
Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • 2 meses depois ...
Postado

Me desculpem a ignorância, mais eu estou perdido com essas linhas de diretivas.

Uso capicom e opensll

Capicom porque tenho clientes que usam token, openssl para clientes com certificado .pfx

Não sei se estou utilizando corretamente o componente. Qual as definições que devo fazer para que possa atender os dois tipos de certificados?

Vejo no arquivo acbr.inc recomendando desativar o capicom, recomendado desativar msxml, mas não sei ao certo o que devo então ativar.

Qual o correto a se utilizar?

Alguém poderia me auxiliar neste sentido.

  • Consultores
Postado

Bom dia,

A Capcom foi descontinuada pela microsoft a muito tempo, por isso é recomendável remover, mas ela trabalha com STORE, funciona para certificados modelo A1 e A3;

A OpenSSL tu vai conseguir trabalhar com arquivos PFX diretamente sem o uso das STORE;

O Wincrypt tu vai conseguir trabalhar com STORE de certificados igual a capcom, tanto para modelo A1 e A3;

eu particularmente eu removi toda a dependência do capcom e da openssl dos meus sistemas, portanto uso o (Wincrypt + MSXML), se usar (Wincrypt + libXML2 ) ele vai te pedir a dependência do OpenSSL

Abraços

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Moderadores
Postado
8 horas atrás, herculanojs disse:

Qual as definições que devo fazer para que possa atender os dois tipos de certificados? 

O recomendado é usar OpenSSL para certificados A1 e WinCrypt para A3.

Leia os tópicos a seguir:

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
29 minutos atrás, Victor H disse:

Bom dia,

A Capcom foi descontinuada pela microsoft a muito tempo, por isso é recomendável remover, mas ela trabalha com STORE, funciona para certificados modelo A1 e A3;

A OpenSSL tu vai conseguir trabalhar com arquivos PFX diretamente sem o uso das STORE;

O Wincrypt tu vai conseguir trabalhar com STORE de certificados igual a capcom, tanto para modelo A1 e A3;

eu particularmente eu removi toda a dependência do capcom e da openssl dos meus sistemas, portanto uso o (Wincrypt + MSXML), se usar (Wincrypt + libXML2 ) ele vai te pedir a dependência do OpenSSL

Abraços

Obrigado pela ajuda.

Como devo deixar então o arquivo acbr.inc para utilizar o wincrypt pelo que vejo que atende as duas situações. Compreendi o que vc disse, mas tenho dúvidas de como isso deve estar configurado.

Poderia me auxiliar se não for abusar de tua boa vontade?

// Descomente a linha abaixo, se você quer que seu Executável NÃO dependa das DLLs LibXML2, LibXMLSEC,
{.$DEFINE DFE_SEM_OPENSSL}
// Descomente a linha abaixo, se você quer que seu Executável NÃO dependa das DLLs LibXMLSEC, mas continue suportando a LibXML2
{.$DEFINE DFE_SEM_XMLSEC}
// Descomente a linha abaixo, se você quer que seu Executável NÃO dependa das DLLs LibXML2, mas continue suportando LibXMLSEC
{.$DEFINE DFE_SEM_LIBXML2}
// Descomente a linha abaixo, se você não utiliza a obsoleta Capicom para Criptografia (recomendado)
{.$DEFINE DFE_SEM_CAPICOM}
// Descomente a linha abaixo, se você não utiliza a obsoleta MSXML para Assinatura de XML(recomendado)
{.$DEFINE DFE_SEM_MSXML}
// Descomente a linha abaixo, se você não deseja adicionar a Dependência da INDY nos seus Projetos
{.$DEFINE DFE_SEM_INDY}

{$IfDef DFE_SEM_OPENSSL}
  {$Define DFE_SEM_XMLSEC}
  {$Define DFE_SEM_LIBXML2}
{$EndIf}

  • 6 meses depois ...
  • Administradores
Postado

Boa tarde.

Este tópico está inativo a algum tempo e por isso será fechado, caso necessário favor criar um novo tópico.

Att.

Consultora ACBr Pro

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 2311 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...