Cita:
Empezado por adolphsys
Hola, si nos detallas un poco más el problema tal vez alguien pueda ayudarte: - Te refieres a un servicio de Windows puro y duro, o se consume mediante Internet Information Services (IIS)?
- Se trata de un entorno Terminal Services?
- Cómo se conectan los usuarios?
- Cada uno tendrá su propio certificado o utilizan todos el mismo?
Aunque no trabajo en .Net, si el certificado está instalado para el usuario XXX lógicamente no será accesible por el usuario YYY.
|
Hola adolphsys, muchas gracias por la respuesta.
Si, me refiero a un servicio de windows puro y duro. Tenemos una aplicación de consola que hace el envio. Si lo ejecutamos como aplicación funciona correctamente, porque lo estamos ejecutando con el usuario X que tiene el certificado instalado en su almacén de certificados.
Si arrancamos la aplicación desde un servicio de windows, hacemos que arranque con el usuario del sistema local (System) y luego no tiene acceso al almacén de certificados del usuario X.
Si configuramos el servicio para que arranque con el usuario X, luego funciona pero pensamos que no es buena idea, porque por ejemplo, si el usuario cambia el password, el servicio deja de funcionar, por eso queremos que arranque con el usuario del sistema local, como viene por defecto.
A parte tenemos la aplicación TPV en cada ordenador, esa aplicación genera el xml, lo firma, lo guarda e imprime la factura.
La aplicación de envio solo está en el servidor y va cogiendo las facturas firmadas en el orden correcto y las va enviando.
El certificado es el mismo para todos. Cada ordenador con TPV tiene el certificado instalado para firmar.
En el servidor también hay el certificado instalado para poder enviar.
Creo que el problema es del componente que utilizamos
System.Net.HttpWebRequest que por lo que parece siempre busca en el almacén de certificados del usuario y claro...
No se si alguién que utilice C# .Net usa otro componente para enviar TicketBAI
Muchas gracias!