Página 2 de 3
Assinatura de hash 1024 bits
Enviado: 21 Dez 2007 17:03
por ALEX170970
Para gerar a assinatura de hash, faça o seguite:
Grave o arquivo com todos os registros, menos o EAD.
Inclua os comandos abaixo em seu fonte.
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
run OPENSSL genrsa -out MYKEY.PEM 1024
run OPENSSL rsa -in MYKEY.PEM -pubout -out PUBKEY.PEM
run OPENSSL dgst -md5 -sign MYKEY.PEM -out EAD.TXT -hex ARQENT.TXT
cEadTxt:=space(315)
cEadTxt:="EAD"+substr(memoread("EAD.TXT"),18,256)
cEadTxt:=cEadTxt+chr(13)+chr(10)
gravou:=fwrite(arqh,cEadTxt)
if !gravou=len(cEadTxt)
? "ERRO NA GRAVACAO DO REGISTRO"
inkey(0)
endif
gravou:=space(315)
return
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//obs: os arquivos EAD.TXT e ARQENT.TXT devem ser previamente criados em branco, sem isso não funciona.
Enviado: 22 Dez 2007 16:55
por pringles
Pessoal, estou com o mesmo problema...
Para as impressoras matriciais, preciso gerar a autenticação. Já gerei o arquivo para envio, mas falta a linha com a autenticação.
Vocês chegaram a testar os programas que foram mencionados neste tópico?
Enviado: 26 Dez 2007 21:52
por dopi
Tenho usado o OpenSSL já a algum tempo no ACBrMonitor... Funciona que é uma blz
O único problema no código do Alex é que ele está criando uma chave RSA por dia... e isso é
errado. A chave RSA deve ser gerada uma
unica vez e deve uso exclusivo da Sw.House...
Portanto as linhas:
OPENSSL genrsa -out MYKEY.PEM 1024
OPENSSL rsa -in MYKEY.PEM -pubout -out PUBKEY.PEM
devem ser executadas
apenas uma unica vez... em seu laboratório
Após isso salve a chave RSA gerada, em uma String ou "memo" dentro do seu EXE e salve-a no disco com o nome MYKEY.PEM antes de rodar:
run OPENSSL dgst -md5 -sign MYKEY.PEM -out EAD.TXT -hex ARQENT.TXT
Enviado: 02 Abr 2008 19:14
por Mário Isa
dopi!
arquivo gerado pelo Acbr Monitor com problemas veja:
https://pctoledo.org/forum/viewtopic.php?t=7808
Segundo um outro colega falta na coluna 24 o indicador de Memoria Adicional
E a linha do E16 está com 2 caracteres a mais.
Tem alguma configuração a fazer no Acbr ? Que eu não fiz?
Porque de alguns clientes dá certo e de outros não ?
Tem a ver com a impressora estar com 3 casas decimais ?
Ou tem a ver com o validador da receita que não tá funcionando direito ?
Mário
Enviado: 03 Abr 2008 07:03
por Mário Isa
Dopi diz:
Após isso salve a chave RSA gerada, em uma String ou "memo" dentro do seu EXE e salve-a no disco com o nome MYKEY.PEM antes de rodar:
run OPENSSL dgst -md5 -sign MYKEY.PEM -out EAD.TXT -hex ARQENT.TXT
Tenho, na pasta do AcbrMonitor o arquivo:
rsakey.pub
Esta é a minha chave pública ? Que foi gerada pelo acbr ?
De posse dela, posso executar o comando acima trocando MYKEY.PEM por RSAKEY.PUB ?
Mas a minha dúvida é: onde entra o nome do arquivo o qual vou assinar?
Digamos que eu tenha em disco o arquivo
BE602325.138 (Seria o arquivo Bematech série 602325 de 01/03/2008)
Onde, no comando acima, entra o nome desse arquivo? Seria a variável dgst ?
Mário
Enviado: 03 Abr 2008 09:30
por dopi
Vc não precisa da chave pública, a não ser que o fisco solicite para conferir a assinatura do seu arquivo....
Para assinar digitalmente vc precisa ter uma chave privada previamente criada... e usar o comando:
OPENSSL dgst -md5 -sign MYKEY.PEM -out EAD.TXT -hex ARQENT.TXT
MYKEY.PEM -> Sua chave Privada
ARQENT.TXT -> Arquivo que deve ser assinado digitalmente (RFD apenas sem o EAD)
EAD.TXT -> Arquivo que será geradado pelo OPENSSL com a resposta da assinatura digital
Enviado: 03 Abr 2008 14:14
por Mário Isa
Eu tentei fazer assim:
Peguei a minha chave privada, que está gravada no swh.ini, no campo
RSA=1234567890123456eummontedenumerosquenemcabenalinhaseiqueestaehminhachaveprivada
copiei, a partir do 1 (logo depois do = até o fim) e colei no arquivo mykey.pem
e executei:
C:\ACBRMO~1>OPENSSL dgst -md5 -sign MYKEY.PEM -out EAD.TXT -hex arqent.txt
e deu:
unable to load key file
Estou precisando de sua ajuda para validar esses arquivos.
Obrigado.
Mário
Enviado: 03 Abr 2008 15:24
por dopi
Por motivos de segurança a chave Privada é gravada de forma criptografada no arquivo SWH.INI
Abra o ACBrMonitor, aba RFD, e sub-aba Chave RSA...
Basta Copiar e Colar no Bloco de Notas (apague os pulos de linhas extra se for necessário)
A chave privada tem a seguinte aparência:
Código: Selecionar todos
-----BEGIN RSA PRIVATE KEY-----
FFFCWwIBAAKBgQCsdvpszxxenv89eFIxrxlWbiX2XHEy9f44D5qoh+g2HUHQyam7
JXryMWl/Ex1gpc0TqBRTAUR3gybXxRts2by/HM8a68v8FMJnkO6E5k0sl+mMr26e
gXs1+Q95z2VKsYWvOm6BSzHBBHQKUDilnwNds6Ucib2aOktg6KF9zp8lFwIDAQAB
AoGAcGOIhmfhgPf0NUa3qZEF3gEh1A4h5qfP5xCkJLeMZ9dhEIKajU67dCEnMpxu
RJFHt0uNExp8V7WsFmhomuK50G9AbIUFeYKTVXDcO2WIKxqX90pd1K5yKeIyeY/U
fXteeqtxYwxdjY0XzbmZ0infsFou1fiOgpsAkUydmF2QyQECQQDUpQED4gtLpepa
DsSFp0bqiVUt42uzcVWObgw+4dNM8HK+heaMdsIhzTy3RrqrcY2ptVv2QJrrvtIQ
W7xjo7v3AkEAz6DJn331PrZZFId9zrQ7Qf1NJGGG/ty59KOD8es64Fnt8tVDpqFX
ahARd564RDE+ri6ql9M/LADkOBD6DlpX4QJAcegZjRzu9AziZm92simTAVujdztV
m//f1rX4dU6+w34h2REdGK0c/MJV/c8ze1cOjZUUUPSOiC3llMGvPqicrQJAMrSc
qMO1EeSsapQQSFvBoQMARPKiqC81hqYsQfdlgIJJJpj8lYQPegqEiYcMjzLLkPQ6
mytu4QsysPKMbtbnYQJAIQds/Vx1hcXwNZji1kZ+GtoVfQWHEEyhudz1whfeshxB
ial7TdSLMJas8w0vI+z1CnyRHloUhrMEAzZYBd7KKK==
-----END RSA PRIVATE KEY-----
Enviado: 03 Abr 2008 15:30
por dopi
Mario,
Se vc deseja apenas re-assinar um arquivo já existente... Experimente o
RFDFix
Ele corrige alguns bugs da primeira versão do ACBrRFD...
Para forçar a re-assinatura, informe o CNPJ do cliente
Enviado: 03 Abr 2008 17:31
por Mário Isa
Dopi eu peguei o Rfdfix daí rodei mas o registro do EAD ficou vazio.
na ultima linha constava apenas
EAD
e mais nada.
Ele pediu o CNPJ e o I.EST do cliente eu dei.
Ele pediu a RSAKEY
Eu fiz como vc falou. peguei a chave privada lá no acbr monitor aba rfd sub aba rsa key copiei e colei no bloco de notas, retirei as expressões -----BEGIN RSA PRIVATE KEY ----- e a END RSA PRIVATE KEY..... colei lá.... tirei todos os "enter" e ficou só uma linha com toda a chave. e gravei como mykey.key
Cliquei em ler Chave RSA e ele pediu para ler algum arquivo do tipo Arquivos KEY.
Aí selecionei o mykey.key.
Mandei processar... Ele arrumou alguns bugs mesmo como por exemplo no registro e16 o simbolo LX passou a figurar na coluna 75-76. mas o EAD ficou em branco.
Depois eu fiz o teste copiando a chave do jeito que estava sem tirar o BEGIN e o END mas mesmo assim o EAD fica em branco
Falta alguma coisa ?
Mário
Enviado: 03 Abr 2008 18:06
por dopi
Acho que o problema é a chave... ela deve ter a mesma aparência do post acima... com as quebras de linhas e -- BEGIN... E -- END
Citei o fato de apagar linhas extras pq quando copia do ACBrMonitor no Bloco de Notas, ele pula 2 linhas...
Antes de rodar o RFDfix, tente rodar o OpenSSL no DOS e veja se ocorre algum erro na geração do EAD
Enviado: 03 Abr 2008 20:04
por Mário Isa
Agora deu certo.
É que o RFDfix só refaz a chave (que deu errado antes) se vc pegar os arquivos errados de novo e refazê-los.
Obrigado.
Mário
Enviado: 04 Abr 2008 09:17
por dopi
Sim... O RFDFix só calcula o novo EAD se ele fez alguma alteração no arquivo...
Enviado: 04 Abr 2008 15:00
por Mário Isa
Dopi diz:
Se vc deseja apenas re-assinar um arquivo já existente... Experimente o RFDFix
Ele corrige alguns bugs da primeira versão do ACBrRFD...
Para forçar a re-assinatura, informe o CNPJ do cliente
Sendo assim eu não estou com a versão mais nova:
Qual a mais nova?
Eu estou com 0.8.2.
Mário
Enviado: 04 Abr 2008 19:20
por dopi
Ainda não foi lançada no site oficial...
Baixe do meu servidor a 0.8.3
ACBrMonitor Windows e
Linux