Página 1 de 17
Cupom Fiscal
Enviado: 03 Jul 2007 10:19
por pringles
Pessoal, estou com um problema urgente! Tenho um sistema para a emissão de cupom fiscal e agora estão pedindo uma chave criptografada, no padrão MD5 (Message Digest 5). Queria saber se alguém tem alguma função pronta para fazer isso. É que agora a autenticação vai ser eletrônica, com uma chave criptografada para a autenticação. Alguém pode me ajudar?
Enviado: 03 Jul 2007 10:22
por Maligno
Fiz uma função para cálculo do MD5. Pegue o
ZIP no meu site. Leia o README e teste o DEMO.
Enviado: 03 Jul 2007 10:47
por pringles
Maligno, obrigado pelos arquivos. Só uma coisa não entendi, pelo arquivo "DEMO.EXE", você gera uma chave no padrão hexadecimal como pedido. E depois eu tenho que criptografar no padrão 1024bits essa chave, deixando-a com 256 dígitos? É isso?
Enviado: 03 Jul 2007 11:08
por Maligno
Não precisa fazer nada. O hash MD5 que pedem é exatamente esse que o programa apresenta, de 32 dígitos. Se tiver que mudar alguma coisa, talvez pra converter as letras em minúsculas.
O MD5 é um hash de 128 bits e não tem nada a ver com conversão para 256 ou 1024 bits.
Enviado: 03 Jul 2007 11:54
por pringles
Então Maligno, pelo que eu entendi, depois de obter o resultado de 32 dígitos, deve-se criar uma chave privada de 1024bits, equivalente a um número hexadecimal de 256 dígitos. Abaixo explico:
Pelo arquivo de instruções que eu baixei (portaria_cat_52.odt), está escrito que eu tenho que fazer uma rotina igual a que você me passou, pra gerar os 32 dígitos.
Depois, criar uma chave privada de 1024 bits, equivalente a um número hexadecimal de 256 dígitos.
Em seguida, criptografar o código hexadecimal gerado (de 32 dígitos) pelo algoritmo RSA de chave pública. Como resultado dessa criptografia, deve-se obter um número hexadecimal com até 256 dígitos, que é a assinatura digital pedida.
Então imagino que seja isso, gerar os 32 dígitos e depois criptografá-los em 256 dígitos. O que você acha?
Enviado: 03 Jul 2007 11:58
por Maligno
Ah, sim. Comecei a entender. Calcular o MD5 é só uma parte do trabalho. Bom, essa etapa é garantida. Testei a função diversas vezes. Funciona.
Agora, quanto ao resto, não sei dizer. Ainda não entendi exatamente como é o processo. Tem o link dessa portaria pra eu dar uma olhada?
Enviado: 03 Jul 2007 14:45
por pringles
Maligno escreveu:Tem o link dessa portaria pra eu dar uma olhada?
Abaixo está o link:
http://info.fazenda.sp.gov.br/NXT/gatew ... ia:vtribut
Ali é só você abrir as portarias CAT e buscar pela CAT 52, do dia 06/06/07.
Obrigado desde já pela ajuda.
Enviado: 03 Jul 2007 15:11
por Maligno
Vou dar uma olhada. Depois volto ao assunto. Mas acho que só de noite.

