5.2. DELPHI com late binding
5.2.2. Selecionar um certificado
5.2.1. Obter a versão da DLL
« Anterior
5.3. VB com early binding
Próximo »

5.2.2. Selecionar um certificado

A funcionalidade pegaNomeCertificado pode ser utilizada para permitir a selecão de um certificado digital existente no repositório de certificados digitais do usuário corrente do Windows.

Exemplo de uso da função pegaCertificado em late binding

//
//
//   Exemplo para obter o nomeCertificado de um certificado digital
//
//   
//
 
uses
 
  (...), ComCtrls, ComObj;          // acrescentar ComCtrls e ComObj no use da unit
 
var
 
Util: OleVariant;                       // declarar a interface da DLL
 
i:integer;
 
nome, mensagem: Widestring;                 // todas as strings que serão utilizadas como parâmetro devem ser widestring
 
begin
 
 
Util := CreateOleObject('CTe_Util.util');           // instancia a DLL
 
//
// inicializa variáveis
//
nome := '';     // se nome não for informado, a DLL irá abrir uma caixa de diálogo
                        // para escolha do certificado digital.
mensagem := '';
 
//
// obtem o nomeCertificado (Assunto) do certificado
//
 
i:= Util.PegaNomeCertificado(nome, mensagem);
 
if i < 2 then
         MessageDlg( 'Certificado selecionado:'#13+#13+nome, mtInformation, [mbOk], 0)
      else
         MessageDlg( 'O Certificado:'#13+#13+nome+#13+#13+'não foi localizado no repositório de certificados!', mtInformation, [mbOk], 0);
//
// o nomeCertificado é o campo Assunto do Certificado Digital que identifica o titular
// do certificado digital.
//
// A DLL utiliza este campo Assunto para identificar o certificado digital utilizado nas
// funcionalidades.
//
// Após a obtenção do nomeCertificado, a aplicação deve "guardá-lo" em alguma área de
// configuração da aplicação, vinculando-o com o CNPJ e a chave da licença de uso da
// DLL que serão necessárias na maioria das chamadas da DLL.
 
 
end;
5.2.2. Selecionar um certificado
5.2. DELPHI com late binding
« Anterior
5.2.1. Obter a versão da DLL
Próximo »
5.3. VB com early binding