Ir para conteúdo
  • Cadastre-se

dev botao

BHISS Cancelamento NFSe "E174: Arquivo enviado com erro na assinatura."


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

Recommended Posts

Postado

Bom dia!

Estou com dificuldade no cancelamento de notas fiscais de serviço para a prefeitura de porto alegre (BHISS).

Algum tempo atrás, já havia respondido um tópico com este mesmo assunto onde, na época, havia resolvido este problema trocando a configuração da SSLLib. Não localizei no fórum nenhum tópico que falando sobre essa situação.

Comparei a estrutura do XML com XML antigos que haviam sido aprovados e não identifiquei diferenças.

Ao validar a assinatura de um XML antigo através do site https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/assinadoc/ValidadorAssinaturas.app/valida.aspx o mesmo é validado, mas os XMLs atuais acusa como inválido. (XML de envio de notas atuais também são validados).

Tentei todas as formas de configuração do certificado no meu sistema (capicom, wincrypt, openssl). Utilizei o Demo_ACBrNFse e também obtive os mesmo resultados.

O arquivo anexado 2018/1229 é o que está com erro na assinatura, o 2018/853 a assinatura é validada.

obs: 

Consigo enviar notas sem problemas de assinatura.

Estou com todas as fontes e DLLs atualizadas.

 

Agradeço desde já por qualquer ajuda!

201800000001229-ped-can.xml

201800000000853-ped-can.xml

Postado
20 minutos atrás, Amarildo de Matos disse:

bom dia.. voce verificou se os schemas estao atualizados?:

Olá @Amarildo de Matos testei com o schema do repositório, baixei direto o do site da prefeiura de porto alegre e sempre o mesmo erro.

Já restaurei um bhiss.ini mais antigo que tinha no meu repositório para teste, também não funcionou.

Testei em outros computadores, com outras versões de windows e certificados diferentes (usando micros de clientes) e sempre a mesma mensagem.

Obrigado pela resposta

Postado
1 minuto atrás, Italo Jurisato Junior disse:

Boa tarde Augelias,

Se o envio esta ocorrendo sem nenhum problema é estranho esse tipo de erro no cancelamento.

Boa tarde @Italo Jurisato Junior

Realmente, está bem estranho, conforme o link que passei acima que estou utilizando para validar os XMLs, as notas de envio valida perfeitamente, os de cancelamento, acusa que não estão assinados.

Já modifiquei diversas configurações dos arquivos .INI e parâmetros para utilização do certificado, em todos os testes, consigo enviar mas não cancelar.

Para ajudar, anexo aqui um envio de nota aprovado e um pedido de cancelamento que não foi aprovado, ambos testados no site da receita para validar a assinatura digital e ocorrendo o que relatei acima.

Agradeço desde já qualquer ajuda!

99363-env-lot-soap.xml

201800000001244-ped-can.xml

201800000001244-ped-can-soap.xml

99363-env-lot.xml

Postado

Aproveitando para acrescentar uma informação:

Este arquivo de teste em anexo, para validar no site da receita federal, ao modificar a tag: <CancelarNfseEnvio xmlns="http://www.abrasf.org.br/nfse.xsd"> para <CancelarNfseEnvio> e tentar validar o arquivo, o mesmo retorna como válido.

Desculpe a ignorância, mas esta informação é utilizada para assinar o XML @Italo Jurisato Junior? Não seria isso que pode influenciar para dizer que o arquivo assinado é válido ou não?

Obrigado!

201800000001244-ped-can.xml

Postado

bom dia.. augelias..

bem de ver entao , se tu nao esta chamando o metodo errado..

tem de ver qual opcao para chamar por esse endereco que voce colocou..

talvez seja configuração.

recomendo, mandar como voce esta mandando a configuração, os comandos, tudo que poder influenciar.

mas o que voce passou já sera uma dica para tentar descobrir..

 

Postado
Em 01/12/2018 at 09:13, Amarildo de Matos disse:

