Cita:
Empezado por carlosMorell
Buenos días,
muchas gracias por tu respuesta. Si que había pensado una solución basada en php, o quizás hago una dll en C++ para que sea todo mas rápido. La duda que me queda, es si es posible automatizarlo tanto que no sea necesario que el usuario seleccione el certificado del almacén. Y si el certificado de dispositivo y de entidad empresarial pueden ser el mismo. Es decir, es uno de los dos, no los dos certificados simultáneamente. Que la documentación al respecto es muy confusa.
Gracias de antemano
Carlos
|
Hola carlosMorell,
Creo que te estás liando un poco.
A ver, lo importante es usar un certificado para:
- Firmar el XML
- Enviar el XML a Hacienda Foral
Se pueden dar dos casos:
1.- Estás firmando en el mismo equipo que factura. Esto se llama, según la normativa, "arquitectura con firma en cliente"
2.- Estás firmando en un servidor (equipo diferente al que factura). Entonces es "arquitectura con firma en servidor".
Para el caso 1 se pueden emplear para la firma:
- Certificado de persona física
- Certificado de representante de entidad
- Certificado de autónomo (estreno en nuestras pantallas

)
- Sello de empresa
- Certificado de dispositivo (de Izenpe, gratis y para 10 años)
Para el caso 2, se admiten los mismos certificados que para el caso 1, a excepción del certificado de dispositivo, que no es válido en este caso de "arquitectura con firma en servidor".
Otro tema separado es la firma de la aplicación.
Este caso es si la aplicación de facturación (con software garante) se distribuye e instala mediante un único fichero (clásico fichero .exe para Windows)
En este caso, se precisa que el fichero que se distribuye vaya firmado con un certificado de aplicación (que es un engendro raro y caro que venden algunos proveedores de este tipo de productos) que dirá en el momento de la instalación que el fichero está firmado por la entidad tal y cual.
Y, en este caso, se deben guardar las versiones anteriores para posibles inspecciones.
Mi consejo es el de siempre: mejor firma en una máquina diferente a la que factura y a la que no tenga acceso de manipulación el cliente.
Más que nada para evitar que tú, como desarrollador puedas ir a la cárcel por manipulación
Saludos