Olá amigos, bom dia!
Já tentei todas essas validações acima mas eu não consigo identificar quando o cartão não está na leitora ou quando a leitora não está plugada.
Sabem me dizer se alguma rotina mudou?
Deixo a minha rotina abaixo:
try
dtm.NFe.Configuracoes.Certificados.NumeroSerie := Config.CertificadoDigital;
dtm.NFe.Configuracoes.Certificados.Senha := Config.SenhaCertificado;
if dtm.NFe.Configuracoes.Certificados.GetCertificado.IsValid.Result then
Result := True
else
begin
Result := False;
if (dtm.NFe.Configuracoes.Certificados.GetCertificado.ValidToDate < Date) then
Application.MessageBox(pchar('Certificado vencido!'),'Atenção!',MB_ICONINFORMATION+MB_TASKMODAL)
else
if dtm.NFe.Configuracoes.Certificados.GetCertificado.PrivateKey.IsHardwareDevice then
Application.MessageBox(pchar('Verifique se o hardware esta conectado a este terminal!'),'Atenção!',MB_ICONINFORMATION+MB_TASKMODAL)
else
Application.MessageBox(pchar('Certificado inválido!'),'Atenção!',MB_ICONINFORMATION+MB_TASKMODAL)
end;
except
Result := False;
Application.MessageBox(pchar('Erro ao validar certificado!'),'Atenção!',MB_ICONINFORMATION+MB_TASKMODAL)
end;