bom dia.. augelias..

bem de ver entao , se tu nao esta chamando o metodo errado..

tem de ver qual opcao para chamar por esse endereco que voce colocou..

talvez seja configuração.

recomendo, mandar como voce esta mandando a configuração, os comandos, tudo que poder influenciar.

mas o que voce passou já sera uma dica para tentar descobrir..

 

Bom dia @Amarildo de Matos!

Somente na sexta ao final do dia que consegui enviar o cancelamento sem erro de assinatura para a prefeitura.

Comecei a fazer um rollback de cada versão do arquivo "ACBrNFSeWebServices.pas" e testar até que cheguei na revisão 15912 de 14/11 e consegui enviar o cancelamento se erro de assinatura.

Houve diversos ajustes referente as rotinas de cancelamento nestas ultimas alterações e alguma delas pode ter influenciado na assinatura e vou tentar identificar o que pode ser para ajudar na análise.

Obrigado por toda ajuda!

  • Consultores
Postado

Boa tarde Augelias,

Realmente teve muitas alterações e com certeza algo saiu do controle.

Essa unit que você esta usando e que esta cancelamento normalmente você poderia anexar?

Desde já muito obrigado.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
17 minutos atrás, Italo Jurisato Junior disse:

Boa tarde Augelias,

Realmente teve muitas alterações e com certeza algo saiu do controle.

Essa unit que você esta usando e que esta cancelamento normalmente você poderia anexar?

Desde já muito obrigado.

Boa tarde @Italo Jurisato Junior!

Segue a unit.

Desculpa não ter conseguido analisar ainda o que influenciou no cancelamento, mas aqui está bem corrido e quando apaga um incêndio, tem que correr pra apagar os outros né! hahahahaha!

Já testei inclusive em micros de clientes e agora estou conseguindo enviar o cancelamento que não estava fazendo depois da ultima atualização que fiz do repositório.

Eu fui verificando o log de alterações e restaurando as units que foram modificadas até isolar somente esta para conseguir enviar o cancelamento.

Obrigado pela atenção!

ACBrNFSeWebServices.pas

Postado
6 minutos atrás, Danilo Ziza disse:

Capicom.

Com WinCrypt ocorre "Falha ao Assinar - Cancelar NFS-e:  Nenhum elemento encontrado", testado com e sem as alterações acima.

Bom dia @Danilo Ziza

Experimente o seguinte: Configure para utilizar WinCrypt e SSLXMLSignLib como MsXml, é o que estou utilizando aqui para transmitir as notas, as outras propriedades não modifiquei.

  • Curtir 1
Postado

augelias

 

Bom dia!

Para configurar WinCrypt e SSLXMLSignLib como MsXml .......   Somente em Tempo de Execução!

Porque se deixar por padrão configurado....  nao dá certo. o WinCrypt muda para Custom.

Confere?

Postado
8 minutos atrás, barrys disse:

augelias

 

Bom dia!

Para configurar WinCrypt e SSLXMLSignLib como MsXml .......   Somente em Tempo de Execução!

Porque se deixar por padrão configurado....  nao dá certo. o WinCrypt muda para Custom.

Confere?

Bom dia @barrys

Sim, eu atribuo em tempo de execução, inclui esses parâmetros de configuração da NFSe em meu software e modifico eles conforme o a prefeitura, versão de windows e tipo de certificado que está sendo utilizado.

Atribuo primeiro a SSLLib e depois os outros parâmetros caso eu modifique eles.

Postado

Boa tarde,

Também estou com este mesmo problema, apenas no cancelamento de NFS-e, cidade de Porto Alegre, provedor BHISS,

em versões anteriores, compiladas com componente ACBr antigo, cancela normalmente.

Ao comparar os XML gerados pela versão nova, e gerados pela versão antiga, notei que na versão antiga (que funciona),

