Ver Mensaje Individual
  #1248  
Antiguo 08-08-2021
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Reputación: 5
Sistel Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
Hasta ahora, en desarrollo, guardo las contraseñas de los certificados .pfx en texto claro.
Evidente que esto no puede ser en producción.


Estoy haciendo lo siguiente:


Mediante formulario solicito al cliente su certificado.pfx y su contraseña de importación (la cual no "veo")


Guardo en el directorio que corresponde su certificado.pfx

lo paso y guardo a certificado.pem

y guardo la contraseña encriptada en certificado.pass


De este modo No guardo las contraseñas de importación del certificado y firma en texto claro.


A la hora de la firma desencripto la contraseña guardada en certificado.pass, firmo y destruyo la contraseña desencriptada. (mini modificación firmador.php probado y funcionando)



Cierto es que al final todo depende de la contraseña de encriptar desencriptar, la cual puede ser autogenerada por combinaciones de cif cliente, cif desarrollador, fechas, etc.


Seguro que se me pasa algo y mi pregunta es, ¿Vosotros cómo lo habéis planteado?


Un saludo y gracias


Si alguien necesita el script en PHP para pasar y guardar los certificados.pfx a .pem y .pass que lo diga y lo subo.
Hola bilbur,

Está bien pensado el tema de encriptar la contraseña del certificado del cliente.
Toda protección es poca.

En mi caso, todas mis aplicaciones son webs en Internet.
No pido a mis clientes ningún certificado digital.
Firmo yo los XML de sus facturas con mi propio certificado digital.
Y marco los XML como factura emitida por tercero (nodo EmitidaPorTercerosODestinatario)
Por supuesto, hago un contrato con mis clientes por el que me autorizan a dicha emisión y al envío de sus facturas a Hacienda.

Me da auténtico repelús dejar una aplicación en manos de un cliente (y más en este caso del software garante TicketBAI en el que las multas son de órdago).
Así que les monto una API para que su sistema de facturación se conecte con mi aplicación, que se encarga de todo (confeccionar el XML, firmarlo, almacenarlo, crear el código TBAI, crear el código QR y enviar el XML firmado a Hacienda)

Saludos
Responder Con Cita