Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

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

  • Moderadores
Postado

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
Postado

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

Postado

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 ?

Postado

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

  • 9 meses depois ...
  • Membros Pro
Postado

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

  • Membros Pro
Postado

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

  • Membros Pro
Postado

Encontrei a aba RFD e não consigo Habilitar de jeito nenhum, já identifiquei a impressora e não tem jeito.

Existe algum outro detalhe que estou me perdendo?

  • Membros Pro
Postado

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

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