Enviado: 03 Jul 2007 18:20
por Maligno
Ah, sim. Agora entendi. Em parte é simples: você deve calcular o MD5 de todos os registros do arquivo, com exceção do EAD, que é o último. Essa é a parte fácil.
Agora a dificil: de posse desse número você terá de gerar uma assinatura digital a partir deste MD5 por meio do algoritmo RSA, que é MUITO complicado de fazer.
Se fosse pra usar um certificado digital para gerar essa assinatura, da forma como é feito com eNF, apesar do preço meio salgado, até seria fácil. Você compraria o certificado de uma AC (Agência Certificadora), como a Certisign, por exemplo. Seria mais fácil.
Mas pelo que entendi, eles querem que você crie por sua conta uma chave privada de 256 dígitos para utilizá-la na geração da assinatura do MD5. Um detalhe pra você entender melhor: poderia ser gerada a assinatura do conteúdo do arquivo todo, mas como seria mais demorado, sempre fazem isso pelo hash que, na verdade,
representa o conteúdo do arquivo. É só pra simplificar. Esse hash poderia ser MD4, SHA1, etc. Mas optaram pelo MD5. Até aí, normal. E é fácil.
O difícil é que você terá de criar essa tal chave privada para gerar a assinatura do MD5, executando o algoritmo RSA. Se for isso, acho meio radical da parte deles, já que esse algoritmo não é tão simples de implementar. Ainda mais em Clipper.
Uma sugestão: pergunte a algum colega daí que já tenha feito isso ou então ligue no plantão fiscal da Receita e veja se é isso mesmo. Posso ter entendido errado.
Uma curiosidade: o fonte do algoritmo. Veja
aqui.
Outra curiosidade: um utilitário para calcular uma assinatura pelo algoritmo RSA (não testei). Clique
aqui.
Enviado: 03 Jul 2007 22:41
por pringles
Maligno escreveu:Se for isso, acho meio radical da parte deles, já que esse algoritmo não é tão simples de implementar. Ainda mais em Clipper.
Relamente acho que é isso mesmo, mas vou confirmar e depois te informo. Por isso estou preocupado, pela dificuldade do problema. Eu penso que talvez fosse mais fácil gerar um arquivo assim pela própria impressora fiscal, já que ela tem memória própria. Vou verificar e depois postar o que estão pedindo, mas acredito que seja isso mesmo.
Obrigado.
Enviado: 03 Jul 2007 22:56
por Maligno
Realmente, pela impressora poderia ser uma tarefa bem mais fácil, mas a certificação tem que partir do conjunto de dados gerados pelo programa, o que não poderia ser feito por ela.
Mas ao descobrir o que de fato eles quere, poste outra mensagem. Pra ser sincero, fiquei curioso com esse esquema de certificação. Apesar de achar que nunca vou precisar trabalhar com esse tipo de impressora.
Assinatura Digital
Enviado: 05 Jul 2007 09:14
por DinhoNetGomes
Caros colegas,
Estou tendo que desenvolver o mesmo arquivo digital e caí na mesma questão do registro final EAD com assinatura digital.
Meu problema é que tenho aplicativos em DOS rodando em ecfs muito antigos com drivers antigos, sem possibilidade de chamada de dlls.
Recorri ao suporte da Mecaf/Diebold e recebi uma documentação na descreve como gerar cada registro e campo usando a Dll da mecaf, Dll da Afrac e usando o driver em DOS.
No registro do EAD consta apenas a geração do Hash.
Isso mesmo, pelo que entendi, quem for desenvolver o arquivo direto informa apenas o MD5, já que a assinatura digital é difícil mesmo e a portaria não explica muito.
Ainda precisa ser confirmado! Vou arriscar e ver o que vira.
Em tempo: o email da Mecaf:
Suporte.Mecaf@diebold.com
E portaria 052/07 já foi complementada pela portaria 060/07
Agradeço ao Maligno que disponibilizou a função MD5, que já ajudou muito mesmo!.
E vamos nos falando, pq com certeza deve ter muito mais gente precisando saber como gerar o EAD corretamente.
Até mais!
Re: Assinatura Digital
Enviado: 05 Jul 2007 09:22
por Maligno
DinhoNetGomes escreveu:Isso mesmo, pelo que entendi, quem for desenvolver o arquivo direto informa apenas o MD5, já que a assinatura digital é difícil mesmo e a portaria não explica muito.
Será? Se fosse isso mesmo, acho que eles não pediriam daquela forma. O MD5 deveria servir apenas como "ferramenta" para gerar a assinatura. Além do que, se fosse necessário apenas o MD5, o nível de segurança seria zero. Parece ser bem isso o que eles querem evitar.
Mas, tente passar assim mesmo. Dê uma de "joão-sem-braço". Se passar, ótimo. Caso contrário, dá-se um jeito.

Será?
Enviado: 05 Jul 2007 09:31
por DinhoNetGomes
"Será?"
Caro amigo, essa pergunta tá na minha cabeça, mas como não tem ninguém pra explicar isso, então vou partir para isso mesmo.
mandei email para secretaria da fazendo pedindo a documentação que forneceram aos fabricantes de ecf, pois a Bematech gera o arquivo digital na redução Z com registro EDA de 256 bytes.
Se eles conseguiram há alguma documentação pra isso.
Até mais
Enviado: 05 Jul 2007 11:07
por pringles
Pessoal, pelo que eu vi na portaria, as impressoras Bematech (que meus clientes usam) laser já têm um aplicativo da própria Bematech pra fazer gerar o que eles precisam. A questão é que a maioria de meus cliente utilizam a MP-25FI, que é o modelo anterior à laser. Sendo assim, tenho realmente que fazer a criptografia.
Maligno, você tem algum "prg" pronto pra isso, ou conhece alguém que tenha? Nem que eu tenha que pagar pelo fonte, pelo menos tenho menor "dor de cabeça".