Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal ja procurei e nao achei nem um topico que me exclarecese bem minha duvida!, seguinte:

1ºtenho os componentes acbrecf, acbrpaf, acbraac e acbread, com eles consigo gerar o codigo md5 do aplicativo(tb consigo gerar o codigo MD5 dos outros aplicativos e dlls, individualmente), minha duvida eh o seguinte, eu que crio o arquivo de lista autenticados, ou os componentes acbr criam esse arquivo pra mim se ele criar, como seria o procedimento?

2º vi em algum topico que adicionando o nome dos aplicativos que uso ao componente ACBrAAC, ele geraria esses codigos automaticamente junto com o arquivo,(mais nao consegui fazer isso) adicionei os nomes dos aplicativos na property Params do componente acbraac, esta correto?

3º o codigo MD5 que guardo no arquivo de verificacao, eh o codigo MD5 do arquivo TXT de arquivos autenticados neh isso?

resumindo, como seria a forma correta de gerar esse arquivo de lista de autenticados? (se sou eu que crio o arquivo ou o componente o cria para mim?)

Gabriel Rodrigues Da Costa Neto

Postado

regys, me responda se estou correto, Por favor, esse arquivo de lista de autenticados é o arquivo auxiliar (onde vai as informacoes da Soft. house e dados do sistema criptografado)? eu estava pensando que seria outro arquivo contendo somente a lista de aplicativos(nao criptografado).

é isso?

Gabriel Rodrigues Da Costa Neto

  • Moderadores
Postado

Não, são dois arquivos diferentes, o arquivo da lista de autenticados e o arquivo onde fica a lista de todos os .exe e .dll que você utiliza é que executam algum requisito do paf-ecf, Requisito IX do roteiro. Este arquivo é gerado pelo componente ACBrPAF.

O arquivo criptografado e outro, nele ficam os dados da software house, ecf e md5 do arquivo gerado acima, este está no Requisito XXII item 4 do roteiro. Este ultimo é controlado pelo componente ACBrAAC.

Quando você liga o ACBrAAC ao ACBrPAF e no ACBrAAC você preenche a lista de outros arquivos autenticados e possível pela rotina que mostrei no tópico viewtopic.php?f=12&t=5655 efetuar a geração do arquivo, o componente ACBrPAF vai ler a lista de arquivos do ACBrAAC, calcular os MD5 e gravar o arquivo, não é automático, tem que seguir a rotina descrita no tópico que citei.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

regys vlw pela dica entendi o funcionamento direito, e deu certo aqui a geracao dos arquivos, so estou com outro probleminha, quando geroa o arquivo auxiliar ta ficando assim:

N3ADMREST.EXE 2D867564183368663FC8B2EEC339203F

N3ADMREST.EXE 2D867564183368663FC8B2EEC339203F

N3FBCLIENT.DLL EBE6A2F5AF1E59123591C0269EB1D3D9

N3FBCLIENT.DLL EBE6A2F5AF1E59123591C0269EB1D3D9

N3LISTA_ARQUIVOS.TXT 00000000000000000000000000000000

N3LISTA_ARQUIVOS.TXT 00000000000000000000000000000000

N3MP2032.DLL E5007AD782A45C7E93C265257706167A

N3MP2032.DLL E5007AD782A45C7E93C265257706167A

N3UNZDLL.DLL 7FFDAFE8FA23D676643E9AAF4189F9FB

N3UNZDLL.DLL 7FFDAFE8FA23D676643E9AAF4189F9FB

N3ZIPDLL.DLL 0C11FF337EA3614783494C5376A5ED41

N3ZIPDLL.DLL 0C11FF337EA3614783494C5376A5ED41

ele imprime 2 linhas de cada aplicativo que adicionei;

e esta dando um erro : erro ao ler a Chave:

trecho do codigo: que coloquei no evento aacOnGetChave:

Chave := '-----BEGIN RSA PRIVATE KEY-----' + sLineBreak +

'MIICXQIBAAKBgQDRK02x0uOZRodmxr9t83vxbHBy1o/WeE5y5Wr9oZSnurdYLK7l'+ sLineBreak +

