Certificado Digital – Qual modelo devo comprar para a NF-e?

Informação julho 8th, 2009

Qual o padrão?, modelo: A1 ou A3? e ainda, e-CNPJ ou e-NFe?.

Muitos colegas já me fizeram essa pergunta; tendo em vista que existem diversos modelos de certificado digital disponíveis. Estava escrevendo essa matéria quando me perguntei “Isso já deve estar publicado em algum site”. Uma pesquisa rápida no Google e resolvido o problema.

O Blog da NF-e publicou um post bem resumido, ao mesmo tempo, completo, sobre esse assunto; segue abaixo, o link para acesso à essas informações:

FAQ Certificado Digital – Blog da NFe

Complemento apenas informação sobre o certificado tipo NFe (comercializado pela Certsign) Criado especialmente para emitir notas fiscais eletrônicas que garante maior segurança no uso do certificado digital da sua Empresa porque somente pode ser usado para essa finalidade.

Tags: ,

Armazenando os dados do Certificado Digital Selecionado

Código-Fonte, Delphi dezembro 22nd, 2008

Sempre que necessário assinar ou enviar dados para o serviço da NF-e; é necessário informar o nome do certificado digital; é interessante, então, armazenar esses dados de forma que sempre que houver necessidade de usar o certificado vc possa informar os dados armazenados evitando assim que tenha que selecionar o mesmo à cada comando;

Como fazer isso então? A primeira coisa a fazer é inserir uma opção de seleção do certificado na sua aplicação e nela, um evento onde após a seleção do certificado onde vc. guarda em um arquivo esses dados; veja abaixo o código que permite armazenar os dados do certificado (usando recursos da NFe_UTIL.dll):

Ex.01: Salvando dados do Certificado Digital Selecionado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var Util:NFe_Util_Interface;
    i:integer;
    F: TextFile;
begin
  Util := CoUtil.Create;
  Try
  nomeCertificado := '';
  i:= Util.PegaNomeCertificado(nomeCertificado, msg);
 
  if i > 1 then
      MessageDlg( 'Ocorreu uma falha no acesso ao repositório de certificados digitais...'+#13+#13+msg, mtInformation, [mbOk], 0)
  else
      begin
        AssignFile(F, 'CertificadoDigital.res');
        Rewrite(F);
        Write(F,nomeCertificado);
        CloseFile(F);
      end;
  finally
     Util := nil;
  end;

Ex.02 Recuperando dados do certificado digital selecionado

1
2
3
4
5
6
7
8
9
10
11
var F: TextFile;
    nomecertificado: string;
begin
  if FileExists('CertificadoDigital.res') then
  begin
     AssignFile(F, 'CertificadoDigital.res');
     Reset(F);
     Readln(F,nomecertificado); // a variável nomecertificado vai receber os dados armazenados.
     CloseFile(F);
  end;
end;

Com isso, problema resolvido, após ler os dados do certificado na variável “nomecertificado” vc pode passar essa informação, por exemplo, para assinar o XML como abaixo (o exemplo usa uma função da NFE_UTIL.dll):

          i:= Util.Assinar(xmlNaoAssinado, 'infNFe', nomecertificado, 
               xmlAssinado, mensagem);
          // a variável "nomercertificado" já contendo os dados do certificado 
          // conforme obtido no exemplo 02.

Tags: ,

Delphi, problemas com SOAP x Certificado Digital

Delphi abril 4th, 2008

Tenho acompanhado os fóruns de discussão e percebi que a comunicação com o WebService da SEFAZ para NF-e têm sido uma “dor de cabeça” para quem desenvolve em Deplhi (mais de 60% dos programadores no país). O problema é que existe uma falha no código do componente responsável pela comunicação quando se trata de SSL.

A Code Gear disponibilizou na “Quality Central” uma correção para o problema (Relatório N.10823) a qual ainda não tive oportunidade de testar por não estar credenciado no site da SEFAZ. Segue abaixo o link para acesso ao relatório.

http://qc.borland.com/wc/qcmain.aspx?d=10823

Tags: , , ,