FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour No me funciona shellexecute. Saber caducidad certificado digital
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
No me funciona shellexecute. Saber caducidad certificado digital
Posted: Tue Mar 11, 2025 04:34 PM
Hola a todos,

Estoy probando esta sentencia para saber la fecha de caducidad de un certificado digital

..\openssl\bin\openssl.exe x509 -in ..\dbf\certificado.pem -noout -enddate >..\dbf\fecha.txt

Si lo ejecuto desde comando me funciona y me crea el fichero fecha.txt, que aunque no lo pone claro se puede obtener la fecha de caducidad del certificado digital :certificado.pem

Pero al ejecutarlo en aplicación he probado :
shellexecute(0,"runas","..\openssl\bin\openssl x509 -in ..\dbf\certificado.pem -noout -enddate >..\dbf\fecha.txt","","",1)
Pero no me crea el fichero fecha.txt que desde el comando si me crea.

¿Alguna sugerencia?

Gracias
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: No me funciona shellexecute. Saber caducidad certificado digital
Posted: Tue Mar 11, 2025 04:57 PM

WaitRun

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: No me funciona shellexecute. Saber caducidad certificado digital
Posted: Tue Mar 11, 2025 05:19 PM
lo he puesto asi:
   vresultado:=waitrun("..\openssl\bin\openssl.exe x509 -in ..\dbf\b96370556.pem -noout -enddate >..\dbf\fecha.txt")
   msgalert(vresultado)
Y el vresultado es 1,que un resultado que no aparece en la ayuda de waitrun
Y además de que no me crea el fichero fecha.txt me abre una ventana y se cierra, cuando con shellexecute no abre ninguna ventana cuando "realiza" el comando

¿Algo estoy haciendo mal? ¿Alguna sugerencia?
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: No me funciona shellexecute. Saber caducidad certificado digital
Posted: Tue Mar 11, 2025 07:01 PM
prueba copiando los archivos en en la carpeta de tu aplicación.
cFileCer := "b96370556.pem"
cToTxt := "fecha.txt"
bBloc := {|cCer, cTxt| "openssl.exe x509 -in " + cCer + " -noout -enddate > " + cTxt }
WaitRun( (Eval(bBloc , cFileCer, cToTxt )), 0 )
saludos
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: No me funciona shellexecute. Saber caducidad certificado digital
Posted: Wed Mar 12, 2025 11:06 AM

Buenas,

prueba de poner el path completo, reemplace ..\ por c:....turuta

Slds.

Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: No me funciona shellexecute. Saber caducidad certificado digital
Posted: Wed Mar 12, 2025 12:13 PM
Puedes probar haciendo un bat con los comandos que deseas, y despues lanzar ese bat
cComando := cComando + '..\openssl\bin\openssl.exe x509 -in ..\dbf\certificado.pem -noout -enddate >..\dbf\fecha.txt'
memowrit( 'cert.bat', cComando )
WaitRun( 'cert.bat' , 0 )
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: No me funciona shellexecute. Saber caducidad certificado digital
Posted: Wed Mar 12, 2025 03:53 PM

Cesar, funcionado perfectamente.

Muchas gracias.

Ahora tocar obtener una fecha validad de la información que da.

Pero eso ya es más sencillo. Solo leer caracteres y transformar el mes.

Ejemplo de fecha.txt : notAfter=Dec 27 10:16:45 2026 GMT -> 27/12/2026

Un saludo

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com

Continue the discussion