Bematech Software Partners

 
  • jun 05 2009

    Edição 128 – Nova DLL para Assinatura Digital (Registro EAD)

    Prezado Parceiro,

    A Bematech acaba de lançar ao mercado, uma nova DLL que faz a assinatura digital dos arquivos gerados por sua aplicação, conforme exigência do convênio PAF-ECF – a dll “sign_bema.dll” !

    Esta dll está disponível em nosso site no pacote da BemaFI32.dll, e pode ser baixada a partir do link:

    http://www.bematech.com.br/suporte/downloads/fisc_win/bemafi32.zip

    O arquivo de ajuda da BemaFI32.dll (arquivo BemaFI32.chm) quanto o help on-line também estão atualizados com informações sobre a “sign_bema.dll”, no tópico “Assinatura Digital (registro EAD)”.

    imgHLP

    Neste tópico, você encontra as funções usadas por esta dll e Flash-News importantes do processo sobre a assinatura do arquivo para o PAF-ECF.

    Além disso, disponibilizamos também dois exemplos de programação: um em Delphi 7 e outro em VB 6, demonstrando o uso da dll e de suas funções, que podem ser baixados a partir dos links:

    Veja como é muito simples gerar as chaves pública e privada, e incluir a assinatura EAD no arquivo:

    1º passo – função “genkkey”

    A primeira operação que deve ser realizada, é a geração das duas chaves: pública e privada.

    Para isso existe a função “genkkey”, onde são informados como parâmetros, duas variáveis do tipo string previamente inicializadas com 256 espaços, que receberão as chaves pública (variável 1) e privada (variável 2).

    2º passo – função “generateEAD”

    Com as duas chaves já geradas, a função “generateEAD” serve para gerar o registro EAD e inclui-lo dentro do arquivo.

    Esta função possui 5 parâmetros, onde são informados:

    • O nome do arquivo que receberá o registro EAD (variável string);
    • A chave pública, previamente gerada (variável string);
    • A chave privada, previamente gerada (variável string);
    • O registro EAD (variável string inicializada previamente com 256 espaços para receber o registro EAD gerado) e;
    • O modo de gravação (variável integer indicando se o registro EAD gerado será incluído no arquivo ou não).

    Simples, rápido e fácil! Somente com estas duas funções você tem a assinatura digital pronta (registro EAD) em seu arquivo para o PAF-ECF.

    Mais uma vez a Bematech próxima de sua comunidade de desenvolvedores, disponibilizando um facilitador para um dos recursos mais exigidos na homologação do PAF-ECF.

    Mensagens Suplementar e Complementar (PAF-ECF)

    Flash-News:

    • A mensagem suplementar é dada através do comando “ESC 34″ (Termina o Fechamento do Cupom Fiscal) para protocolo direto, ou através da função “Bematech_FI_TerminaFechamentoCupom” da BemaFI32.dll para todos os modelos de impressoras fiscais Bematech. O campo do cupom fiscal referente à mensagem, possui 8 linhas por 48 colunas (formato padrão).
    • A mensagem complementar é feita através do comando “ESC 62 64” (Programa ID Aplicativo) para protocolo direto, ou através da função “Bematech_FI_ProgramaIdAplicativoMFD” da BemaFI32.dll para os modelos de impressoras fiscais Bematech do convênio ICMS 85/01. O parâmetro deste comando permite até 84 caracteres e pode ser usado a qualquer momento na impressora, desde que o cupom esteja fechado.

     

