Ir para conteúdo
  • Cadastre-se

dev botao

Erro: Signature Failed


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

Recommended Posts

Srs. boa tarde,

 

   Sou usuário do ACBr já faz bastante tempo, e recentemente comecei a utilizar o ACBrNFSe, após alguns problemas iniciais e após problemas com a mudança de servidores vinha emitido as notas fiscais de forma muito rápida e eficaz, até ontem quando atualizei os fontes do ACBrNFSe, onde a identificação do número do certificado foi substituida pela identificação do arquivo de CERTIFICADO DIGITAL, após o que está me apresentando um erro de "Erro: signature failed", sendo que a opção funcionava corretamente antes disso.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia,

 

   Apenas alterei para ao invés de pegar o número do certificado digital, pegar o endereço e nome do arquivo do certificado, da mesma forma que fiz no emissor NFe.

 

Obrigado

Compatibilizando com a alteração que foi feita e proposta pelo pessoal na atualização do svn? ou simplesmente substitui o codigo?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Estou passando por este (Error: signature failed) problema na NFSe.

Usando capicom funciona normal, porém ao usar OpenSSL dá erro na Unit ACBrNFSeUtil neste trecho:

if (xmlSecDSigCtxSign(dsigCtx, node) < 0) then
  raise Exception.Create('Error: signature failed')

Ambiente:

Estou usando Delphi XE7 sobre Windows 8.1 64bits

Usando o projeto de exemplo (ACBr\Exemplos\ACBrNFSe\Delphi) da NFSe

Editado por Marcio Martins
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Moderadores

Estou passando por este (Error: signature failed) problema na NFSe.

Usando capicom funciona normal, porém ao usar OpenSSL dá erro na Unit ACBrNFSeUtil neste trecho:

if (xmlSecDSigCtxSign(dsigCtx, node) < 0) then
  raise Exception.Create('Error: signature failed')

Ambiente:

Estou usando Delphi XE7 sobre Windows 8.1 64bits

Usando o projeto de exemplo (ACBr\Exemplos\ACBrNFSe\Delphi) da NFSe

Marcio conseguiu algum progresso com esse problema em openssl?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • 3 meses depois ...
  • Moderadores

Boa noite!

acho que o problema pode estar ligado as dll do openssl presentes no micro de vocês !

tente verificar a existência das mesmas e depois exclua e deixe somente a do acbr junto ao seu executável

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Senhores, esse erro dá se não estiver implementando o DTD correto do provedor para o serviço em questão. Na ACBrNFSeUtil.pas tem duas constantes: cDTDLote e cDTDRps,

que são usadas no OpenSSL. 

Se você tentar usar o serviço GerarNfse ao invés de gerar lote de RPS, vai dar erro.Teria que declarar a constante:

 

cDTDGerar = '<!DOCTYPE test [<!ATTLIST InfDeclaracaoPrestacaoServico Id ID #IMPLIED>]>'; //leandro (provedor proEReceita)

 

e usá-la no devido lugar. Estou implementando o provedor EReceita, e até semana que vem devo mandar as units para o Juliomar subir pro SVN, se quiser. Aí vai ter mais DTD's declarados,

pode ser que resolva os problemas que relataram aqui.

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...
  • Moderadores

Pessoal

Alguem sabe dizer o que esta errado no XML em anexo que não consigo assinar o lote com OpenSSL?

Com Capicom assino sem problemas, mas com OpenSSL só consegui assinar o RPS quando mando assinar o lote da erro em:

if (xmlSecDSigCtxSign(dsigCtx, node) < 0) then
  raise Exception.Create('Error: signature failed')

Obrigado Pessoal,

AntesAssinarLote.xml

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pessoal,

Sobre o erro acima consegui chegar na mensagem de erro quando tento assinar:

func=xmlSecXPathDataExecute:file=..\src\xpath.c:line=273:obj=unknown:subj=xmlXPtrEval:error=5:libxml2 library function failed:expr=xpointer(id('1332'))

func=xmlSecXPathDataListExecute:file=..\src\xpath.c:line=356:obj=unknown:subj=xmlSecXPathDataExecute:error=1:xmlsec library function failed:
func=xmlSecTransformXPathExecute:file=..\src\xpath.c:line=466:obj=xpointer:subj=xmlSecXPathDataExecute:error=1:xmlsec library function failed:
func=xmlSecTransformDefaultPushXml:file=..\src\transforms.c:line=2371:obj=xpointer:subj=xmlSecTransformExecute:error=1:xmlsec library function failed:
func=xmlSecTransformCtxXmlExecute:file=..\src\transforms.c:line=1207:obj=unknown:subj=xmlSecTransformPushXml:error=1:xmlsec library function failed:transform=xpointer
func=xmlSecTransformCtxExecute:file=..\src\transforms.c:line=1267:obj=unknown:subj=xmlSecTransformCtxXmlExecute:error=1:xmlsec library function failed:
func=xmlSecDSigReferenceCtxProcessNode:file=..\src\xmldsig.c:line=1568:obj=unknown:subj=xmlSecTransformCtxExecute:error=1:xmlsec library function failed:
func=xmlSecDSigCtxProcessSignedInfoNode:file=..\src\xmldsig.c:line=804:obj=unknown:subj=xmlSecDSigReferenceCtxProcessNode:error=1:xmlsec library function failed:node=Reference
func=xmlSecDSigCtxProcessSignatureNode:file=..\src\xmldsig.c:line=547:obj=unknown:subj=xmlSecDSigCtxProcessSignedInfoNode:error=1:xmlsec library function failed:
func=xmlSecDSigCtxSign:file=..\src\xmldsig.c:line=303:obj=unknown:subj=xmlSecDSigCtxSigantureProcessNode:error=1:xmlsec library function failed:
Error: signature failed

