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á 1959 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores

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"

Link para o comentário
Compartilhar em outros sites

  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Consultores

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"

Link para o comentário
Compartilhar em outros sites

  • Consultores

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"

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Estou em viagem... então somente agora tive oportunidade de subir no SVN... Commits 14848 e 14849

  • Curtir 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.

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

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.

Link para o comentário
Compartilhar em outros sites

  • Consultores

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"

Link para o comentário
Compartilhar em outros sites

  • Moderadores
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

 

 

Link para o comentário
Compartilhar em outros sites

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}

Link para o comentário
Compartilhar em outros sites

  • 6 meses depois ...
  • Administradores

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 SAC ACBr

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 !!

Link para o comentário
Compartilhar em outros sites

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