Ir para conteúdo
  • Cadastre-se

dev botao

Erro 0008 - Assinatura Invalida Betha


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

Recommended Posts

bom dia..

 

''Erro 0008 - assinatura invalida''

 

alguém se deparo com isso também ?

 

Se sim como resolveram.. 

 

li vários posts e no fórum da betha também mas nada resolveu..

 

 

 

 

obrigado...

---------------------------------------------------------

Att. 

Oneide Luiz Schneider
Analista/Desenvolvedor de Software
Itapiranga/Maravilha - SC
(49) 99367442
Link para o comentário
Compartilhar em outros sites

nesse topico ha um comentario sobre uma nova validacao.. nao sei ja esta implementado isso no acbr...

 

http://forum.betha.com.br/phpbb/viewtopic.php?f=93&t=19591&start=30

 

 

 

http://forum.betha.com.br/phpbb/viewtopic.php?f=93&t=19636#p33516

Editado por Oneide
---------------------------------------------------------

Att. 

Oneide Luiz Schneider
Analista/Desenvolvedor de Software
Itapiranga/Maravilha - SC
(49) 99367442
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Oneide,

 

Lendo um dos links, diz que tanto o RPS quanto o Lote tem que estar assinado.

 

Mas se você observar a unit ACBrProvedorBetha consta que ambas as propriedades AssinarRPS e AssinarLote estão com o valor True, sendo assim o componente vai assinar o RPS e o Lote.

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

isso.. mas mesmo assim ele nao valida.. estranho.. pois aqui aconteceu da noite para o dia.. por q ate ontem estava emitindo normalmente..

 

e essa validação veio final do mes passado apenas.. por isso estou achando estranho...

 

e assim.. se pegarmos os antigos ele tb nao valida no site da receita

 

com isso constatei que devemos fazer alguma alteracao, so nao sei onde..

 

vou anexar 2 xml.. um gerado ontem q passou e outro hoje q nao passou mais no servidor da betha.

 

 

hojeERRO.xml

OntemOK.xml

---------------------------------------------------------

Att. 

Oneide Luiz Schneider
Analista/Desenvolvedor de Software
Itapiranga/Maravilha - SC
(49) 99367442
Link para o comentário
Compartilhar em outros sites

Oneide, passou a não validar mais devido a uma att. do servidor da Betha, que segundo o Alex antigamente a validação era parcial, e agora passou a ser total.

 

Estou montando um ambiente de testes aqui na empresa, porém só vou conseguir começar a veriricar os fontes à tarde.

Enquanto isso, vou acompanhando a evolução do tópico.

Link para o comentário
Compartilhar em outros sites

certo.. também estou vendo.. mas hoje atarde infelizmente não vou estar.. 

 

só amanha voltarei a ver.. se tiver sucesso poste aqui..

 

Até..

---------------------------------------------------------

Att. 

Oneide Luiz Schneider
Analista/Desenvolvedor de Software
Itapiranga/Maravilha - SC
(49) 99367442
Link para o comentário
Compartilhar em outros sites

Conforme este tópico: "http://forum.betha.com.br/phpbb/viewtopic.php?f=93&t=19636&start=30", o Sr. Alex da Betha Sistemas diz o seguinte:

 

"Nossa aplicação não estava fazendo a validação da assinatura na sua totalidade, por isso que seu arquivo foi importado sem problemas ontem. Após termos atualizado a aplicação de ontem para hoje, lotes de rps que estão com alguma inconsistência na assinatura estão apresentando o erro de que estamos tratando."

 

No mesmo post ele ainda complementa:

 

"Adiantamos que antes da atualização estava sendo validada somente a assinatura do lote e não a dos RPSs."

 

Verifiquei o XML do lote do RPS, mas tanto o RPS quando o Lote estão assinados. Segundo os comentários acima, o erro está na assinatura do RPS, que não estava sendo verificada até a data de ontem, pois eles estavam validando apenas a assinatura do lote.

 

Se a assinatura está correta eu não sei dizer, mas existem outras empresas desenvolvedoras de software que utilizam PHP com Java, etc, ou seja, não usam o ACBr e que também estão com esse problema.

Link para o comentário
Compartilhar em outros sites

Boa Tarde Pessoal

    Realmente pelo que andei lendo o site da receita só valida a assinatura externa, que seria a assinatura do lote, se você alterar o combo box da página para última assinatura ele valida normalmente o xml, porem pelo que olhei no fórum da Betha eles mudaram esta validação, a partir de hoje tanto eles validão a assinatura dos RPS e do Lote, só para constar também estou com o mesmo problema nas cidades de Três Passos - RS e Dionisio Cerqueira - SC, desde já obrigado pela colaboração e se alguém souber como resolver, peço que disponibilize para todos a solução, também estarei fazendo testes.

LogoACBr_02.png.d3c72a4756f896a387e063fd64ed6646.png Frederico Westphalen - RS
pbnew.com.br  
[email protected]  
55 3744 - 3880  
Link para o comentário
Compartilhar em outros sites

