Ir para conteúdo
  • Cadastre-se

dev botao

OpenSSL/xsXmlSec + NFS-e BHISS - Falha ao localizar o nó de Assinatura


Gabriel Kissel
  • Este tópico foi criado há 1961 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Prezados, boa tarde!

Estamos tentando fazer funcionar a emissão/cancelamento de NFS-e para Porto Alegre/RS (provedor BHISS)

através da libOpenSSL/xsXmlSec (com certificado A1). Hoje funciona já 100% através das libs: libCapicom, libCapicomDelphiSoap e libWinCrypt.

Ao utilizar o libOpenSSL, acontece as seguintes situações:

-Ao emitir [ método ACBrNFSe1.Gerar(); ] retorna o erro "Falha ao localizar o nó de Assinatura"

-Ao cancelar [ método ACBrNFSe1.CancelarNFSe(); ] retorna o erro "Falha ao Assinar - Cancelar NFS-e: Erro -1: Falha ao assinar o Documento strdup function failed."

Em ambos os casos (gerar e cancelar) gera exceção internamente no componente na unit ACBrDFeXsLibXml2 na function TDFeSSLXmlSignLibXml2.LibXmlFindSignatureNode

e também no cancelamento,  gera exceção internamente na unit ACBrDFeXsXmlSec na function function TDFeSSLXmlSignXmlSec.XmlSecSign

Ao alterar a propriedade SSLXmlSignLib para xsLibXml2, alteram-se as mensagens de erro, tanto ao gerar como ao cancelar. Erros "Arquivo enviado com erro na assinatura" e "Nenhum elemento encontrado" respectivamente.

Ao alterar a propriedade SSLXmlSignLib para xsMsXml, aparentemente funciona, nunca usamos esta propriedade,

existe alguma particularidade para ela? Ela exige Capicom? Quais as diferenças dela para a xsXmlSec que vem default ao selecionar libOpenSSL?

Este mesmo arquivo de certificado, é usado sem problemas em OpenSSL/xsXmlSec para emissão de NF-e e NFC-e no componente ACBrNFe,

assim como já usamos o componente ACBrNFSe com libOpenSSL/xsXmlSec sem problemas (com outro certificado e outra cidade/provedor - DBSeller).

Acredito ser algo que a combinação OpenSSL + xsXmlSec + provedor BHISS esteja causando isso, sendo isso, gostaria de umas dicas sobre o que eu posso alterar para

poder fazer esta combinação funcionar.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Gabriel,

Ambos os provedores seguem a versão 1 do layout da ABRASF.

Mas existe uma diferença entre eles, o provedor DBSeller requer que somente o Lote seja assinado, já o provedor BHISS requer que os RPS mais o Lote sejam assinados.

O que deve esta ocorrendo no momento da assinatura é que o OpenSSL + xsXmlSec não consegue assinar o Lote por encontrar outra assinatura que no caso é do RPS.

E quanto ao cancelamento o provedor DBSeller não requer que o pedido de cancelamento seja assinado, já o provedor BHISS requer.

Acredito que o OpenSSL + xsXmlSec não esteja encontrando corretamento o DTD.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde, Italo,

Estava fazendo outros testes, vi que no provedor Betha, acontece o mesmo comportamento, assim como no provedor BHISS,

ao usar OpenSSL + xsXmlSec. Possivelmente este provedor também requer assinatura nos RPS's e no lote.

Acredita que é viável eu ajustar o xsXmlSec para conseguir assinar tanto o lote como os RPSs, ou é trabalho desnecessário, já que o xsMsXml

já está preparado para assinar corretamente nestes casos?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Gabriel,

Tenta usar o xsMSXML  com o DBSeller, se funcionar, eu mudaria.

Agora se quer tentar descobrir o que esta pegando no xsXmlSec fique a vontade e será de grande ajuda para a comunidade.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...
  • Consultores

Bom dia Luiz,

Esse erro ocorre durante a execução da aplicação em "debug", ou seja, via Delphi?

Se gerar o EXE da mesma e executar fora do Delphi ocorre o mesmo erro?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 6 meses depois ...
  • Administradores

Tópico fechado por falta de retorno do usuário

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á 1961 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...