![]() |
HTTPRIO elegir el certificado digital mediante evento NeedClientCertificate
Tengo una duda, no sé si es el lugar adecuado para exponerla, de no ser así pido discullpas anticipadas.
Estoy usando HTTPRIO e intento elegir el certificado digital mediante el evento NeedClientCertificate. En un formulario va bien, pero cuando lo intento ejecutar en un servicio de windows el evento no es llamado por el servicio. Después de darle muchas vueltas intuyo que no funciona el evento en un servicio de windows. ¿ Alguien tiene información al respecto ? Gracias. |
Si lo pruebas fuera de un servicio usa el almacén de certificados del usuario pero como servicio el usuario será System.
No sé si el usuario System usa su propio almacén o el de la máquina, seguramente su propio almacén. Prueba a añadir el certificado con la utilidad psexec que te deja abrir aplicaciones como System https://learn.microsoft.com/es-es/sy...wnloads/psexec Ejecuta esto como administrador Código:
psexec -s -i c:\windows\system32\mmc.exe c:\windows\system32\certmgr.msc |
NO ha funcionado. Volví a instalar el certificado manualmente como system y también lo hice con lal herramienta que me recomendó. El certificado siempre lo veo como perteneciente a usuario actual.
Tampoco tengo claro que el problema sea la carga del certificado. El evento NeedClientCertificate del objeto HTTPRIO no tengo constancia de que sea llamado. He puesto la creación de un archivo txt externo para verificar que entra al evento y nunca genera tal archivo. Esto podría deberse también a que si no hay ningún certificado instalado donde él lo busca ni siquiera entre en el evento. Estoy algo perdido la verdad. Saludos. |
Bueno, si te consta que no lanza el evento mejor haces debug que el problema puede ser antes.
https://docwiki.embarcadero.com/RADS...e_Applications |
Tema solucionado.
En el caso de no lanzar el evento, era problema mio. A veces no se ve el bosque por estar demasiado cerca. (Efecto túnel) Cambiar una fecha finalizacion de certificado comparada con Now() y darle la vuelta al Mayor que... por eso no llegaba a generar el archivo txt. En el caso de la instalación del certificado tenía usted razón. Hay que instalarlo en modo LOCALMACHINE y no en modo USERACTUAL. No sé si habría funcionado solo con sus indicaciones anteriores. Descargué una utilidad de Microsoft llamada WinHttpCertCfg.exe que da mucho mas juego. Así que ya no sé si hubiera funcionado solo con las indicaciones que usted me proporcionó. Actualmente funciona y correrctamente el servicio. Gracias. Un saludo. |
La franja horaria es GMT +2. Ahora son las 13:19:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi