Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Olá a todos,

Procurei no fórum e não encontrei uma solução para o problema, então decidi compartilhar minha contribuição. Abaixo, você encontrará a rotina que desenvolvi para identificar se um certificado está instalado no Windows.

Espero que seja útil para quem precisa!

function IsCertificateInstalled(const SerialNumber: string): Boolean;
var
  i: Integer;
  CertificateFound: Boolean;
begin
  Result := False;
  CertificateFound := False;
  try
    // Tenta carregar os certificados disponíveis
    ACBrNFSeX1.SSL.LerCertificadosStore;

    // Itera sobre a lista de certificados carregados
    for i := 0 to ACBrNFSeX1.SSL.ListaCertificados.Count - 1 do
    begin
      // Verifica se o número de série do certificado atual é igual ao procurado
      if ACBrNFSeX1.SSL.ListaCertificados[i].NumeroSerie = SerialNumber then
      begin
        CertificateFound := True;
        Break; // Certificado encontrado, interrompe a busca
      end;
    end;

    // Define o resultado final
    Result := CertificateFound;
  except
    on E: Exception do
    begin
      // Log de erro ou tratamento específico pode ser adicionado aqui
      // Por exemplo: LogError('Erro ao verificar certificados: ' + E.Message);
      Result := False; // Em caso de erro, o certificado não foi encontrado
    end;
  end;
end;

como chamar:

CertifInstalado := IsCertificateInstalled('NUMERO DO CERTIFICADO');
if CertifInstalado then
   ShowMessage ('Certificado encontrado!')
else
   ShowMessage  ('Certificado não encontrado.');

espero que seja util.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.