Assinatura Digital (registro EAD)

BemaFI32

Assinatura Digital (registro EAD)

Assinatura Digital (registro EAD)

 

A Bematech disponibiliza uma dll chamada "sign_bema.dll" que permite gerar as chaves pública e privada, além de assinar o arquivo com o registro EAD, conforme exigências do Convênio PAF-ECF.

 

Importante saber:

·O Fisco possui um programa chamado "eECFc" que faz a validação do arquivo com base na chave pública informada.
·A software-house deverá criar um arquivo XML com o seguinte conteúdo:

<?xml version="1.0" ?>

<empresa_desenvolvedora>

<nome></nome>

<chave>

<modulo></modulo>

<expoente_publico>03</expoente_publico>

</chave>

</empresa_desenvolvedora>

 

Onde:

·Na TAG <nome> deve ser informado o nome da software-house.
·Na TAG <modulo> deve ser informada a chave pública gerada.
·Na TAG <expoente_publico> deve ser informado o expoente de validação. Para Bematech o expoente é 03.
·A nomenclatura do arquivo é formada pelo nome da sofware-house mais a extensão ".xml", exemplo: "TESTE.xml".
·O arquivo .xml deve ser salvo na pasta "SHOUSE", localizada onde o "eECFc" foi instalado.

Observação:

·A "libeay32.dll" deve estar junta com a "sign_bema.dll" na pasta da aplicação para que as funções possam ser executadas corretamente.

A "sign_bema.dll" possui as seguintes funções:

A declaração destas funções em VB é:

 

Private Declare Function genkkey Lib "sign_bema.dll" (ByVal cChavePublica As String, ByVal cChavePrivada As String) As Integer

 

Private Declare Function setLibType Lib "sign_bema.dll" (iTipo as Integer) As Integer

 

Private Declare Function generateEAD Lib "sign_bema.dll" (ByVal cNomeArquivo As String, ByVal cChavePublica As String, ByVal cChavePrivada As String, ByVal cEAD As String, ByVal iSign As Integer) As Integer

 

Private Declare Function validateFile Lib "sign_bema.dll" (ByVal cNomeArquivo As String, ByVal cChavePublica As String, ByVal cChavePrivada As String) As Integer

 

Private Declare Function md5FromFile Lib "sign_bema.dll" (ByVal cNomeArquivo As String, ByVal MD5 As String) As Integer

 

A declaração destas funções em Delphi é:

 

function genkkey( cChavePublica: String; cChavePrivada: String ): integer; stdcall; external 'sign_bema.dll';

 

function setLibType( iTipo: integer ): integer; stdcall; external 'sign_bema.dll';

 

function generateEAD( cNomeArquivo: String; cChavePublica: String; cChavePrivada: String; cEAD:String; iSign: Integer): integer; stdcall; external 'sign_bema.dll';

 

function validateFile( cNomeArquivo: String; cChavePublica: String; cChavePrivada: String ): integer; stdcall; external 'sign_bema.dll';

 

function md5FromFile( NomeArq: String; MD5: String ): integer; stdcall; external 'sign_bema.dll';