Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > SDK Componente Verifactu para Delphi 7+ - Subforo Avisos/consultas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 21-11-2025
chenech chenech is offline
Miembro
 
Registrado: dic 2013
Posts: 138
Poder: 13
chenech Va por buen camino
Yo lo verifico desde el programa y si tiene menos de 30 días para caducar aviso al iniciar el programa cada vez.
Te adjunto el código pero está en C++, en Delphi no soy capaz de hacerlo, si alguien puede convertirlo.
Lo tengo en una función a la que llamo pasándole el archivo en ASCert, la contraseña en ASPass y me devuelve la fecha, luego ya calculo yo el tiempo que le queda para caducar,.
En caso de error o que no exista devuelve una cadena vacía.
Código:
		HANDLE hFile = CreateFileW(ASCert.c_str(), GENERIC_READ, FILE_SHARE_READ,
							  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
		if(hFile == INVALID_HANDLE_VALUE)
			return "";
		DWORD size = GetFileSize(hFile, NULL);
		BYTE* buffer = new BYTE[size];
		DWORD bytesRead;
		ReadFile(hFile, buffer, size, &bytesRead, NULL);
		CloseHandle(hFile);
		CRYPT_DATA_BLOB blob;
		blob.cbData = size;
		blob.pbData = buffer;
		HCERTSTORE hStore = PFXImportCertStore(&blob, ASPass.c_str(), PKCS12_NO_PERSIST_KEY);
		delete[] buffer;
		if(!hStore)
			return "";
		PCCERT_CONTEXT pCert = CertEnumCertificatesInStore(hStore, NULL);
		if(!pCert)
		{
			CertCloseStore(hStore, 0);
			return "";
		}
		SYSTEMTIME st;
		FileTimeToSystemTime(&pCert->pCertInfo->NotAfter, &st);
		CertFreeCertificateContext(pCert);
		CertCloseStore(hStore, 0);
		wchar_t fecha[11];
		swprintf(fecha, 11, L"%02d/%02d/%04d", st.wDay, st.wMonth, st.wYear);
		return String(fecha);
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al obtener certificado de disco 5.2 seccion_31 SDK Componente Verifactu para Delphi 7+ - Subforo Errores 0 08-09-2025 07:54:45
Como chequear la fecha de caducidad de mi aplicacion JoAnCa Varios 2 11-03-2009 14:52:17
obtener solo la fecha en formato fecha y sin hora BlueSteel SQL 14 09-05-2008 16:42:19
FTP con SSL, Obtener el certificado mercury2005 Internet 0 27-12-2006 08:48:42


La franja horaria es GMT +2. Ahora son las 05:57:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi