Ir para conteúdo
  • Cadastre-se

dev botao

Erro: Signature Failed


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

Recommended Posts

Postado

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.

Postado

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

  • Moderadores
Postado

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_Transparent-02.png
 

 

  • Solution
Postado

Srs. Boa tarde,

 

   Voltei ao inicio, reinstalei todo o projeto ACBr e compilei novamente e o problema sumiu, agradeço a todos a atenção e colaboração

 

Atenciosamente,

 

Aldenor

Postado (editado)

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
  • 1 mês depois ...
  • Moderadores
Postado

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_Transparent-02.png
 

 

  • 2 semanas depois ...
  • 3 meses depois ...
  • 3 semanas depois ...
  • Membros Pro
Postado

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.

  • 3 meses depois ...
  • Moderadores
Postado

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/

 

 

  • Moderadores
Postado (editado)

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/

 

 

  • Moderadores
Postado

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/

 

 

  • 3 semanas depois ...
Postado (editado)

Boa tarde! Estou com o mesmo problema ao alterar a diretiva para OpenSSL: Error: signature failed
Alguém conseguiu avançar? É necessário alterar DTD?

Editado por Eduardo Wosgrau
  • 5 semanas depois ...
  • Moderadores
Postado

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/

 

 

  • Membros Pro
Postado
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 !

  • 4 semanas depois ...
Postado

Srs. Boa tarde.

Saberiam informar se houve algum avanço neste caso?

Erro na assinatura com o  OpenSSL : raised exception class EACBrDFeException with message 'Error: signature failed'.

Grato a todos.

Gamarra

Florianópolis-SC

  • 4 meses depois ...
Postado
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,

 

  • 2 meses depois ...
  • Fundadores
Postado

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.

  • 4 semanas depois ...
Postado

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

  • 3 meses depois ...
Postado
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.

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