o XML é salvo em disco em uma única linha. Já na versão nova, os blocos SignatureValue e X509Certificate quebram a linha,

a cada 76 caracteres (Caracter LF).

Também notei diferença na conversão do carácter especial & (E comercial), novo &amp;amp; e antigo &amp;

  • Consultores
Postado

Bom dia Gabriel,

Você poderia anexar esses XMLs para que possamos analisar?

Na versão antiga da aplicação cujo cancelamento funciona, estava sendo usado o Capicom ou WinCrypt?

E a nova versão o que usa?

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Italo, boa tarde,

Abaixo o XML gerado pelo método ConsultarNFSe (que basicamente pega o XML da prefeitura e salva em disco).

Pode se ver que o caracter & é alterado nos dois XML, assim como o bloco da assinatura, que quebra linha na versão nova.

Ambos os testes estão usando via OpenSSL, os ois estão usando a mesma versão de Schemas, e mesma versão de arquivos INI de configuração do componente.

Como a assinatura do evento de cancelamento usa o XML original, acredito que esteja aí o problema, pois no XML de pedido de cancelamento não

existem alterações substanciais (tirando o hash e a assinatura, que sempre vai gerar diferente mesmo se o XML for igual).

A versão nova está usando o componente atual, enquanto a antiga (que funciona), são do período entre 06/2018 e 08/2018 aproximadamente.

image.thumb.png.efb49a9cc05e890435f8fc362d61483f.png

image.thumb.png.761bd9a719f91f33b5f0ca32451de04e.png

 

1899123018991230-lista-nfse (versao nova com erro).xml

1899123018991230-lista-nfse-soap (versao nova com erro).xml

201800000000042UNICA-nfse (versao nova com erro).XML

1899123018991230-lista-nfse (versao old funcionando).xml

1899123018991230-lista-nfse-soap (versao old funcionando).xml

201800000000042UNICA-nfse (versao old funcionando).XML

Postado

Boa tarde @Italo Jurisato Junior!

Removi e reinstalei todo o ACBr hoje, testei o envio e tudo certo, mas o cancelamento estava com o mesmo erro na assinatura.

Utilizei os mesmos ini do repositório para envio.

Todos os testes que fiz foram com a prefeitura de Porto Alegre (BHISS).

Comparei com a Unit que havia salvo que estava conseguindo enviar o cancelamento por último e fui restaurando linha a linha até que consegui enviar o cancelamento sem erro de assinatura.

Anexei a unit alterada (já na versão mais recente) mas com as linhas que influenciaram na assinatura para o cancelamento para que você avalie. Espero que ajude.

 

Obrigado desde já!

ACBrNFSeWebServices.pas

Postado

Italo, bom dia!

Atualizei os componentes, pasta de INI de provedores, e pasta Schemas.

Ficou resolvida a questão da quebra de linha no bloco da assinatura, e do e comercial. Vi que agora existe configuração no Ini do provedor para isso.

Notei que ele remove dentro do XML, os caracteres "s:" que tenham no arquivo (na versão antiga não removia). Talvez esteja confundindo com alguma tag do XML.

image.thumb.png.bd1f5b1b4a671a7e0a2aad00ad6c093c.png

De qualquer forma, gerei uma NFS-e sem a ocorrência de "s:" ou seja, sem diferenças de geração na nova e na velha versão.

Mesmo o XML estando sem diferenças, continua o erro da prefeitura na hora do cancelamento.

A principio a única alteração no pedido de cancelamento está no DigestValue e no SignatureValue

image.thumb.png.4e56c944ccc59429f761bb28999aa830.png

201800000000043UNICA-nfse versao nova sem o s.XML

201800000000044-ped-can versao antiga cancelando.xml

201800000000044-ped-can versao nova erro.xml

201800000000044-ped-can-soap versao antiga cancelando.xml

201800000000044-ped-can-soap versao nova erro.xml

201800000000043UNICA-nfse versao antiga com o s.XML

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