Acho que o problema esta na primeira linha.

Se eu entendi direito ele esta buscando novamente o ID 1332 que é o do RPS já assinado no arquivo. Estou supondo irei procurar mais detalhes.

Mas será que com isso alguem poderia dar uma luz? Estou realmente precisando utilizar o OpenSSL para esse projeto pois ele será executado no Linux.

Agradeço qualquer ajuda.

Abraços.

Editado por juaumkiko

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom...

Em contato com o Aleksey que é o pai da criança ;), ele me informou que o referido erro (expr=xpointer(id('1332')) acontece porque esta tentando assinar essa referencia e não existe DTD para isso. O que esta correto pois o DTD esta para assinar o Lote (133) e nao o RPS já assinado (1332).

Ele informou ainda que por padrão o xmlsec assina sempre o primeiro nó de assinatura que ele encontrar, dae vem o problema pois o primeiro nó já esta assinado (é o RPS). Ele teria que assinar o segundo nó de assinatura.

Então ele pede para eu checar o Help do xmlsec para encontrar uma forma de como apontar para qualquer outro "start node".

Ae eu suponho que ele esteja falando desse help:

 
Porém tentando assinar via console com o comando
>xmlsec --sign --node-name LoteRps file.xml > file_sign.xml
 
Recebo o erro:
Error: failed to find node with name="LoteRps"
Error: failed to load template "file.xml"
Error: failed to sign file "file.xml"
 
Ta dificil viu....
Será que só eu tentei assinar um RPS e LOTE com o componente em OpenSSL?
 
Abraços

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • 5 semanas depois ...
  • Moderadores

Opa Pessoal...

Consegui assinar o RPS e depois o LOTE com OpenSSL.

A jogada é com o Lote.

Após assinar todos os RPS individualmente, monte o Lote de RPS com todos os RPS já assinado e posicione as Tags de assinatura DO LOTE apenas, no inicio do arquivo.... Note que as tags do lote ainda nao estao assinadas.

Execute o processo de assinatura normalmente e depois realoque as tag assinada do lote no local correto, que é o fim do arquivo.

 

Abraços

  • Curtir 1

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
17 horas atrás, juaumkiko disse:

Opa Pessoal...

Consegui assinar o RPS e depois o LOTE com OpenSSL.

A jogada é com o Lote.

Após assinar todos os RPS individualmente, monte o Lote de RPS com todos os RPS já assinado e posicione as Tags de assinatura DO LOTE apenas, no inicio do arquivo.... Note que as tags do lote ainda nao estao assinadas.

Execute o processo de assinatura normalmente e depois realoque as tag assinada do lote no local correto, que é o fim do arquivo.

 

Abraços

Bom dia.

Esse recurso de assinar o RPS e o Lote já está implementado ? Estou com meus testes parados aqui por causa disso. Até onde eu estava sabendo isso ainda não estava implementado no Trunk2 !

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • 4 meses depois ...
Em 04/11/2015 at 15:27, juaumkiko disse:

Opa Pessoal...

Consegui assinar o RPS e depois o LOTE com OpenSSL.

A jogada é com o Lote.

Após assinar todos os RPS individualmente, monte o Lote de RPS com todos os RPS já assinado e posicione as Tags de assinatura DO LOTE apenas, no inicio do arquivo.... Note que as tags do lote ainda nao estao assinadas.

Execute o processo de assinatura normalmente e depois realoque as tag assinada do lote no local correto, que é o fim do arquivo.

 

Abraços

Amigo,

Tem como me enviar o arquivo após montar com todos os RPS antes de assinar o lote? Estou tendo o mesmo problema. Não consigo assinar um lote com os RPS assinados.

Att,

 

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Fundadores

Enviei alguns ajustes para o SVN, que podem resolver o problema de assinatura do OpenSSL... é importante informar corretamente, o "InfElement"...

Também implementei uma tentativa de buscar o nó de assinatura, baseado no ultimo nó do documento raiz... Isso permite informar Vazio no "InfElement"...

Citar

-- ACBrDFeOpenSSL --
[*] Ajuste para permitir a assintura sem informar o parâmetro "infElement".
    Nesse caso, a assinatura será procurada no ultimo nó do Documento Raiz
    (por: DSA)

 

Apliquei uma modificação para o provedor 4R... onde o ID está dentro de uma sub-tag...

<!DOCTYPE test [<!ATTLIST Rps Id ID #IMPLIED>]>
<Rps xmlns="http://www.abrasf.org.br/nfse.xsd">
	<InfDeclaracaoPrestacaoServico>
		<Rps Id="rps1NF">
			<IdentificacaoRps>

No exemplo acima, o "InfElement" correto é Rps, pois é ele quem tem a propriedade "Id"

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

  • 4 semanas depois ...

Srs. após atualizar os fontes e fazer novo teste com o libOpenSSL, está retornando a seguinte mensagem:

Project Demo_ACBrNFSe.exe raised exception class EACBrDFeException with message 'Erro: Falha ao localizar o nó de Assinatura'.

 

Atenciosamente

Gamarra

Gamarra

Florianópolis-SC

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...
Em 19/07/2016 at 10:40, Gamarra disse:

Srs. após atualizar os fontes e fazer novo teste com o libOpenSSL, está retornando a seguinte mensagem:

Project Demo_ACBrNFSe.exe raised exception class EACBrDFeException with message 'Erro: Falha ao localizar o nó de Assinatura'.

 

Atenciosamente

Gamarra

Alguém tem alguma notícia sobre? também está ocorrendo o mesmo erro comigo.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...