Ao implementar esse requisito cuidado para não utilizarem qualquer gerador de MD5 existente na web. Aconselho a utilizar o FSUM (http://www.slavasoft.com/
Abaixo mostro na prática como implementar esse requisito. Para isso irei mim basear na especificação de requisitos do PAF-ECF (ER-PAF-ECF) versão 01.07.
ITEM 1: O PAF-ECF deve a cada inicialização:
a) gerar, por meio do algoritmo Message Digest-5 (MD-5), código de autenticação para
cada arquivo executável que realize os requisitos estabelecidos nesta especificação;
Vamos levar em consideração que o seu PAF-ECF tem os seguintes executáveis e a seguinte estrutura:
C:\Sistema\Caixa.exe
C:\Sistema\Retaguarda.exe
Com o arquivo fsum.exe (que nesse caso vamos colocá-lo na pasta C:\Sistema), execute o seguinte comando para gerar o MD5 de cada executável:
C:\Sistema\fsum.exe -md5 -r -dC:\Sistema Caixa.exe >c:\md5_exe1.txt
C:\Sistema\fsum.exe -md5 -r -dC:\Sistema Retaguarda.exe >c:\md5_exe2.txt
b) gerar um arquivo texto, conforme o leiaute estabelecido no Anexo X do Ato
COTEPE/ICMS 06/08, contendo a lista de arquivos autenticados, e seus respectivos
códigos MD-5;
Exemplo desse arquivo texto:
C:\Sistema\Caixa.exe
C:\Sistema\Retaguarda.exe
Vamos chamar esse arquivo de Lista.txt
c) gerar, por meio do algoritmo Message Digest-5 (MD-5), código de autenticação do
arquivo TXT a que se refere a alínea “b” e gravar o resultado no arquivo auxiliar
criptografado e inacessível ao estabelecimento usuário de que trata o item 4 do Requisito XXII, sobrepondo à gravação anteriormente realizada, devendo este código ser impresso no Cupom Fiscal, no campo:
Aqui vamos gerar o MD5 do arquivo Lista.txt:
C:\Sistema\fsum.exe -md5 -r -dC:\Sistema Lista.txt >c:\Assinatura.txt
c1) "informações complementares", no caso de ECF que disponibilize este campo, devendo utilizar este campo para esta informação e iniciando a impressão na primeira coluna, disponibilizada pelo software básico do ECF, da primeira linha, precedido pela mensagem “MD-5:”
c2) "mensagens promocionais", no caso de ECF que não disponibilize o campo
"informações complementares", devendo utilizar a primeira linha para esta informação e iniciando a impressão na primeira coluna disponibilizada pelo software básico do ECF, precedido pela mensagem “MD-5:”
Agora é só ler o arquivo Assinatura.txt a cada cupom fiscal e colocar a seguinte informação em "mensagens promocionais" ou "informações complementares", dependendo da impressora fiscal.
Exemplo:
MD5: 1055d3e698d289f2af8663725127bd4b
Ola, boa noite.
ResponderExcluirSegundo o ato cotepe, não pode ter o caminho do executavel e sim, so o nome do executavel em si, ou seja:
C:\Sistema\Caixa.exe B7FAB699933E6FD3D3B3C449FDBBB66B
C:\Sistema\Retaguarda.exe 6BFDAE60F5C91449A6297B36EBAF71DE
assim estatia errado, deveria ser so o nome do executavel, correto?
Outra, eu tenho que gerar o md5 dos executaveis a cada inicialização ou a cada emissão de cupom ?
Pessoal,
ResponderExcluirAnteriormente a criação desse arquivo texto não seguia nenhum padrão, por isso poderia ser criado de qualquer forma contendo os executáveis e seus respectivos MD5, como mostrei na postagem. A partir da versão 01.07 do Ato Cotepe 06/08 foi criado um leiaute (Anexo X) de como esse arquivo tem que ser criado. Esse arquivo por sua vez tem que ser montado com seus respectivos dados a cada inicialização do sistema e gerado o seu MD5 para ser impresso no cupom fiscal.
Tenho uma dúvida, o MD5 é para ser criado encima dos bytes do arquivo, ou do nome do mesmo?
ResponderExcluirÉ para ser gerado o MD5 do conteúdo do arquivo e não do nome do arquivo.
ResponderExcluirOlá Guilherme, bom dia.
ResponderExcluirPrimeiramente quero agradecer pela postagem que é de grande ajuda a quem está passando pelo processo de homologação.
Gostaria de tirar algumas dúvidas.
O MD5 impresso no rodapé do cupom é o MD5 do arquivo .TXT que contém a relação dos binários e seus repectivos MD5, certo?
Porém cada vez que o PAF-ECF for inicializado, o mesmo deve recriar o arquivo arquivo texto, porém, pelo fato de recriar o arquivo .TXT, o mesmo fica com o seu md5 modificado.
Nós implementamos o nosso PAF-ECF desta forma e estamos tendo difilculdade, porque no laudo vai o md5 do arquivo .TXT gerado na última vez que foi execultado o aplicativo, porém, quando o mesmo é execultado navamento o arquivo .TXT é recriado com o mesmo conteúdo, porém com o md5 alterado.
1. Estamos realizando o procedimento correto?
2. O arquivo deve .TXT deve ser recriado?
3. Ao ser recriado e com isso o seu MD5 modificado isso não pode gerar problemas na confaz?
Agradeço a atenção dispensada,
Obrigado pela força.
Sds,
David Bandeira
Bom dia Guilherme
ResponderExcluirEstou com uma dúvida na geração do md5.
O arquivo TXT em que é listado os md5 dos executaveis é necessário assiná-lo com a assinatura EAD da impressora.
O problema é que pela Bematech gera uma EAD diferente da Daruma e consequentemente muda o MD5 do TXT que vai para o cupom.
Voce teve esse problema?
Julio, Boa Tarde!
ExcluirNão tive esse problema. Eu utilizo só a função da biblioteca da Bematech para todos os clientes independente se ele utiliza ou não a Bematech. Agora verifique se as chaves pública e privada que você está utilizando são as mesmas independente de impressora.
Abraço,
Guilherme Braga
Este seu blog está supimpex, ajudou muito...
ResponderExcluir