Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao assinar NFS-e de Goiânia com OpenSSL - strdup function failed


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

Recommended Posts

Bom dia,

Ao tentar enviar uma NFS-e para a prefeitura de Goiânia, no momento de assinar o documento, está ocorrendo um erro no método function "TDFeSSLXmlSignXmlSec.XmlSecSign(const ConteudoXML: AnsiString; SignatureNode,
  SelectionNamespaces, InfElement: AnsiString): AnsiString" , no seguinte trecho de código:

    SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode);
    if (SignResult < 0) then
    begin
      xmlsecMsg := xmlSecErrorsGetMsg(2);
      raise EACBrDFeException.CreateFmt(cErrDSigSign + sLineBreak + xmlsecMsg, [SignResult]);
    end;

A mensagem é "Erro -1: Falha ao assinar o Documento strdup function failed"

Consigo carregar as informações do cerficado normalmente no método SSL.CarregarCertificado

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Weverton,

Com o programa exemplo ocorre o mesmo problema?

O componente esta configurado corretamente?

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 semanas depois ...
  • Consultores

Boa noite Weverton,

Configura para libCapicom e refaça os testes.

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

  • Consultores

Bom dia Weverton,

Ao "debugar" quais são os valores dos parâmetros da function: XmlSecSign(const ConteudoXML: AnsiString; SignatureNodeSelectionNamespaces, InfElement: AnsiString) ?

 

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

ConteudoXML: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE test [<!ATTLIST InfDeclaracaoPrestacaoServico Id ID #IMPLIED>]><Rps xmlns="http://nfse.goiania.go.gov.br/xsd/nfse_gyn_v02.xsd"><InfDeclaracaoPrestacaoServico><Rps Id="rps817UNICA"><IdentificacaoRps><Numero>123</Numero><Serie>SERIE</Serie><Tipo>1</Tipo></IdentificacaoRps><DataEmissao>2017-10-17T19:18:58</DataEmissao><Status>1</Status></Rps><Servico><Valores><ValorServicos>1.00</ValorServicos><Aliquota>2.7900</Aliquota></Valores><CodigoTributacaoMunicipio>620910000</CodigoTributacaoMunicipio><Discriminacao>SERVIÇO</Discriminacao><CodigoMunicipio>25300</CodigoMunicipio></Servico><Prestador><CpfCnpj><Cnpj>18349907000126</Cnpj></CpfCnpj><InscricaoMunicipal>3544206</InscricaoMunicipal></Prestador><Tomador><IdentificacaoTomador><CpfCnpj><Cnpj>37400348000186</Cnpj></CpfCnpj></IdentificacaoTomador><RazaoSocial>TOMADOR</RazaoSocial><Endereco><Endereco>ENDEREÇO</Endereco><Numero></Numero><Bairro>Jardim Presidente</Bairro><CodigoMunicipio>25300</CodigoMunicipio><Uf>GO</Uf><Cep>74353230</Cep></Endereco></Tomador></InfDeclaracaoPrestacaoServico><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI="#rps817UNICA"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue></DigestValue></Reference></SignedInfo><SignatureValue></SignatureValue><KeyInfo><X509Data><X509Certificate></X509Certificate></X509Data></KeyInfo></Signature></Rps>

SignatureNode:

SelectionNamespaces:

InfElement: InfDeclaracaoPrestacaoServico

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Weverton,

Por não conhecer a fundo o funcionamento da assinatura digital, acredito que o problema do OpenSSL não realizar a assinatura é devido a ausência do atributo "Id" na tag <InfDeclaracaoPrestacaoServico> tag esta usada para realizar a assinatura.

Note que o atributo "Id" se encontra na tag <Rps>.

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

Bom dia Italo,

Veja como fica o XML quando usa CAPICOM, que funciona normalmente:

<?xml version="1.0" encoding="UTF-8"?><Rps xmlns="http://nfse.goiania.go.gov.br/xsd/nfse_gyn_v02.xsd"><InfDeclaracaoPrestacaoServico><Rps Id="rps817UNICA"><IdentificacaoRps><Numero>123</Numero><Serie>SERIE</Serie><Tipo>1</Tipo></IdentificacaoRps><DataEmissao>2017-10-19T08:11:02</DataEmissao><Status>1</Status></Rps><Servico><Valores><ValorServicos>1.00</ValorServicos><Aliquota>2.7900</Aliquota></Valores><CodigoTributacaoMunicipio>620910000</CodigoTributacaoMunicipio><Discriminacao>SERVIÇO</Discriminacao><CodigoMunicipio>25300</CodigoMunicipio></Servico><Prestador><CpfCnpj><Cnpj>18300900000126</Cnpj></CpfCnpj><InscricaoMunicipal>3544539</InscricaoMunicipal></Prestador><Tomador><IdentificacaoTomador><CpfCnpj><Cnpj>12345678000123</Cnpj></CpfCnpj></IdentificacaoTomador><RazaoSocial>TOMADOR</RazaoSocial><Endereco><Endereco>ENDEREÇO</Endereco><Numero>55</Numero><Bairro>Jardim Presidente</Bairro><CodigoMunicipio>25300</CodigoMunicipio><Uf>GO</Uf><Cep>74353230</Cep></Endereco></Tomador></InfDeclaracaoPrestacaoServico><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI="#rps817UNICA"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue></DigestValue></Reference></SignedInfo><SignatureValue></SignatureValue><KeyInfo></KeyInfo></Signature></Rps>

Notei que, nesse caso, não é inserida a parte "<!DOCTYPE test [<!ATTLIST InfDeclaracaoPrestacaoServico Id ID #IMPLIED>]>" no começo do XML. Comentei o trecho de código que gera essa linha no OpenSSL, porém o continua dando o mesmo erro.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Weverton,

No caso do OpenSLL é adicionado o DOCTYPE, pois sem ele não ocorre a assinatura.

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

  • Consultores

Boa noite Weverton,

Passei o problema para o demais colegas, para que juntos possamos tentar encontrar o problema.

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

  • Fundadores

Verifique se seus fontes estão corretamente atualizados com o SVN... na dúvida, apague e baixe novamente...

Verifique se você está usando a versão correta da XMLSec... veja o tópico abaixo

Você pode usar o DadosPFX com libWinCrypt.. é o mesmo funcionamento de libOpenSSL

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

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