'Fz0fHAaBLM2yFDUdDs0Ej8n5dfu8JBIIcBwz/V6zCAiLR+jwosCYde1w8Aj48PKf'+ sLineBreak +

'SwVx/W9//MZgEcNy6juRfrTefRisSdA1reSsQE6dccAksyiSczyku2ZwwQIDAQAB'+ sLineBreak +

'AoGAIZHHmGB2MqVFGdOP6X+IRsjWizewQgVw4bO8JhSGnRy0TCxvrUi7gICo8pZU'+ sLineBreak +

'NN5VX+J+ONsy2Rx8WEeZtUz42XzeosVzK85nJjUJUWat5iOXL3ZbU9EbHclixcnp'+ sLineBreak +

'maGprjWt2vaYkucY+lmmuddD9//omDEOVB7EE7ILOw5JDoECQQDwHyGAew4vX4Om'+ sLineBreak +

'Rf1Jg+VNqCEhVROxCyGohX1q+4EAmlCjP/Hn08nw4phAs6S+nvikzBx1JCXncAQm'+ sLineBreak +

'Qf3kUzGZAkEA3wAypzHxTTt6Bw3AHtkYt4Vsb/3gMa+SFYVpaRA/zx7qHjBTl2CU'+ sLineBreak +

'0sxDxhqVK3395M4ZW9xFWlgQXdkV4zGBaQJBAIvdtkf+Za7Wdfq+PeE6gLCRRGsE'+ sLineBreak +

'AWpYz4w35WwRf3z4ZgwRTTj6NmCnvIPDoCygsLhdZB4fpix/JQub2OXMR9ECQGeq'+ sLineBreak +

'beGvo98lYQraZ49vmL/ntIszV/+BAMYkaOZAeYlNc8Ro7tMWQNjlwDPds66uOVMe'+ sLineBreak +

'REeh1FO1UJZwDm65WtECQQDpt/0TH+ThRPguqSn2I/r8H+dEopFbwrTSzt6x672g'+ sLineBreak +

'2KJosUaocVX9KoKn2XyOwcMzLovzAF/tQ5glEeh2IROC'+ sLineBreak +

'-----END RSA PRIVATE KEY-----'+ sLineBreak;

// setar o diretório onde vai ser salvo o arquivo

ACBrPAF1.Path := ExtractFilePath(ParamStr(0));

ACBrPAF1.PAF_N.RegistroN1.RAZAOSOCIAL := ACBrAAC1.IdentPAF.Empresa.RazaoSocial;

ACBrPAF1.PAF_N.RegistroN1.UF := ACBrAAC1.IdentPAF.Empresa.Uf;

ACBrPAF1.PAF_N.RegistroN1.CNPJ := ACBrAAC1.IdentPAF.Empresa.CNPJ;

ACBrPAF1.PAF_N.RegistroN1.IE := ACBrAAC1.IdentPAF.Empresa.IE;

ACBrPAF1.PAF_N.RegistroN1.IM := ACBrAAC1.IdentPAF.Empresa.IM;

ACBrPAF1.PAF_N.RegistroN2.NOME := ACBrAAC1.IdentPAF.Paf.Nome;

ACBrPAF1.PAF_N.RegistroN2.VERSAO := ACBrAAC1.IdentPAF.Paf.Versao;

ACBrPAF1.PAF_N.RegistroN2.LAUDO := ACBrAAC1.IdentPAF.NumeroLaudo;

ACBrAAC1.IdentPAF.OutrosArquivos.Add('Lista_Arquivos.txt');

ACBrAAC1.IdentPAF.OutrosArquivos.Add('AdmRest.exe');

ACBrAAC1.IdentPAF.OutrosArquivos.Add('fbclient.dll');

ACBrAAC1.IdentPAF.OutrosArquivos.Add('MP2032.dll');

ACBrAAC1.IdentPAF.OutrosArquivos.Add('UnzDLL.dll');

ACBrAAC1.IdentPAF.OutrosArquivos.Add('ZipDLL.dll');

// Salvar o arquivo de autenticados

ACBrPAF1.SaveFileTXT_N('Lista_Arquivos.txt');

