Jump to content

dev botao

ACBrReinf - Fontes


Leivio Fontenele
Go to solution Solved by Renato Rubinho,
  • Este tópico foi criado há 2453 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores

@fidel,

Esse é exatamente o problema que foi corrigido. O xmlParseDoc retorna em branco, porque o xml está inválido. Veja o xml contido em ConteudoXML. Irá existir um texto "id" perdido dentro de Sgnature, conforme abaixo:

<Signature xmlns="1234567890"id>

Você disse que atualizou o Reinf e recompilou o ACBr_DFeComum. Veja que são dois fontes separados. Se você não atualizou o ACBrDFe.rar, não vai adiantar recompilar.

1. Primeiro atualize o fonte ACBrDFe.rar e recompile o ACBr_DFeComum

2. Atualize o ACBrReinf.rar

E, por fim, confirme realmente se está com o fonte correto, pois foi dito anteriormente que tiraram um dos parâmetros vazios na chamada abaixo. Essa chamada recebe agora 7 parâmetros. Se você passar o "id" no sexto parâmetro, acontecerá o problema que mencionou. Se passar no sétimo, funcionará:

4. A linha correta de ACBrReinfEventosBase->TEventoReinf.Assinar( é

   XMLAss := SSL.Assinar(ArqXML, 'Reinf', String(ANomeEvento), '', '', '', 'id');

 

Link to comment
Share on other sites

  • Fundadores

@Renato Rubinho, analisei as suas sugestões para o DFe, e realmente elas parecem corretas.. devo subir no SVN em alguns instantes...

Uma confusão essa questão de id para assinatura e do atributo... realmente se faz necessário 2 parâmetros...

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 to comment
Share on other sites

  • Consultores
Agora, Daniel Simoes disse:

@Renato Rubinho, analisei as suas sugestões para o DFe, e realmente elas parecem corretas.. devo subir no SVN em alguns instantes...

Uma confusão essa questão de id para assinatura e do atributo... realmente se faz necessário 2 parâmetros...

Legal @Daniel Simoes

Imagina eu tentando explicar isso por escrito para conseguir passar a informação ?... rsrs

Obrigado pelo retorno

 

 

 

Link to comment
Share on other sites

Em 10/27/2017 at 14:52, Renato Rubinho disse:

@fidel,

Esse é exatamente o problema que foi corrigido. O xmlParseDoc retorna em branco, porque o xml está inválido. Veja o xml contido em ConteudoXML. Irá existir um texto "id" perdido dentro de Sgnature, conforme abaixo:

<Signature xmlns="1234567890"id>

Você disse que atualizou o Reinf e recompilou o ACBr_DFeComum. Veja que são dois fontes separados. Se você não atualizou o ACBrDFe.rar, não vai adiantar recompilar.

1. Primeiro atualize o fonte ACBrDFe.rar e recompile o ACBr_DFeComum

2. Atualize o ACBrReinf.rar

E, por fim, confirme realmente se está com o fonte correto, pois foi dito anteriormente que tiraram um dos parâmetros vazios na chamada abaixo. Essa chamada recebe agora 7 parâmetros. Se você passar o "id" no sexto parâmetro, acontecerá o problema que mencionou. Se passar no sétimo, funcionará:

4. A linha correta de ACBrReinfEventosBase->TEventoReinf.Assinar( é

   XMLAss := SSL.Assinar(ArqXML, 'Reinf', String(ANomeEvento), '', '', '', 'id');

 

Bom dia. Renato

Agora esta dando este erro: no programa ACBrDFeXsXmlSec

 

nesta linha:

   { sign the template }
    SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode);

image.png.8eb9748b590f82bed254ec40ceec401c.pngimage.png.b2ee9ca0f63d21143a57c05ee92c0b2a.png

 

Link to comment
Share on other sites

Em 10/27/2017 at 14:51, Sandro Felipe Adad disse:

Voce sobrescreveu o ACBrDFeXsXmlSec do Renato no seu ..\ACBR\trunk2\Fontes\ACBrDFe antes de recompilar/reinstalar o ACBR?

Bom dia, Sandro

SIM.

Agora esta dando este erro: no programa ACBrDFeXsXmlSec

 

nesta linha:

   { sign the template }
    SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode);

