Ir para conteúdo
  • Cadastre-se

dev botao

Métodos "PafMF_" /Problema Assinatura Digital - Sugestão


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

Recommended Posts

Boa noite Amigos,

retornei ao PAF agora em 2011 (tinha parado em 2009) e surgiu algumas dúvidas.

Quando tento utilizar os métodos PafMF_, eles geram os arquivos porém não estou conseguindo assinar os arquivos.

Qual a diferença para os novos métodos e os antigos ?

Exemplo:

Qual a diferença entre LeituraMemoriaFiscal e PafMF_LMFS_Espelho.

Em minha aplicação ao mudar para PafMF_LMFS_Espelho não estou mais conseguindo assinar os arquivos.

Tenho uma classe que eu mesmo fiz na época que assina os arquivos utilizando as funções da sign_bema.dll.

Att.

Júnior Carvalho

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Este métodos já assinam os arquivos, dê uma olhada no DemoECF, basta implementar o evento com a chave que os métodos já vão gerar o arquivo assinado.

Você também pode usar a assinatura personalizada aproveitando a sua, para isso também existem um evento.

Veja em:

onPafCalcEAD

onPafGetKeyRSA

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Obrigado.

Amigo realmente estou perdido.

Ao executar o ECFTeste e gerar os arquivos vi que os arquivos nao estao vindo assinados. Quando gero pela minha aplicação estao vindo assinados.

Tentei utilizar o evento onPafGetKeyRSA da seguinte forma:

Chave := 'C64D0625C3DF2D74B5675A1736DD67EA3C76E35FA47526236215EE9608CBE09B8A9AA3FF078C56E3235CF1CC7346319DEEBED6926B67A5BAA643DD982F3C06632C0A368B5983E2A9CBBCDC4E15341EB208B61168643A676725ECE6B83D545796D80CA2BCE14812C713F80B3350809B6FF966D931A4A557262C1A8A2FBFBF0F0';

Chave := Chave+'7';

e depois de gerar o arquivo chamei

ACBrECF1.AssinaArquivoComEAD(PathArquivo);

mas deu erro:

Amigo realmente estou perdido e ja pesquisei no forum e nao achei nada a respeito.

Obrigado

Júnior Carvalho

http://blog.conbits.com.br

Link para o comentário
Compartilhar em outros sites

Pelo ECFTeste está gerando o arquivo porem da exception Erro ao Ler chave.

No evento onPafGetKeyRSA coloquei:

chave := 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqsVlVO+DytktAfsBisIM6li0i';

Chave := Chave+'5LOuNWol9LU1lSMZZ4xYA8b2atNkFyo1+O+rrpC8ehslMvrae50JqNfjqePYipDt';

Chave := Chave+'O9AWpd4ogDELoWNEdNPjceNQGgMuky5lJB9SWYa4exm/3J3uDQa3t4NUlKSV5Zny';

Chave := Chave+'7R5gSUDv0zJ9olpT9QIDAQAB';

Estou fazendo da forma certa ?

Link para o comentário
Compartilhar em outros sites

Amigos eu realmente não consegui utilizar os métodos que assinam os arquivos.

Já tenho minhas rotinas para assinatura dos arquivos prontas pois na época que fiz o ACBR ainda não oferecia o recurso.

Gostaria de dar uma sugestão a equipe de commit do ACBR:

Nos métodos onde tem assinatura do arquivo , incluir mais um parametro justamente para informar se assina ou nao o arquivo, este parametro seria com valor default=true (assina) para nao comprometer quem já usa:

Segue sujestão:


    procedure PafMF_LMFC_Espelho(const CRZInicial, CRZFinal: Integer; const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_LMFC_Espelho(const DataInicial, DataFinal: TDateTime; const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_LMFC_Cotepe1704(const CRZInicial, CRZFinal: Integer; const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_LMFC_Cotepe1704(const DataInicial, DataFinal: TDateTime; const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_LMFS_Espelho(const CRZInicial, CRZFinal: Integer; const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_LMFS_Espelho(const DataInicial, DataFinal: TDateTime;const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_MFD_Espelho(const COOInicial, COOFinal: Integer; const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_MFD_Espelho(const DataInicial, DataFinal: TDateTime;const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_MFD_Cotepe1704(const COOInicial, COOFinal: Integer; const PathArquivo: String;_assina:Boolean=True); overload;

    procedure PafMF_MFD_Cotepe1704(const DataInicial, DataFinal: TDateTime; const PathArquivo: String;_assina:Boolean=True); overload;

e na implementação:

    if _assina then

      Self.AssinaArquivoComEAD(PathArquivo);

Obrigado pela ajuda.

Att.

Júnior Carvalho

http://blog.conbits.com.br

Link para o comentário
Compartilhar em outros sites

  • 9 meses depois ...
  • Membros Pro

Boa tarde pessoal,

Estou utilizando o ACBR Monitor e fiquei com uma dúvida.

Quando gero algum arquivo no menu fiscal, esse arquivo já é gerado com a chave no final do arquivo.

Aí que vem a dúvida, existe algum parâmetro para não assinar automaticamente? Lembrando que não trabalho com os fontes, utilizo somente o monitor.

Abraços

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Experimente não informar a chave na aba do ACBrMonitor...

Mas qual seria a vantagem de não assinar os arquivos ?

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

  • Membros Pro

Boa noite Daniel,

Desculpe mas não encontrei opção de informar chave na aba do ACBRMonitor.

Quando executo esse comando por exemplo: "ECF.PafMF_LMFS_Espelho(01/01/2012, 01/10/1012, 'C:\teste.txt')"

O arquivo informado no retorno é gerado já com uma assinatura, mas essa chave não passa na validação eECFc, provavelmente porque estou deixando de informar alguma coisa para configurar essa geração.

Então eu sempre gerei essa chave através de outra ferramenta, mas até gostaria de gerar pelo ACBR.

Alguém sabe me informar a configuração correta com essa função e o ACBRMonitor para gerar essa chave corretamente?

Obrigado

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Você está com uma versão antiga do ACBrMonitor, segue anexo a versão mais atual, lembrando que para os usuários do ACBrSAC, a compilação é feita sempre que uma alteração é feita, e as respostas a dúvidas são respondidas em até 24h.

ACBrMonitor.zip

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Entendi Regys, muito obrigado.

Agora consegui gerar a chave publica e privada e validou certinho, mas ainda tem um detalhe que não entendi, existem arquivos no menu fiscal que são gerados por mim mesmo mas precisam se assinados também, então nesse caso como ficaria?

Na verdade eu tenho a rotina que assina esses arquivos informo a chave privada e ele assina, mas essa chave do ACBR está criptografada e não consigo assinar. Você tem alguma ideia de como fazer isso?

Obrigado pela ajuda

Link para o comentário
Compartilhar em outros sites

  • Moderadores

pelo proprio ACBrMonitor utilizando o comando "assinaarquivo", para ver um help dos comandos do ACBrMonitor, veja: http://acbr.sourceforge.net/ACBrMonitor.htm, ele não está atualizado mas vai ajudar na maioria das dúvidas, qualquer coisa volte a postar.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

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