// Carregar o MD5 do arquivo de autenticados

ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome := 'Lista_Arquivos.txt';

ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5 := ACBrEAD1.MD5FromFile(ExtractFilePath(ParamStr(0)) + 'Lista_Arquivos.txt');

ACBrAAC1.SalvarArquivo;

Gabriel Rodrigues Da Costa Neto

Postado

blz regys vlw pela ajuda, ele ta gravando blz agora,

N109292369000190 Fran Informatica Ltda

N2 AutomaRest 8.8

N3ADMREST.EXE F767938461962E16FFFDFAD9ACA819CF

N3FBCLIENT.DLL EBE6A2F5AF1E59123591C0269EB1D3D9

N3MP2032.DLL E5007AD782A45C7E93C265257706167A

N3UNZDLL.DLL 7FFDAFE8FA23D676643E9AAF4189F9FB

N3ZIPDLL.DLL 0C11FF337EA3614783494C5376A5ED41

N909292369000190 000005

EADC02DFE61DD7F82E4C914EC998598B36D0EF91B7395F240483781D65C095E9BD4726A6F6A3BC3D13E53DA24084533CDFA4C71484F9ABABF15326354B54E937FC656B6317D5935B7152CC91E56C135BF16EEF826E1E3C45EC37D6225E1BFB25354CB0444086820475BD9ABB525E69DFCAB07E189E3346746528D875DF2041E16AC

agora outro problema(rsrsrsrs desculpa o incomodo ai)...

no comando

ACBrPAF1.SaveFileTXT_N('Lista_Arquivos.txt');

ele fica entrando em loop! o que podera ser...?

Vê o arquivo ai por favor e se possivel me diz o que esta errado! nao estou conseguindo identificar

frm_TEF.pas

Gabriel Rodrigues Da Costa Neto

Postado

deixa pra la problema resolvido (até que em fim!) estava colocando a funcao que o regys passou num local errado! vlw pelas dicas.

Gabriel Rodrigues Da Costa Neto

  • 4 semanas depois ...
Postado

Bom Dia a todos.

Eu estou utilizando o Acbrpaf Setando a Propriedade AAC para o ACBrAAC e a propriedade EAD para o ACBREAD.

Nos eventos Abaixo estou passando minhas chaves

procedure TDMECF.ACBrEADGetChavePrivada(var Chave: AnsiString);

begin

Chave := ChavePrivada;

end;

procedure TDMECF.ACBrEADGetChavePublica(var Chave: AnsiString);

begin

Chave := ChavePublica;

end;

As chaves estão no formato abaixo

ChavePublica = 'E'+'XXX..';

ChavePrivada = F'+'XXX..';

mas no ACBRPAF EM TACBrPAF.SaveFileTXT_N que salva o arquivo com os exes e dlls passados, esta dando erro em

if FPAF_N.RegistroN3.Count > 0 then

Write(txtFile, FPAF_N.WriteRegistroN3);

Pois neste momento ele gera o MD5 de cada arquivo...no meu caso esta dando erro de acesso de memória na função

TACBrEAD.CalcularHashArquivo

O que poderia ser, pois dei uma olhada e nao achei o erro.

Obrigado pela atenção

Postado

as chaves estão declaradas assim:

ChavePublica = 'E'+'5A011D42F5BAB1B7D4BEDF48D8EA0D2A70EA747DB57C28F75282202EB599DDADF6AD6A0380989EE3A698884E3C14C37786A4A58FEAF831D10D5C298F89045120F32D136F785119F3650F21643A69854874E1B05BA08E5CE26421BCB35D0026B3550232322A1154F5EF5D9ABFB9068D8E9985D592C053DCF0A080CC9D99BA737';

ChavePrivada = 'F'+'55F0B07A983DC8130D44450EF5E50323E9B6952F58BA20A2A347446192B2094D52442B32C835C948D9B5428F6FB9EB155156EA42C5185CA23E9F86D4992DD7FEF926AC27609F5D3FBF73B1D11DAC084C6AAAC0D126DB3127CB8DFECA6372F638E57BAA6626659C8B547867DB6F91A7C261691EA4FCDF78776D3686E55C08249';

A Tela com o erro vou colocar em anexo.

Obrigado pela atenção pessoal.

post-1520-13548988001349.png

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