image.png.8eb9748b590f82bed254ec40ceec401c.png

Link to comment
Share on other sites

  • Fundadores

@fidel,

Compreenda que o componente que você está tentando usar, está em construção... Ou seja, NÃO ESTÁ PRONTO...

Então, se você não tem conhecimento técnico para analisar os fontes e compreender as rotinas... Não tente usar...

  • Like 2
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 to comment
Share on other sites

Boa noite senhores ....
estou tentando enviar um evento utilizando a versão 1_02_00  dos schemas, alterei a "REINF_VERSAO"   porém tenho sempre como resposta  a msg : "Versão do Lote inválida. Deve ser utilizada a versão 1.01.01".

Alguém já passou por isso e poderia me dar um auxílio ?
Grato , 
Fábio Amaral.

image.png.f6d6490aa94e3ab95469ec75e9fccab4.png

image.png.93ac8158fa5380873cb7d8de76020579.png

Edited by Siagri Sistemas
Link to comment
Share on other sites

  • Moderadores
9 minutos atrás, Siagri Sistemas disse:

Boa noite senhores ....
estou tentando enviar um evento utilizando a versão 1_02_00  dos schemas, alterei a "REINF_VERSAO"   porém tenho sempre como resposta  a msg : "Versão do Lote inválida. Deve ser utilizada a versão 1.01.01".

Alguém já passou por isso e poderia me dar um auxílio ?
Grato , 
Fábio Amaral.

image.png.f6d6490aa94e3ab95469ec75e9fccab4.png

image.png.93ac8158fa5380873cb7d8de76020579.png

Boa tarde

o componente ainda não está funcional! então se estiver usando ele está com bugs e problemas.

se possível favor aguardar.

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
 

 

Link to comment
Share on other sites

Em 25/08/2017 at 10:13, Leivio Fontenele disse:
16 horas atrás, Siagri Sistemas disse:

Boa noite senhores ....
estou tentando enviar um evento utilizando a versão 1_02_00  dos schemas, alterei a "REINF_VERSAO"   porém tenho sempre como resposta  a msg : "Versão do Lote inválida. Deve ser utilizada a versão 1.01.01".

Alguém já passou por isso e poderia me dar um auxílio ?
Grato , 
Fábio Amaral.

 

 

O ambiente de testes está preparado apenas para a versão v1.01.01. foi disponibilizado quando a v1.01.02 ainda não estava disponível, veja:
http://sped.rfb.gov.br/pagina/show/2247
O layout da v1.01.02 foi disponibilizado em 12/09. Ainda não é a versão final. A RFB havia prometido divulgar o novo layout ainda em outubro (que não aconteceu), e um novo esquema/layout para o evento R-2070 que foi postergado ainda sem data prevista, conforme
http://sped.rfb.gov.br/pagina/show/2331
As informações que obtive, são extra-oficiais, até porque os funcionários da SRF são completamente despreparados para responder e os integrantes do comitê do e-social  estão se distanciando do Reinf, e não largam mais notas sobre o Reinf.
Sabe-se apenas que o Reinf e o E-Social precisam entrar em funcionamento ao mesmo tempo por causa da forma como serão geradas as guias de recolhimento.

Edited by bylaardt
Link to comment
Share on other sites

6 horas atrás, bylaardt disse:

O ambiente de testes está preparado apenas para a versão v1.01.01. foi disponibilizado quando a v1.01.02 ainda não estava disponível, veja:
http://sped.rfb.gov.br/pagina/show/2247
O layout da v1.01.02 foi disponibilizado em 12/09. Ainda não é a versão final. A RFB havia prometido divulgar o novo layout ainda em outubro (que não aconteceu), e um novo esquema/layout para o evento R-2070 que foi postergado ainda sem data prevista, conforme
http://sped.rfb.gov.br/pagina/show/2331
As informações que obtive, são extra-oficiais, até porque os funcionários da SRF são completamente despreparados para responder e os integrantes do comitê do e-social  estão se distanciando do Reinf, e não largam mais notas sobre o Reinf.
Sabe-se apenas que o Reinf e o E-Social precisam entrar em funcionamento ao mesmo tempo por causa da forma como serão geradas as guias de recolhimento.

