Ir para conteúdo
  • Cadastre-se

dev botao

Data Vencimento do Certificado


Rigotti
  • Este tópico foi criado há 3233 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia, tenho uma dúvida quanto a questão de certificados, estamos querendo desenvolver no nosso sistema um aviso para informar ao usuário que o certificado está prestes a vencer, para isso estou utilizando o comando ACBrNFe.Configuracoes.Certificados.DataVenc porém o nosso sistema é multi empresa, ou seja teremos mais que um certificado, para alterar o certificado associado ao componente eu somente preciso utilizar o comando ACBrNFe.Configuracoes.Certificados.NumeroSerie? pois depois de alterar o certificado a data de validade q o componente retorna é do certificado anterior, após realizar algumas operações como consultar status do serviço do sefaz é que ele começa a trazer a data de validade do novo certificado, não consegui achar um motivo lógico, alguém teria alguma idéia do que possa estar acontecendo e como poderia resolver essa situação?

vlw

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Amigo eu criei esta função, talvez te ajude :

Function ExpirarCertificadoDigital( numero_certificado : String) : Boolean;

var i : Integer;

CertStore : IStore3;

CertStoreMem : IStore3;

PrivateKey : IPrivateKey;

Certs : ICertificates2;

Cert : ICertificate2;

numce : String;

dias : Real;

acho : Boolean;

begin

Result := True;

Frm_DM.QR_Config.Open;

numce := numero_certificado;

CertStoreMem := Nil;

If CertStoreMem = NIL then begin

CertStore := CoStore.Create;

CertStore.Open(CAPICOM_CURRENT_USER_STORE, 'My', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

CertStoreMem := CoStore.Create;

CertStoreMem.Open(CAPICOM_MEMORY_STORE, 'Memoria', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

Certs := CertStore.Certificates as ICertificates2;

acho := false;

For I := 1 to Certs.Count do Begin

Cert := IInterface(Certs.Item) as ICertificate2;

if numce = Cert.SerialNumber then begin

dias := Cert.ValidToDate - Date;

acho := True;

Break; end;

end;

if not acho then

Result := True

else

if dias <= 0 then begin

Result := False;

MensagemPerso(' Certificado Dígital Exprirado em '+FormatDateTime('dd/mm/yyyy',Cert.ValidToDate),erro);

end

else

if dias <= 15 then begin

Result := True;

MensagemPerso(' ***** ATENÇÃO ***** '#13'Falta '+FloatToStr(dias)+' dia(s) para expirar o Certificado Dígital !'#13'Data para Expirar : '+FormatDateTime('dd/mm/yyyy',Cert.ValidToDate),exclamacao);

end

else

Result := True;

end;

end;

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Use as seguintes funções após trocar o certificado:


ACBrNFe1.Configuracoes.Certificados.GetCertificado;
ACBrNFe1.Configuracoes.Certificados.DataVenc;
[/code]

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Di nada meu amigo, precisando estamos aí.

jonathan-augusto-muito obrigado, funcionou que uma beleza.... ficou perfeito.

mksbraga-obrigado pelo retorno, mas para evitar ter que criar outro campo no banco utilizei a função do jonathan que funcionou muito bem.

Valeu, abraço

Rigotti

Link para o comentário
Compartilhar em outros sites

  • 4 anos depois...
  • Este tópico foi criado há 3233 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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.

The popup will be closed in 10 segundos...