![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
Código PHP:
|
|
#2
|
|||
|
|||
|
Cita:
Será que son más tikismikis ![]() |
|
#3
|
|||
|
|||
|
Firma y envío en PHP (problema certificados)
Buenas.
Siento hablar de PHP aquí, pero estoy partiendo del código de Bilbur para firmar y enviar en PHP y estoy atascado con los certificados. Con tanto tipo de certificado (.pem, .pfx, .cer, .crt...), privatekey, publickey, etc. ya me estoy volviendo loco. - Para firmar el XML uso el código de Bilbur, que necesita un archivo .PFX o .P12 y la contraseña. - Pero para el envío (CURL) se necesitan archivos .PEM, o al menos yo no he conseguido enviar con el .PFX o .P12 Ahora mismo puedo firmar y enviar con PHP, salvo por esta peculiaridad. Además, no veo viable tener que almacenar las contraseñas de los certificados. Sé que es posible convertir desde .PFX/.P12 a .PEM, y generar lo que haga falta, pero eso exigiría que el usuario suba el archivo en formato .PFX para yo poder hacer el resto y generar los .PEM en el servidor. Pero creo que el .PFX es exclusivo de Windows, por lo que los usuarios con Mac o Linux solo tendrán .CER o .PEM, y con estos no puedo firmar. Actualmente lo que hago es precisamente eso: permito al usuario subir su certificado en .PFX o .P12 y genero los .PEM y .CER necesarios, pero sigo necesitando el .P12/.PFX y la contraseña para firmar. ¿Alguien ha conseguido firmar el XML solo con .PEM? |
|
#4
|
|||
|
|||
|
Cita:
Por lo que comentas, me da la sensación de que tienes alguna plataforma donde la gente se suscribe, y las facturas salen desde vuestra plataforma. Si es así, ¿por qué no utilizas un certificado único de dispositivo? |
|
#5
|
|||
|
|||
|
Pues la verdad es que no lo había considerado.
Me centré en hacer lo que ya tenía hecho en Delphi para pasarlo a PHP tal cual, y me había olvidado completamente de esa posibilidad. O sea... que puedo firmar todo (XML y envío) con un solo "certificado de dispositivo"? Tengo que investigar más sobre esto, porque hasta ahora no me lo había ni planteado y no sé si a estas alturas va a ser más complicado o más fácil cambiar. |
|
#6
|
|||
|
|||
|
Cita:
Te cito del FAQ de Izenpe: ¿Puedo usar un mismo dispositivo para facturar distintas empresas? ¿en ese caso debo tener certificados distintos? Si, puedes tener un dispositivo que facture para varias entidades diferentes. Se deberá vincular dicho dispositivo y su certificado con cada uno de los obligados tributarios en la Hacienda Foral correspondiente. ( https://www.izenpe.eus/faqs/pregunta...cnempresas/es/ ) Nosotros tenemos un software desarrollado para uso propio, pero emite para tres CIF diferentes (nuestros). Todo lo hacemos con el mismo certificado de dispositivo de Izenpe (gratuito, 10 años). - Firma: Usando el firmador que mencionas, con el fichero P12/PFX. - Conexión con Hacienda para enviar: El mismo certificado, convertido a PEM por mí mismo en el propio servidor. Para la firma no tiene misterio, es meter los valores de certificado y contraseña. Para el envío, por si te sirve, hago un "file_get_contents" con un Context, donde cargo el certificado: Código PHP:
|
|
#7
|
|||
|
|||
|
005: El fichero ya se ha recibido anteriormente.
Este es un asunto más bien fiscal... Esta es la situación:
1.- Envío factura a Gipuzkoa (Serie A. Nº 22. Fecha 8/11/2022). 2.- Hago rectificativa de esa factura (Serie A. Nº 22. Fecha 8/11/2022). Misma serie, mismo número, misma fecha. 3.- Genero código QR, la imprimo pero al enviarla la Diputación no la acepta. dice que "005: El fichero ya se ha recibido anteriormente." Obviamente hay un error en la serie y número, pero la factura ya está emitida, así que ¿Qué solución hay? ¿Anularla y generar la rectificativa como debiera ser, con su serie independiente y el número que corresponda? No hay otra opción ¿No? Muchas gracias Última edición por unomasmas fecha: 16-11-2022 a las 19:54:31. Razón: mejora de formato |
|
#8
|
|||
|
|||
|
Cita:
Nosotros estamos desarrollando un software de facturación en la nube, alojado en Azure (no es un servidor, sino un Web App Service). No creo que haya forma de obtener un número de serie o algo parecido, aunque ahora mismo eso no me preocupa. Lo que me confunde un poco es que en los primeros mensajes del hilo se comentaba que el "certificado de dispositivo" lo iban a terminar quitando, y que todo se podía hacer con un certificado normal de empresa, de persona física, de representante... o el que sea. En nuestro software de escritorio sí usamos el certificado propio de cada usuario para firmar y enviar. Obviamente está instalado en su equipo. No usamos un certificado nuestro (fabricante) ni de dispositivo. Si compro (u obtengo gratis ese de Izenpe) un "certificado de dispositivo", y lo subo al servidor... ¿puedo usar ese .pfx (o .cer, .pem o como sea) para firmar y para enviar, aunque el Emisor sean CIFs y Razones Sociales diferentes? Entiendo que nuestros clientes tendrían que validar o "aceptar" ese certificado en el portal de la hacienda correspondiente para permitir firmar/enviar en su nombre? De todas formas, preguntaré a Gipuzkoa y demás para que me aclaren las peculiaridades de este método, y sobre todo, qué debe hacer el usuario final, que luego las preguntas me las harán a mi. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice | newtron | Internet | 3716 | 19-01-2026 20:01:34 |
| Como utilizar la ayuda del nuevo Sistema Operativo | gluglu | Humor | 3 | 24-09-2007 09:39:05 |
| Aplicacion Agencia De Viajes | ArdiIIa | Varios | 9 | 20-01-2007 16:49:53 |
| El Vasco Aguirre | Al González | La Taberna | 5 | 26-05-2006 09:22:28 |
| Microsoft ha lanzado su nuevo sistema operativo | DarkByte | Humor | 0 | 25-01-2004 09:21:14 |
|