Obrigado pelo esclarecimento.
 

Link to comment
Share on other sites

  • Consultores

Boa tarde,

 @Daniel Simoes @Juliomar Marchetti

Preciso disponibilizar para os meus clientes o Reinf com a assinatura utilizando o A3.
Procurei / testei alternativas de bibliotecas e componentes, mas não encontrei nada (open) que eu conseguisse fazer funcionar no Delphi para poder incorporar no ACBr.
Desenvolvi uma biblioteca em C# e gostaria de saber se podemos incorporá-la no ACBr (com os fontes) como alternativa para a assinatura.
Segue minha sugestão com os respectivos fontes:

Fontes separados:
ACBrDFe.rar ...: Fontes da implementação da nova biblioteca no ACBr

ACBrReinf.rar .: Fontes "Beta" do Reinf assinando com a nova biblioteca + Certificado A3

_TELAS.pdf  ....: Detalhes da implementação

 

  • Like 1
Link to comment
Share on other sites

  • Moderadores
2 horas atrás, Renato Rubinho disse:

Boa tarde,

 @Daniel Simoes @Juliomar Marchetti

Preciso disponibilizar para os meus clientes o Reinf com a assinatura utilizando o A3.
Procurei / testei alternativas de bibliotecas e componentes, mas não encontrei nada (open) que eu conseguisse fazer funcionar no Delphi para poder incorporar no ACBr.
Desenvolvi uma biblioteca em C# e gostaria de saber se podemos incorporá-la no ACBr (com os fontes) como alternativa para a assinatura.
Segue minha sugestão com os respectivos fontes:

Fontes separados:
ACBrDFe.rar ...: Fontes da implementação da nova biblioteca no ACBr

ACBrReinf.rar .: Fontes "Beta" do Reinf assinando com a nova biblioteca + Certificado A3

_TELAS.pdf  ....: Detalhes da implementação

 

Sinceramente de minha parte não concordo em depende de outra linguagem no delphi ou lazarus deve atender.

  • Sad 1
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
 

 

Link to comment
Share on other sites

  • Consultores
12 horas atrás, Juliomar Marchetti disse:

Sinceramente de minha parte não concordo em depende de outra linguagem no delphi ou lazarus deve atender.

Ok.

Concordo.

Fiz testes com Capicom, Indy, DCPCRYPT e LockBox, mas não consegui assinar.

Enquanto não houver alternativa, utilizo como método paliativo em fontes paralelos.

Obrigado

  • Like 1
Link to comment
Share on other sites

  • Fundadores

A ideia é interessante... e pode ser uma boa alternativa, para quem não se incomoda com o "peso" do .NET e suas infinitas atualizações...

Mas a classe deveria complementar todos os métodos necessários para a manipulação de XML, como: Assinar (ok), Validar Assinatura, Validar Schema

Já solicitei a ajuda do @Rafael Dias, que é nosso expert em C#, para ver se conseguimos completar....

  • Like 1
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 to comment
Share on other sites

  • Consultores
Em 08/11/2017 at 12:11, Daniel Simoes disse:

A ideia é interessante... e pode ser uma boa alternativa, para quem não se incomoda com o "peso" do .NET e suas infinitas atualizações...

Mas a classe deveria complementar todos os métodos necessários para a manipulação de XML, como: Assinar (ok), Validar Assinatura, Validar Schema

Já solicitei a ajuda do @Rafael Dias, que é nosso expert em C#, para ver se conseguimos completar....

Boa tarde,

 @Daniel Simoes  @Rafael Dias

A validação da assinatura eu já havia feito alguns testes, mas não estava finalizada.

