DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Assinando arquivos com a DarumaFramework.DLL

Veja neste artigo como evitar a abertura e leitura de relatório para assinar, iremos ver como a DarumaFramework.DLL faz este trabalho.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Olá pessoal, vamos a mais um artigo sobre automação comercial.

Na geração da maioria dos relatórios no Menu Fiscal é necessário que o arquivo seja assinado digitalmente, inserindo ao final do mesmo uma linha com o registro tipo EAD conforme especificado no layout abaixo.

Registro tipo EAD

Figura 1. Registro tipo EAD.

Já imaginou o trabalho que dá para editar um arquivo, localizar a última linha e inserir logo após a assinatura do arquivo.

A única coisa que você necessita é ter o arquivo com a extensão (.key) para assinar os arquivos gerados através da DarumaFramework.dll.

Veja como gerar o arquivo.key caso você ainda não possua: http://bit.ly/wn0TZW.

A DarumaFramework.DLL pode assinar os arquivos gerados automaticamente, após sua geração ou pode assinar qualquer arquivo independente da origem.

Assinando na Geração

A própria função de geração de múltiplos arquivos possibilita a assinatura dos mesmos através de um parâmetro opcional no qual se pode passar o diretório do “arquivo.key” que carrega a chave da assinatura.

Layout da Assinatura

Figura 2. Layout da Assinatura.

Como podemos observar na tabela, é só passar no parâmetro dos relatórios que desejamos gerar a descrição [EAD]”+Chave”.

Exemplo:

NFP+[EAD]C:\Chave.key

Na pratica

Listagem 1: C(Sharp):

[DllImport("DarumaFrameWork.dll")]
        public static extern int rGerarRelatorio_ECF_Daruma(string pszRelatorio, 
string pszTipo, string pszInicial, string pszFinal);
		
DarumaFramework_DLL.DarumaFramework_DeclaracFramework_Declaracoes_CSharp.
rGerarRelatorio_ECF_Daruma(“NFP+[EAD]C:\Chave.key”, “DATAM”, “010911”, “301011”);

Listagem 1: Delphi:

function rGerarRelatorio_ECF_Daruma(szRelatorio:string; szTipo:string; 
szInicial:string; szFinal:string): Integer; StdCall; External 'DarumaFramework.dll';
 Int_Retorno:= rGerarRelatorio_ECF_Daruma(‘NFP+[EAD]C:\Chave.key’, 
‘DATAM’, ‘010911’, ‘301011’);

O relatório "[EAD]+Path da chave privada" faz a assinatura dos relatórios:

  • MF
  • MFD
  • TDM
  • NFP
  • NFPTDM
  • SINTEGRA
  • SPED
  • LMFC
  • LMFS

O mesmo deve ser colocado sempre no final dos relatórios selecionados.

Por exemplo, para assinar o arquivo MFD o comando deve ser passado da seguinte maneira: rGerarRelatorio_ECF_Daruma("MFD+[EAD]c:\Chave.key", "DATAM", "01052011", "30052011");

Onde "c:\Chave.key" é o caminho mais o nome da minha chave.

Basta isso para que os arquivos gerados saiam assinados.

Assinando arquivos prontos

A DarumaFramework.DLL possui um método que lê o arquivo informado e faz a assinatura dele automaticamente.

Esta função é a: eRSAAssinarArquivo_ECF_Daruma.

Parâmetros:

Veja os Parâmetros

Figura 3. Veja os Parâmetros.

Exemplo em Delphi:

function eRSAAssinarArquivo_ECF_Daruma(pszPathArquivo:string;
pszChave:string): Integer; StdCall; External 'DarumaFramework.dll';
2Int_Retorno := eRSAAssinarArquivo_ECF_Daruma(
Str_CaminhoArqAssinar,Str_CaminhoChave);

A assinatura será colocada na última linha do arquivo informado.

Um abraço e ficamos por aqui, até o próximo artigo.


Daruma Developer
(Sem mini-bio cadastrado)
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03