Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
Cita:
Empezado por Sanduzelai Ver Mensaje
Perfecto! es lo que había leído pero era por saber si hacíais algo diferente para evitarlo
Gracias!
Hombre, si es un software para clientes, y quieres dejarlo lo más pulido posible por evitar preguntas una y otra vez, no envíes el bloque de encadenamiento.

En la primera factura yo envié el bloque "HuellaTBAI" sin encadenamiento, solamente el bloque "Software", y no me ha dado ningún aviso.

Básicamente lo que hago es, si el dispositivo ha emitido una factura anteriormente, la pongo, si no, nada.
Responder Con Cita
  #2  
Antiguo 15-11-2022
Sanduzelai Sanduzelai is offline
Miembro
 
Registrado: ago 2021
Posts: 44
Poder: 0
Sanduzelai Va por buen camino
Cita:
Empezado por Irreo Ver Mensaje
Hombre, si es un software para clientes, y quieres dejarlo lo más pulido posible por evitar preguntas una y otra vez, no envíes el bloque de encadenamiento.

En la primera factura yo envié el bloque "HuellaTBAI" sin encadenamiento, solamente el bloque "Software", y no me ha dado ningún aviso.

Básicamente lo que hago es, si el dispositivo ha emitido una factura anteriormente, la pongo, si no, nada.
Si, es lo que he hecho. Mando este bloque con los datos correctos pero aun así me ha dado ese aviso:
Código PHP:
<HuellaTBAI>
    <
Software>
      <
LicenciaTBAI>xxx</LicenciaTBAI>
      <
EntidadDesarrolladora>
        <
NIF>xxx</NIF>
      </
EntidadDesarrolladora>
      <
Nombre>xxx</Nombre>
      <
Version>xxx</Version>
    </
Software>
  </
HuellaTBAI
Responder Con Cita
  #3  
Antiguo 15-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
Cita:
Empezado por Sanduzelai Ver Mensaje
Si, es lo que he hecho. Mando este bloque con los datos correctos pero aun así me ha dado ese aviso
Ah, pues igual es cosa de esa delegación... yo he trabajado solo con Gipuzkoa, y por el momento no me ha salido nada.

Será que son más tikismikis
Responder Con Cita
  #4  
Antiguo 16-11-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
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?
Responder Con Cita
  #5  
Antiguo 16-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
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?
Buenas,

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?
Responder Con Cita
  #6  
Antiguo 16-11-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
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.
Responder Con Cita
  #7  
Antiguo 16-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
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.
Puedes emitir desde un dispositivo para varios CIF. Lo único, después de la primera emisión, la empresa en cuestión tiene que ir a su Sede Electrónica, al área de "registro de dispositivos", y aceptarlo como válido (esto quizás es así siempre, pero lo comento por si acaso).

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:
                     $opts = array(
                            
"ssl" => array(
                                
"local_cert" => $appConfig["certificate"],
                                
"passphrase" => $appConfig["certificate_password"],
                                
"allow_self_signed"    => true,
                                
"cafile" => $appConfig["certificate"],
                                
"capath" => $appConfig["base_path"],
                                
"verify_peer" => false
                            
),
                            
"http" => array (
                                
"method" => "POST",
                                
"ignore_errors" => true,
                                
"timeout" => 9// Por ahora 9 segundos porque el proceso se ejecuta cada 10 segundos
                                
"header" =>
                                
"Accept-language: es\r\n".
                                
"Content-type: application/xml;charset=UTF-8\r\n",
                                
"content" => $xmlSent
                            
)
                        );

                        
$context stream_context_create($opts);

                        
$haciendaResult file_get_contents($apiServicefalse$context); 
Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 23:35:44.


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
Copyright 1996-2007 Club Delphi