Segue o fonte atualizado com:

1. Validação da assinatura

        string VerificarAssinatura(int GeraLog, string ConteudoXML, string SignatureNode, string CertSerialNumber,
            string CertArquivoPfx, string CertPassword);
2. Ajuste para assinar com certificado A1 instalado na máquina

3. Implementação da opção de assinar com arquivo .pfx. Publicada nova função aceitando mais um parâmetro para passar o arquivo pfx

        string AssinarXml(int GeraLog, string ConteudoXML, string ElementID, string CertSerialNumber, 
            string CertArquivoPfx, string CertPassword);
 

*** Pendente (esse não tenho idéia, pois não mexi em nada a respeito ainda em C#)

4. Validar Schema

        // IMPLEMENTAR
        // VALIDAR SCHEMA
        // Retorna "OK" se OK, retorna o erro se False
        string ValidarSchema(string ConteudoXML, string ArqSchema);
 

ACBrDFe.rar ...: Fontes da implementação da nova biblioteca no ACBr

ACBrReinf.rar .: Fontes "Beta" do Reinf assinando com a nova biblioteca + Certificado A1, A3 e .pfx

 

Link to comment
Share on other sites

  • Consultores

Boa tarde,

Segue a classe com funções Assinar, Validar Assinatura, Validar Schema

 ACBrDFe.rar...: Fontes da implementação da nova biblioteca no ACBr

ACBrReinf.rar .: Fontes "Beta" do Reinf assinando com a nova biblioteca + Certificado A1, A3 e .pfx, verificando assinatura e validando schema

  • Like 1
Link to comment
Share on other sites

Em 10/11/2017 at 16:14, Renato Rubinho disse:

Boa tarde,

Segue a classe com funções Assinar, Validar Assinatura, Validar Schema

 ACBrDFe.rar...: Fontes da implementação da nova biblioteca no ACBr

ACBrReinf.rar .: Fontes "Beta" do Reinf assinando com a nova biblioteca + Certificado A1, A3 e .pfx, verificando assinatura e validando schema

Renato, bom dia!

Estou testando a sua biblioteca no e-social, aparentemente está assinando corretamente, porém na hora de validar o xml está dando a seguinte mensagem: "Falha na validação dos dados do evento: evtInfoEmpregador. Caracteres inválidos no caminho"

Estou utilizando dessa forma:

AACBreSocial.Configuracoes.Geral.SSLLib := libCustom;
AACBreSocial.Configuracoes.Geral.SSLCryptLib := cryCapicom;
AACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinINet;
AACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsPoliCryp;

 

Imagino que seja algum problema na biblioteca, pois eu estava assinando diretamente com o .PFX e estava conseguindo enviar os eventos...

 

Obrigado

Link to comment
Share on other sites

  • Consultores
43 minutos atrás, juuninho disse:

Renato, bom dia!

Estou testando a sua biblioteca no e-social, aparentemente está assinando corretamente, porém na hora de validar o xml está dando a seguinte mensagem: "Falha na validação dos dados do evento: evtInfoEmpregador. Caracteres inválidos no caminho"

Estou utilizando dessa forma:

AACBreSocial.Configuracoes.Geral.SSLLib := libCustom;
AACBreSocial.Configuracoes.Geral.SSLCryptLib := cryCapicom;
AACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinINet;
AACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsPoliCryp;

 

Imagino que seja algum problema na biblioteca, pois eu estava assinando diretamente com o .PFX e estava conseguindo enviar os eventos...

 

Obrigado

Bom dia @juuninho,

Você deve estar mandando o conteúdo do Xml ao invés do caminho do arquivo.

O método ValidarSchema() deve receber o caminho do arquivo XML ( Ex: C:\CAMINHO\TESTE.XML) e não o conteúdo do XML.

Veja o exemplo que coloquei no Demo.

image.thumb.png.3aa528dba7f9bbf5681ac08917be35b7.png

 

Link to comment
Share on other sites

9 minutos atrás, Renato Rubinho disse:

Bom dia @juuninho,

Você deve estar mandando o conteúdo do Xml ao invés do caminho do arquivo.

O método ValidarSchema() deve receber o caminho do arquivo XML ( Ex: C:\CAMINHO\TESTE.XML) e não o conteúdo do XML.

Veja o exemplo que coloquei no Demo.

image.thumb.png.3aa528dba7f9bbf5681ac08917be35b7.png

 

@Renato Rubinho

Deve ser isso mesmo...

A unit ACBreSocialGerador chama a função dessa forma:

EhValido := SSL.Validar(AXML, Configuracoes.Arquivos.PathSchemas+Evento+'.xsd', Erro);

Onde o AXML é o conteúdo do XML...

Valeu Renato, vou adaptar para realizar uns testes aqui!

Obrigado

  • Like 1
Link to comment
Share on other sites

1 hora atrás, juuninho disse:

@Renato Rubinho

Deve ser isso mesmo...

A unit ACBreSocialGerador chama a função dessa forma:

EhValido := SSL.Validar(AXML, Configuracoes.Arquivos.PathSchemas+Evento+'.xsd', Erro);

Onde o AXML é o conteúdo do XML...

Valeu Renato, vou adaptar para realizar uns testes aqui!

Obrigado

@Renato Rubinho

Deu certo o problema anterior, agora me deparei com outro...que ocorrerá especialmente no e-social.

A função da biblioteca deve estar preenchendo sempre o atributo URI da tag Reference na hora de assinar...

Estou conseguindo enviar, porém quando consulto pelo Nº de Protocolo, o webservice me retorna o seguinte:

- Assinatura do evento inválida. A assinatura do evento deverá ser realizada sobre todo documento Xml (Atributo 'URI' dever ser vazio).

- Localização:/eSocial/Signature/SignedInfo/Reference/@URI

Link to comment
Share on other sites

Bom dia, estou testando também seu componente, porém me da a mensagem em anexo, a configuração deixei igual ao colega Juuninho

(AACBreSocial.Configuracoes.Geral.SSLLib := libCustom;
AACBreSocial.Configuracoes.Geral.SSLCryptLib := cryCapicom;
AACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinINet;
AACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsPoliCryp;)

 

poderia me ajudar?

uExemploReinf.png

Se quiser ir rápido, vá sozinho.
Se quiser ir longe, vá em grupo.
Provérbio Africano.

2024 ano XXVII

Link to comment
Share on other sites

bom dia a ta todos, eu utilizei também esta configuração não deu certo

(AACBreSocial.Configuracoes.Geral.SSLLib := libCustom;
AACBreSocial.Configuracoes.Geral.SSLCryptLib := cryCapicom;
AACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinINet;
AACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsPoliCryp;)

 

erro.PNG

Agora meu passou usando 
(AACBreSocial.Configuracoes.Geral.SSLLib := libCustom;
AACBreSocial.Configuracoes.Geral.SSLCryptLib := cryCapicom;
AACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinINet;
AACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsPoliCryp;)

 

porem deu outro erro. alguém sabe o que pode ser?

 

 

erro.PNG

Att,

Renato

 

http://www.edsonbill.com

Link to comment
Share on other sites

  • Fundadores
Em 10/11/2017 at 16:14, Renato Rubinho disse:

Segue a classe com funções Assinar, Validar Assinatura, Validar Schema

Solicitei ajuda do @Rafael Dias, na analise da biblioteca...

Atualmente eu ele estamos trabalhando em uma implementação que dependerá apenas da libXML2, baseada nas informações desse post:

Segundo o Rafael, sua biblioteca em C# tem alguns problemas como: Depende desnecessariamente de C# 4.6.1 (não rodará em XP); Somente assina em SHA256...

Devemos criar uma nova classe, para carga de DLLs de terceiros, baseada nas suas sugestões, mas por enquanto estamos trabalhando na implementação com o libXML2

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 to comment
Share on other sites

  • Este tópico foi criado há 2453 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.