19 Comentários

  • 9 de junho de 2009 às 10:26

    Comment by Eber

    Parabéns pela iniciativa e por ter mantido seu compromisso com os parceiros.

  • 15 de junho de 2009 às 20:12

    Comment by marilea

    show!!!!!!!!!!!!!!!!1

  • 18 de junho de 2009 às 11:54

    Pingback by Edição 43 - Edição extra: sign_bema.dll | Bemacast - Flash-News

    [...] gostaríamos de agradecer os feedbacks que temos recebido desde o lançamento de nossa dll que gera as chaves pública e privada, e a assinatura EAD no arquivo para o PAF – a [...]

  • 27 de junho de 2009 às 10:32

    Comment by Ivaldo

    Consegui implementar e rodar a dll SIGN_BEMA.DLL e todas as suas funções.
    Porém existe uma duvida no conceito:
    A chave Publica e Privada, eu gero somente uma vez e incluo em cada um dos diversos arquivos assinados\registrados digitalmente.

    Para gerar as chaves não preciso passar parâmetros que identifiquem e individualizem a minha empresa?

    Obrigado pela facilidade proporcionada por essa dll.

    Sem mais, desde já agradeço:

    Ivaldo Protasio Barbosa

  • 1 de julho de 2009 às 9:24

    Comment by André Munhoz

    Olá Ivaldo,

    Sim, as chaves pública e privada são geradas somente uma vez. Estas chaves vc guarda para que sejam usadas nas assinaturas dos arquivos do PAF que vc criar. A chave pública vc disponibiliza ao fisco, para que possam usar na validação da assinatura dos arquivos.

    Não é necessário informar dados particulares na geração das chaves. A dll faz a geração automaticamente e aleatoriamente respeitando o requisito do PAF, sendo assim, basta vc apenas usa-las para a assinatura dos arquivos.

    Ats,
    André Munhoz

  • 22 de julho de 2009 às 16:02

    Pingback by Edição 130 - A Era da Lucratividade chegou aos Desenvolvedores | Bemacast - Flash-News

    [...] sign_bema.dll proporciona de forma simples, rápida e fácil a geração das chaves pública e privada, além de [...]

  • 28 de julho de 2009 às 11:51

    Pingback by Edição 46 - Arquivo MFD, Espelho MFD e Ato Cotepe 17/04 por COO e Data | Bemacast - Flash-News

    [...] Além disso, não podemos esquecer que tanto o arquivo contendo o espelho da MFD quanto o arquivo do Ato Cotepe 17/04 devem ser assinados (registro EAD). Sendo assim, podemos usar facilmente a sign_bema.dll. [...]

  • 31 de julho de 2009 às 15:28

    Comment by Dario

    Essa Dll realmente resolve. Já estou utilizando a mesma na assinatura dos arquivos texto.
    Porém, ficou uma dúvida.
    Como faço para gerar o código MD-5 do principal executável que deverá ter 32 caracteres (campo n° 20 do anexo VI do paf-ecf). Ou este é atribuido pela empresa de avaliação do sw que vai fazer o laudo?
    Desde já agradeço pela atenção.
    Dario

  • 3 de agosto de 2009 às 9:39

    Comment by André Munhoz

    Olá Dario, o MD-5 do executável do sw deve se aplicado pela empresa desenvolvedora.

    Ats,
    André Munhoz

  • 30 de setembro de 2009 às 12:10

    Comment by Carlos

    Sr André,

    Parabéns à toda equipe bematech pelas soluções oferecidas.

    Uma dúvida :

    Eu irei homologar 2 aplicativos (um concomitante e outro não), neste caso eu devo gerar chaves distintas para os 2 aplicativos ou posso utilizar uma unica chave para ambos ?

    Cordial abraço,

    Carlos.

    SORTEE Soluções Inteligentes

  • 30 de setembro de 2009 às 14:24

    Comment by André Munhoz

    Oi Carlos,

    Obrigado pelo seu comentário!

    Com relação a dúvida as chaves pública e privada são criadas unicamente por sw-house, ou seja, vc usará as chaves criadas uma única vez para assinar qualquer arquivo gerado para o PAF-ECF, independente de seu aplicativo, até por que o arquivo .xml que vc vai usar para validação dos arquivos assinados através do eECFc é único para a Sortee.

    Forte abraço,

    André Munhoz

  • 8 de outubro de 2009 às 10:57

    Comment by Fábio

    Fizemos a implementação das DLL para assinatura dos arquivos e, no desenvolvimento funcionaram sem nenhum problema. Ao implementar em nossas lojas está ocorrendo um erro de “Run Time 48: File not found: sign_bema.dll”. Todas as nossas lojas utilizam Win XP Home. Existe algum pré-requisito para uso da DLL com Win XP?

    Agradeço a ajuda.

    Fábio

  • 9 de outubro de 2009 às 14:09

    Comment by nigro

    Estou usando o eECFc v:3.12 de 06/02/2009, a assinatura foi gerada com a DLL da Bematech, porém o validador só dá ok na se o arquivo contem apenas a assinatura.
    Já coloquei a assinatura na primeira linha do arquivo, já coloquei no final do arquivo, já deixei em ambos os locais, já coloque linha em branco antes e depois da assinatura e nada.

  • 2 de novembro de 2009 às 18:12

    Comment by Jurandir Monteiro

    Para atender ao disposto na legislação , o arquivo de paramatros do PAF-ECF deverá ser
    totalmente criptografado.

    Estou usando o gpg ( gnupg , software open source ) que efetua a criptografia de todo o
    arquivo.
    Só que , para tal , há a necessidade de gerar outro par de chaves ( Pública e Privada).

    A biblioteca LIBEAY32.DLL que a é usada pela Sign_bema.dll tem também as funções
    ENCODE e DECODE.

    Só que não encontrei , para a sign_bema.dll os parametros para chamar estas funções.

    Seria de grande valia o uso destas funções , utilizando-se apenas um par de chaves.

    No aguardo ,

    Jurandir Monteiro

  • 13 de novembro de 2009 às 7:26

    Comment by Edson

    Olá André.

    Estamos começando a desenvolver nosso PAF-ECF em .net.
    Usamos os recursos da linguagem para assinar os arquivos mas o programa eECFc não reconhece a assinatura como válida, então, essa DLL vem bem a calhar.

    Tenho a seguinte dúvida:
    Se eu preciso assinar os arquivos que meu PAF-ECF vai gerar eu terei que enviar junto com o aplicativo minha chave privada, certo?
    Dessa forma, se eu distribuir essa chave pra todos os meus clientes, me parece que essa chave não vai ser tão “privada” assim, concorda?

    Abraços.

    Edson.

  • 16 de dezembro de 2009 às 9:54

    Comment by Luiz Eduardo

    André, consegui implementar com sucesso as funções da dll em quase todos os meus clientes. Não entendo porque, mas em alguns deles, usando o mesmo aplicativo, inclusive o exemplo de vocês, ao acionar qualquer função da dll recebo a mensagem: Run-Time error 48: File not found: sign_bema.dll. Já tentei registrar a dll mas não obtive sucesso.

    Alguém tem alguma idéia do que pode estar acontecendo nestes clientes?

  • 19 de dezembro de 2009 às 15:08

    Comment by Robero Milesi

    Primeiramente, parabens pela iniciativa, dll show de bola.

    Agora vem o pedido de ajuda !

    Estou usando a sua dll, gerando ead e verificando no eECFc.exe e valida certinho. Porem no Validador Sintegra apresenta erro de registro invalido EAD….

    O que pode ser, o que estou fazendo de errado ?

    Tenho Homologacao para terca (22/12/2009), se puderem me ajudar…

    Um abraco.

  • 23 de abril de 2010 às 15:39

    Comment by Fabio

    Não estamos conseguindo utilizar a sign_bema em Visual Fox. Mesmo seguindo toda a orientação de declaraçÃo e inicialização das variáveis, a função genkkey retorna as chaves em branco. O status de retorno vem 1, ou seja, obteve sucesso na chamada. Alguém pode dar uma dica ?

  • 17 de dezembro de 2010 às 12:12

    Comment by jeferson

    Não sei se já resolveu seu problema, esses parâmetros devem ser por referencia, talvez esteja perdendo o valor das chaves quando volta para sua funcao.

Deixe um comentário