Ir para conteúdo
  • Cadastre-se

Leivio Fontenele

Membros
  • Total de ítens

    43
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Leivio Fontenele

  1. Em 25/02/2019 at 09:37, Italo Jurisato Junior disse:

    Bom dia Leivio,

    Desde já muito obrigado pela colaboração.

    O que esta faltando no ACBreSocial?

    Olá @Italo Jurisato Junior acredito que nada para o momento, apenas não escrevi corretamente! rsrs . 

    Em meados de 2017 o ACBreSocial ainda estava apenas na ideia..... na época peguei os fontes e vi que estava faltando muitas coisas para ser implementado e depois de um tempo deixei o fonte funcional e compartilhei os fontes para  projeto ACBR.

    Espero também contribuir com mais esse componente ACbrGRFGTS ... será o terceiro.

     

    Abraços.

    • Curtir 4
  2. 15 minutos atrás, Rafael Dias disse:

    Sobre o URI segundo a regra de assinatura o mesmo deve ser preenchido pois é usado para identificar o node a qual se refere aquela assinatura.

    Tem algum motivo para o webservice querem que o uri seja vazio ? o mesmo é rejeitado ?

    @Rafael Dias cara pelo que entendi existe sim....a diferenças é porque o REINF precisa está com o Reference URI Preenchido e para o eSocial não tem essa obrigação ficando o mesmo com Reference URI = ""

    Então penso que essa implementação foi pensando nesses casos. (Estou dando um ideia, não estou afirmando).
     

  3. 12 minutos atrás, LUIZTEC disse:

    A assinatura do A1 e A3 estão funcionando perfeitamente. A minha dúvida é que a assinatura do A3 é muito mais lenta que do A1. Estou assinando 80 eventos, no A1 leva segundos para fazer, já no A3 leva mais de 5 minutos.  Isso é normal, já que a assinatura do A3 é feita pelo pendrive?

     

    Isso mesmo @LUIZTEC... A3 é bem mais lento devido a necessidade de acesso a hardware externo para ter acesso a chave privada. o qual não ocorre com A1 haja vista que o mesmo já tem a chave privada quando exportada ao arquivo.

    A3 oferece maior segurança...mais perde em performance. 

  4. Dando retorno ao topico...Segue retorno que obtive da Tanca.

     

    Boa tarde Leivio,

     

    Temos as duas modalidades.

     

    Empréstimo sem custo, porém a fila de espera está em torno de 30 dias.

     

    Compra dois modelos de equipamento:

     

    MKD-1000 Light – Software igual ao equipamento completo, o hardware não possui bateria, GPS e 3G. É 100% compatível com o equipamento completo porém em uma versão mais acessível em termos de preço.

    R$300,00 + frete ( 5 dias após deposito + prazo dos Correios)

     

    MDK-1000 Completo – Produto completo, hardware e software exatamente igual ao instalado em campo porém com firmware apontando para o ambiente de desenvolvimento para gerar cupons sem validade jurídica, somente testes.

     

    R$ 550,00 +frete (sem estoque previsão 20/01/2018)

     

    Deposito em conta Banco do Brasil.

     

    Aguardo retorno.

  5. Boa Tarde Pessoal,

    Alguém teria o contato de representantes ou empresas que tenham "kits de desenvolvimento" do MF-e para venda? Já enviei e-mail para tanca e elgin e nada de resposta até momento... telefones também chamam e nada de atender.

    Estou procurando um modulo MF-e para Desenvolvimento\Homologação.

    Atenciosamente,

    Leivio

  6. Boa Tarde,

    Pessoal segue abaixo o projeto que iniciei, mais ainda não terminei com relação a certificação A3 e SHA256! 

    Problema ainda não resolvido: Faz a assinatura e envio na primeira vez e no segundo envio há falhas com relação a conflitos não identificado.

    Estou colocando aqui para caso alguém tenha tempo e interesse em resolver! porque no momento estou com outras atividades e tempo está curto,!

    Antes que alguém pergunte: Sim resolvi a questão do A3/SHA256...fiz uma lib que funciona perfeitamente, mais tem partes de código proprietário o qual não posso incluir dentro do projeto de Código Aberto.  

    https://github.com/leivio/CertFly

    Espero que de alguma forma ajude alguém ou dê um novo caminho para uma solução aberta.

    Abraços.!

    Leivio -

  7. Boa tarde,

    De acordo com o comitê gestor do eSocial o novo layout 2.4 com as alterações da nova lei trabalhista vai entrar em produção no inicio de novembro/2017...acredito que até essa data o ambiente de teste roda na versão 2.2.2 .

  8. Em 06/09/2017 at 15:40, mgomes disse:

    Boa tarde a todos.

    Estou testando os fontes do @Leivio Fontenele e está tudo OK (parabéns), apenas não estou conseguindo gerar a chave SHA256 com certificados A3.

    Estou fazendo em Delphi XE 10 Seattle.

    Configuração 1:
    SSLCryptLib := cryWinCrypt;
    SSLHttpLib  := httpIndy;
    SSLXmlSignLib := xsXmlSec;
    Erro: "Certificado não pode ter sua chave privada exportada"

    Configuração 2:
    SSLCryptLib := cryWinCrypt;
    SSLHttpLib  := httpIndy;
    SSLXmlSignLib := xsMsXml;
    Erro: "The DigestMethod algorithm 'http://www.w3.org/2001/04/xmlenc#sha256' is not supported"

    Alguém tem alguma dica para A3 ou conseguiu fazer.

    Grato  
    Márcio Gomes

    Para A3 estou fazendo uma lib para intermediar a assinatura. Aguarde uma ou duas semanas que dar certo

    • Obrigado 1
  9. 22 horas atrás, Luciano O M disse:

    Boa tarde Leivio Fontenele,

    Neste exemplo do ACBrReinf você conseguiu transmitir algum evento ? Estou desenvolvendo para o Delphi 2010 e em paralelo em .NET mas meus testes sempre retonar <descricao>Versão do lote inválida. Deve ser utilizada a versão 1.01.01.</descricao>

    Você passou por isso ?

    Sim, todos os eventos especificados acima foram transmitidos sem problemas.

    Esse seu erro deve ser a especificação na mensagem SOAP.  "<Reinf xmlns="http://www.reinf.esocial.gov.br/schemas/envioLoteEventos/v1_01_01">"

     

    Segue em anexo uma msg de envio valida para comparação.

    E_Reinf_Soap-175429_9.xml

    Em 11/09/2017 at 09:52, Juliomar Marchetti disse:

    Bom dia

    Seu código é compatível com o Delphi 7?

    Não é compatível com Delphi 7. Porque uso Generics "TObjectList<T>" para coleção de objetos. Porem para se torna compatível as modificações não são tão grandes.

  10. @Daniel Simoes tive que fazer isso apenas porque no schema do REINF o "Event ID" é com i minúsculo. Exemplo ->  <evtInfoContri id="ID1021919050000002017082410435300001">.

    Com o valor padrão do cDTD dava erro de Assinatura na unit ACBrDFeXsXmlSec no metodo XmlSecSign da Classe TDFeSSLXmlSignXmlSec. Justamente no código abaixo o valor da variável  SignResult ficava -1!:

     SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode);

    Acredito que esse detalhe do ID será colocado no padrão nas próximas liberações de versões do REINF.  

    Acredito sim, que uma propriedade melhoraria a legibilidade do código.

    Lembrando: essa modificação foi apenas para suportar a assinatura do REINF. O projeto do ACBreSocial segue o padrão do ACBr.

    Valeu.

  11. Bom dia Pessoal,

    Segue em anexo os fontes do projeto do ACBrESocial o qual testes os eventos abaixo:

    Os eventos em negrito foram testados, os que estão riscados ou não estão liberados ou não cheguei avaliar\testar.

     

    image.thumb.png.ff3a7c91bf7abc98c3ae4d0406f9d4e2.png

     

    * O Exemplo não está muito explicativo, mais acredito que dar para ter uma ideia do preenchimento e utilização.

    * O componente precisa ainda de ajustes, principalmente na parte visual(métodos e eventos).

    * Estou disponivel para ajudar no que for preciso e espero que o que foi desenvolvido possa ajudar a todos.

    -> Units do core do ACBr modificadas:

    ACBrDFeUtil.pas

    - Incluido no SignatureElement as tags necessárias para assinatura SHA256.

         function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String;

    ACBrDFeSSL.pas

    - Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1.

    - no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo)

      Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement;

    ACBrDFeXsXmlSec.pas

    - Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) .

      {$IFDEF REINF}
      cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>';
      {$ELSE}
      cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>';
      {$ENDIF}

    Espero que ajude e traga mais força ao projeto.

    obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC.

    obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior.

    obs.: As modificações nas classes bases são as mesmas do REINF haja vista que a modificação para utilizar SHA256 é necessário para os dois projeto.

    No aguardo da avaliação @Juliomar Marchetti  @EMBarbosa

    Abraços.

    ACBreSocial.zip

    • Curtir 2
    • Obrigado 3
  12. Bom dia Pessoal,

    Segue em anexo os fontes do ACBrReinf.

    Eventos Implementados e testados:


    1. R-1000 - Informações do Empregador/Contribuinte
    2. R-1070 - Tabela de Processos Administrativos/Judiciais
    3. R-2010 – Retenção Contribuição Previdenciária - Serviços Tomados
    4. R-2020 – Retenção Contribuição Previdenciária - Serviços Prestados
    7. R-2098 – Reabertura dos Eventos Periódicos
    8. R-2099 – Fechamento dos Eventos Periódicos
    9. R-9000 – Exclusão de Eventos

    Faltando os eventos: (Não fiz por que o negocio não tem demanda para esse tipo de evento. mais caso alguém precise da pra fazer.)

      5. R-2030 – Recursos Recebidos por Associação Desportiva 
      6. R-2040 – Recursos Repassados para Associação Desportiva

     

    -> Units do core do ACBr modificadas:

    ACBrDFeUtil.pas

    - Incluido no SignatureElement as tags necessárias para assinatura SHA256.

         function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String;

    ACBrDFeSSL.pas

    - Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1.

    - no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo)

      Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement;

    ACBrDFeXsXmlSec.pas

    - Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) .

      {$IFDEF REINF}
      cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>';
      {$ELSE}
      cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>';
      {$ENDIF}

    Espero que ajude e traga mais força ao projeto.

    obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC.

    obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior.

    obs.: Antes que perguntem: Vou publicar os fontes do eSocial em outro tópico.

    No aguardo da avaliação @Juliomar Marchetti  @EMBarbosa

    Abraços.

    ACBrReinf.zip

    • Curtir 1
    • Obrigado 4
×
×
  • 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...