Bom, o que descobri até o momento é que o ACBR está assinando o lote e essa assinatura está tornando-se inválida.

Salvei o RPS assinado e o site da fazenda valida a assinatura...

E o arquivo salvo peleo ACBR nfse antes de enviar contém 2 assinaturas, sendo que umas delas é inválida, então acredito que seja a assinatura do LOTE.

 

Porém ainda não sei como resolver...

post-516-0-75129200-1395251267.png

post-516-0-21709800-1395251274_thumb.png

Link para o comentário
Compartilhar em outros sites

A assinatura já está saindo inválida da rotina

if not(NotaUtil.Assinar(vLote,
                              FConfiguracoes.Certificados.GetCertificado,
                              vAssinada, FMsg, True,
                              FConfiguracoes.WebServices.Prefixo3,
                              FConfiguracoes.WebServices.Prefixo4,
                              FConfiguracoes.WebServices.Provedor,
                              ASincrono))

na linha 544 do ACBrNFSeNotasFiscais.pas;

 

Salvei o conteúdo da variável vAssinada nesse ponto, e mandei validar no site da receita... mesmo problema...

Link para o comentário
Compartilhar em outros sites

Pessoal no Fórum da Betha o PauloTwo comentou o seguinte:

 

Para quem utiliza delphi = msxml vai precisar de algo assim:

 

xmldoc.setProperty('SelectionNamespaces', DSIGNS + ' xmlns:ns="http://www.betha.com.br/e-nota-contribuinte-ws"');

    if bEhEnvio then
      xmldsig.signature := xmldoc.selectSingleNode('.//ns:EnviarLoteRpsEnvio/ds:Signature') // Lote
    else
      xmldsig.signature := xmldoc.selectSingleNode('.//ds:Signature'); // RPS
 

Chamem uma vez para cada RPS (passando só o xml dento da tag RPS, depois chamem mais uma vez com o xml completo, com tudo que estiver dentro da tag EnviarLoteRpsEnvio.

Editado por Rômulo da Costa de Souza
LogoACBr_02.png.d3c72a4756f896a387e063fd64ed6646.png Frederico Westphalen - RS
pbnew.com.br  
[email protected]  
55 3744 - 3880  
Link para o comentário
Compartilhar em outros sites

Fiz essa alteração, e fixei no fonte apenas pra Betha, pra testar...

 

Troquei todo o bloco de código

 

xmldoc.setProperty('SelectionNamespaces', DSIGNS + NameSpaceLote);

 if ALote   then
 begin
   if (URI <> '') and (AProvedor = proIssDSF)
    then xmldsig.signature := xmldoc.selectSingleNode('.//ns1:'+ EnviarLoteRps + '/ds:Signature')
   else if (AProvedor = proEquiplano)
    then xmldsig.signature := xmldoc.selectSingleNode('.//ds:Signature')
   else if (URI <> '') and not (AProvedor in [proRecife, proRJ, proAbaco, proIssCuritiba, proFISSLex])
    then xmldsig.signature := xmldoc.selectSingleNode('.//ns:EnviarLoteRpsEnvio/ds:Signature')
   else begin
     xmldsig.signature := xmldoc.selectSingleNode('.//ds1:' + EnviarLoteRps + '/ds:Signature');
    end;
  end
  else xmldsig.signature := xmldoc.selectSingleNode('.//ds:Signature');
 

 

 

para

 

 xmldoc.setProperty('SelectionNamespaces', DSIGNS + ' xmlns:ns="http://www.betha.com.br/e-nota-contribuinte-ws"');

 if ALote   then
   xmldsig.signature := xmldoc.selectSingleNode('.//ns:EnviarLoteRpsEnvio/ds:Signature')
  else
    xmldsig.signature := xmldoc.selectSingleNode('.//ds:Signature');
 

conforme citado, e o erro persiste

Link para o comentário
Compartilhar em outros sites

Então fag.online,

Vi isto também, e descobri o outro problema.

Altere a unit pnfsNFSeW.pas na função GerarXml e adicione o que esta em negrito abaixo

 if (FProvedor <> proIssDsf) and (FProvedor <> proEquiplano) then
   // Alterado Por Cleiver em 01/02/2013
   if (FProvedor in [proGoiania, proProdata, proVitoria, proVirtual, proPublica])
     then begin
      Gerador.wGrupo('GerarNfseEnvio' + Atributo);
	    Gerador.wGrupo('Rps');
     end
else if (FProvedor = proBetha) then
      Gerador.wGrupo('Rps')
else Gerador.wGrupo('Rps' + Atributo);

Pra mim esta funcionando normalmente agora...

 

Obs.: Fiz estas alterações apenas para poder liberar versão, depois temos que ver com o Italo qual a melhor forma.

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde a todos,

 

Favor atualizar os fontes.

 

Fiz um merge usando as units postadas pelo Paulo Henrique.

 

Fico no aguardo de um retorno.

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

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.