Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   General/Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=64)
-   -   Requerir certificado digital de cada cliente o usar uno propio del desarrollador (https://www.clubdelphi.com/foros/showthread.php?t=97791)

espinete 27-10-2025 13:09:57

Requerir certificado digital de cada cliente o usar uno propio del desarrollador
 
Nosotros en un principio hemos optado (al igual que hicimos con TicketBAI y con otros países) porque cada Obligado Tributario utilice su propio Certificado Digital para poder hacer los envíos de VeriFactu, pero he leído en algunos posts que hay algunos que habéis optado por usar el vuestro propio para evitar algunos problemas.

¿Qué certificado haría falta para eso? ¿El cliente tiene que darlo de alta como certificado de confianza en algún sitio? Creo que en TicketBAI había que registrarlo como tercero de confianza o algo así, la verdad es que no tengo mucha idea.

Por otro lado, usar un certificado nuestro (de la empresa desarrolladora) me da un poco de miedo. Habría que incluirlo en los instaladores, descargarlo online cuando hiciera falta, estar pendiente de renovaciones (y que de ello dependan miles de usuarios), etc.
No me convence mucho, pero no estaría de más considerarlo para determinados casos.

¿Alguien lo ha hecho así?

newtron 27-10-2025 13:13:40

Cita:

Empezado por espinete (Mensaje 568999)
Nosotros en un principio hemos optado (al igual que hicimos con TicketBAI y con otros países) porque cada Obligado Tributario utilice su propio Certificado Digital para poder hacer los envíos de VeriFactu, pero he leído en algunos posts que hay algunos que habéis optado por usar el vuestro propio para evitar algunos problemas.

¿Qué certificado haría falta para eso? ¿El cliente tiene que darlo de alta como certificado de confianza en algún sitio? Creo que en TicketBAI había que registrarlo como tercero de confianza o algo así, la verdad es que no tengo mucha idea.

Por otro lado, usar un certificado nuestro (de la empresa desarrolladora) me da un poco de miedo. Habría que incluirlo en los instaladores, descargarlo online cuando hiciera falta, estar pendiente de renovaciones (y que de ello dependan miles de usuarios), etc.
No me convence mucho, pero no estaría de más considerarlo para determinados casos.

¿Alguien lo ha hecho así?


No es mi caso pero según creo hay que firmar un contrato que la aeat te tiene que registrar y por lo visto llevan bastante retraso.


Por otro lado, yo en particular pienso que si el programa estuviera en la nube y yo controlara mi certificado para todos los clientes a la vez igual me lo planteaba pero eso de instalar tu certificado en cada máquina de cada cliente y mantenerlo lo veo engorroso aparte de peligroso. Por esto, aunque sea un coñazo, uso los certificados de los clientes avisando cuando queda un periodo razonable para su caducidad para que ellos mismos lo vayan renovando.

wilecoyote 27-10-2025 13:32:29

Tienes que firmar un convenio de colaborador social con la AEAT, igual que hacen los gestores. Se han inventado una modalidad de colaborador nueva (el tipo 17, creo recordar que lo llamaban).

espinete 27-10-2025 14:02:58

Pues por ahora, pasando del tema...

emailesc 28-10-2025 07:13:34

Nosotros somos colaboradores sociales, pero solo enviamos con el acuerdo de representación y nuestro certificado en los envíos en el ERP que está en nuestros servidores; las instalaciones de la parte del software que va en los locales envía con el certificado del cliente. La razón es que es más delicado gestionar los certificados ajenos en tus instalaciones que el tuyo propio, además de que eso de que te den un certificado electrónico siempre es delicado, y si encima no es sello sino certificado de representante, es casi una temeridad por parte del cliente.
Efectivamente hay que suscribir un acuerdo con Hacienda y cada cliente además tiene que firmarte un acuerdo en el que te autoriza a mandar a Verifactu representándole. La documentación y el proceso de firma son fáciles, pero luego por la parte de Hacienda tiene que firmar nosequien y en eso les ha llevado más de un mes.
Para los envíos puedes utilizar sello y certificado de representante. En nuestro caso enviamos con sello lo de los clientes, dejando el certificado para las operaciones propias. No obstante la firma de los acuerdos sí la tienes que hacer con certificado de representante, no vale el sello. Lo que registran en sí para luego autorizar los envíos es la empresa representante, no el sello que utiliza.

espinete 30-10-2025 14:42:35

Una duda sobre el uso de los certificados...

En principio, y por ahora, solo hace falta firmar con certificado digital los envíos, no el XML del RF.
Nuestra aplicación realiza los envíos desde un solo PC (Servidor), por lo que en teoría, solo haría falta instalar/usar el certificado en el PC Servidor, que es quien firma y envía.

Peeeero...

Para consultar si un NIF es válido (si está identificado en la AEAT, etc.) sí se requiere certificado, y esa validación se hace en cualquier PC, no solo en el Servidor, por lo que tendría que tener también el certificado en todos los PCs si quiero usar el webservice de la Aeat para validar NIFs (y otros).

Tenemo cliente que dice que no le parece muy seguro que el certificado esté instalado en todos los PCs, porque no se fían de lo que pueden hacer los empleados (como si se fueran a presentar modelos trimestrales, pero bueno...).

Total... ¿hay alguna forma de evitar esto?

Lo ideal sería guardar el certificado en la BD, para poder "rescatarlo" desde los demás PCs y poder usar el webservice de consulta/validación de NIFs, sin necesidad de instalarlo en todos los PCs, pero no tengo mucha experiencia con esto y no sé si es posible.

Creo que tengo un proyecto antiguo en el que hacía algo parecido para firmar archivos PDFs, donde guardaba el certificado en la BD como Stream y lo importaba luego desde otros PCs para la firma, pero no sé si en qué formato requiere ese webservice el certificado.

Carlos 30-10-2025 15:17:33

Cita:

Empezado por espinete (Mensaje 569173)
Una duda sobre el uso de los certificados...

En principio, y por ahora, solo hace falta firmar con certificado digital los envíos, no el XML del RF.
Nuestra aplicación realiza los envíos desde un solo PC (Servidor), por lo que en teoría, solo haría falta instalar/usar el certificado en el PC Servidor, que es quien firma y envía.

Peeeero...

Para consultar si un NIF es válido (si está identificado en la AEAT, etc.) sí se requiere certificado, y esa validación se hace en cualquier PC, no solo en el Servidor, por lo que tendría que tener también el certificado en todos los PCs si quiero usar el webservice de la Aeat para validar NIFs (y otros).

Tenemo cliente que dice que no le parece muy seguro que el certificado esté instalado en todos los PCs, porque no se fían de lo que pueden hacer los empleados (como si se fueran a presentar modelos trimestrales, pero bueno...).

Total... ¿hay alguna forma de evitar esto?

Lo ideal sería guardar el certificado en la BD, para poder "rescatarlo" desde los demás PCs y poder usar el webservice de consulta/validación de NIFs, sin necesidad de instalarlo en todos los PCs, pero no tengo mucha experiencia con esto y no sé si es posible.

Creo que tengo un proyecto antiguo en el que hacía algo parecido para firmar archivos PDFs, donde guardaba el certificado en la BD como Stream y lo importaba luego desde otros PCs para la firma, pero no sé si en qué formato requiere ese webservice el certificado.

Yo hago las consultas de NIF con curl.exe usando un certificado en formato .pem NO instalado en el PC.
No es la panacea pero al menos si desde el browser quiere usar el certificado no lo tendrá instalado ni lo verá.

newtron 30-10-2025 16:41:35

Cita:

Empezado por espinete (Mensaje 569173)
Una duda sobre el uso de los certificados...

En principio, y por ahora, solo hace falta firmar con certificado digital los envíos, no el XML del RF.
Nuestra aplicación realiza los envíos desde un solo PC (Servidor), por lo que en teoría, solo haría falta instalar/usar el certificado en el PC Servidor, que es quien firma y envía.

Peeeero...

Para consultar si un NIF es válido (si está identificado en la AEAT, etc.) sí se requiere certificado, y esa validación se hace en cualquier PC, no solo en el Servidor, por lo que tendría que tener también el certificado en todos los PCs si quiero usar el webservice de la Aeat para validar NIFs (y otros).

Tenemo cliente que dice que no le parece muy seguro que el certificado esté instalado en todos los PCs, porque no se fían de lo que pueden hacer los empleados (como si se fueran a presentar modelos trimestrales, pero bueno...).

Total... ¿hay alguna forma de evitar esto?

Lo ideal sería guardar el certificado en la BD, para poder "rescatarlo" desde los demás PCs y poder usar el webservice de consulta/validación de NIFs, sin necesidad de instalarlo en todos los PCs, pero no tengo mucha experiencia con esto y no sé si es posible.

Creo que tengo un proyecto antiguo en el que hacía algo parecido para firmar archivos PDFs, donde guardaba el certificado en la BD como Stream y lo importaba luego desde otros PCs para la firma, pero no sé si en qué formato requiere ese webservice el certificado.


Para las consultas de los nifs nosotros hemos montado un pequeño servicio web que llamas desde el programa y este servicio usa nuestro certificado para hacer la consulta.


Sobre el tema de instalar el certificado en los terminales... no solamente es en los terminales, hay negocios en los que no están los propietarios y que no les da buen rollo (y con razón) tener un certificado instalado. Para esto la solución es usar el certificado en fichero abriéndolo cada vez con la clave.


Saludos.

espinete 30-10-2025 17:21:20

Cita:

Empezado por newtron (Mensaje 569189)
Para las consultas de los nifs nosotros hemos montado un pequeño servicio web que llamas desde el programa y este servicio usa nuestro certificado para hacer la consulta.

Sobre el tema de instalar el certificado en los terminales... no solamente es en los terminales, hay negocios en los que no están los propietarios y que no les da buen rollo (y con razón) tener un certificado instalado. Para esto la solución es usar el certificado en fichero abriéndolo cada vez con la clave.

Saludos.

Creo que vamos a tener que decantarnos por montar un pequeño servicio web con nuestro certificado propio para poder hacer la consulta de validación del NIF. Queríamos descartar esa opción para evitar saturar el servidor, o ralentizar la consulta, pero no queda otra.

Es eso o exigir a los clientes instalar su certificado en todos los PCs.

Y todo porque ese dichoso webservice necesita un certificado "completo" con autenticación de cliente, no le vale otro tipo o formato.

(y luego está la otra opción: no validar los NIFs y si da error, que se busque la vida el usuario rectificando la factura cuando tenga el NIF correcto :D)

newtron 30-10-2025 18:54:05

Cita:

Empezado por espinete (Mensaje 569196)
Creo que vamos a tener que decantarnos por montar un pequeño servicio web con nuestro certificado propio para poder hacer la consulta de validación del NIF. Queríamos descartar esa opción para evitar saturar el servidor, o ralentizar la consulta, pero no queda otra.

Es eso o exigir a los clientes instalar su certificado en todos los PCs.

Y todo porque ese dichoso webservice necesita un certificado "completo" con autenticación de cliente, no le vale otro tipo o formato.

(y luego está la otra opción: no validar los NIFs y si da error, que se busque la vida el usuario rectificando la factura cuando tenga el NIF correcto :D)


Nosotros hemos optado por el servicio web precisamente para no tener que instalar un certificado en cada equipo, lo cual complica muy mucho la cosa. Por otro lado lo de no validar los nifs.... puffffffffffffff..... cualquier cosa que hagas para que el cliente no tenga problemas te ahorrará esos problemas porque al final llegan a ti así que yo intentaría que no se emitiera una factura sin un mínimo de control.

keno_71 01-11-2025 12:27:06

yo he convertido el p12 a pfx, guardo la contraseña encriptada en la base de datos y cuando van a verificar un nif, utilizo el pfx cargando en ese momento la contraseña que guardó el cliente. El usuario que verifica nif no selecciona nada.

emailesc 01-11-2025 12:52:49

Nosotros en los locales sí ponemos el certificado en cada TPV, ya que puesto en uno, el ponerlo en los demás lo consideramos un riesgo aceptable. Los instalamos es el almacén de windows, cuenta de usuario, en el almacén del local user, no exportable y con los permisos de lectura restringidos a nuestra aplicación. También queremos poner una auditoría de accesos que nos ha explicado ChatGPT, pero ya veremos. Como imaginareis los certificados los instalamos nosotros, como somos pobres y tenemos pocos clientes podemos hacerlo, los que los tengáis a miles (:mad:) automatizar la instalación sí puede ser complicado. Aparte de que en nuestro caso dejamos los registros de facturación firmados (aunque no hace falta) y la verificación de clientes, si tienes varios TPV's y se rompe el que envía, si en los demás no tienes el certificado no puedes cambiarlo o sustituirlo rápido.

yui 03-11-2025 08:11:56

Buenas, a mi me entra la duda, si en mi empresa tenemos nuestro propio SIF, que operamos con nuestro certificado y llevamos el de varios clientes finales, si ofrecemos la posibilidad de operar con el certificado de algun cliente final en vez del nuestro, tendria alguna implicacion? contanto que nuestro sif es una unica instancia en la nube, seria posible en el mismo hacer envios con un certificado u otro segun vaya a mandar?? o tendria que ser una instancia aparte sobre el mismo SIF pero solo para ese cliente ?


La franja horaria es GMT +2. Ahora son las 11:23:34.

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