Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco (https://www.clubdelphi.com/foros/showthread.php?t=94264)

luismartin 26-05-2021 16:44:16

Cita:

Empezado por Sistel (Mensaje 541057)
Hola luismartin,

Cuando ya tienes convertido el certificado a formato PEM, ya no necesitas la clave.
Puedes quitar la línea curl_setopt($ch, CURLOPT_SSLKEYPASSWD, $clave);
Tampoco se necesita el certificado CA de la Autoridad Certificadora.
Así que puede quitar también curl_setopt($ch, CURLOPT_CAINFO, PATH_TEMP . '/ca.pem');

Saludos

Gracias Sistel! No tenía ni idea. El tema de los certificados y firmas digitales es muy alien para mi.

Sistel 26-05-2021 16:49:57

Cita:

Empezado por Band (Mensaje 541056)
Cierto, falta el content-length pero de momento no se me ha quejado de esto. Si me da algún tipo de problema ya lo pondré. El content-type ya digo, yo tuve que cambiar el "application/octet-stream" por "application/xml;charset=UTF-8". Esto lo encontré en algún documento de FAQ para desarrolladores (concretamente el documento se llama "Problemas y dudas frecuentes en servicios de alta y anulación de facturas"). Lo encontré de chiripa poniendo "ticket bai error 415" en google

Hola Band,

Es diferente el caso de envío a Bizkaia (en LROE) al caso de envío a Gipuzkoa (envío directo inmediato).
En el caso de Bizkaia (LROE):
Código:

Content-Type: application/octet-stream
eus-bizkaia-n3-content-type: application/xml

En el caso de Gipuzkoa (envío directo inmediato):
Código:

Content-Type: application/xml;charset=UTF-8
Saludos

luismartin 26-05-2021 16:56:17

Cita:

Empezado por tejano (Mensaje 541058)
Te doy las instrucciones para la DBF con la línea de comando de autofirma "autofirmacommandline"

AutoFirmaCommandLine.exe sign
-i nombre_fichero
-o nombre_fichero_firmado
-store pkcs12:nombre_certificado.p12
-password contraseña_certificado
-filter nombre_certificado.p12
-format xades -xml
-config "format=XAdES Enveloped
\npolicyIdentifier=..../fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf
\npolicyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=
\npolicyIdentifierHashAlgorithm=..../2001/04/xmlenc#sha256
\npolicyQualifier=.../fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf

A mi me funciona bien, aunque tarda unos 3 sg por cada fichero.

Esto lo pusieron en el foro hace algún tiempo y me ayudo mucho.

Hola tejano. Sí, justo eso es lo que decía que había probado después del primer error. Lo he probado de nuevo, y sigo con el mismo error (de nuevo tengo que quitar los enlaces que hay dentro del formato, porque de momento, no me deja publicar si los pongo):

Código:

No se reconoce el parametro -config=format=XAdES Enveloped
policyIdentifier=...sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf
policyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=
policyIdentifierHashAlgorithm=.../2001/04/xmlenc#sha256
policyQualifier=.../fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf


Sistel 26-05-2021 16:56:25

Cita:

Empezado por luismartin (Mensaje 541059)
Gracias Sistel! No tenía ni idea. El tema de los certificados y firmas digitales es muy alien para mi.

Normal.
Para mí también el tema de certificados digitales era territorio comanche ... hasta hace poco. :D

Saludos

Sistel 26-05-2021 17:01:48

Cita:

Empezado por tejano (Mensaje 541058)
Te doy las instrucciones para la DBF con la línea de comando de autofirma "autofirmacommandline"

AutoFirmaCommandLine.exe sign
-i nombre_fichero
-o nombre_fichero_firmado
-store pkcs12:nombre_certificado.p12
-password contraseña_certificado
-filter nombre_certificado.p12
-format xades -xml
-config "format=XAdES Enveloped
\npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf
\npolicyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=
\npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256
\npolicyQualifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf

A mi me funciona bien, aunque tarda unos 3 sg por cada fichero.

Esto lo pusieron en el foro hace algún tiempo y me ayudo mucho.

Hola tejano,

Yo también probé Autofirma para este tema de TicketBAI.
(Aunque odio con todas mis fuerzas las aplicaciones en Java :mad: )
Y también noté que tardaba del orden de segundos la firma de cada fichero.

Me puse a desarrollarlo en PHP (y sin librerías externas).
Y ahora la generación del XML y su firma tardan en total unos 15 milisegundos.

Saludos

luismartin 26-05-2021 17:06:26

Cita:

Empezado por Sistel (Mensaje 541063)
Hola tejano,

Yo también probé Autofirma para este tema de TicketBAI.
(Aunque odio con todas mis fuerzas las aplicaciones en Java :mad: )
Y también noté que tardaba del orden de segundos la firma de cada fichero.

Me puse a desarrollarlo en PHP (y sin librerías externas).
Y ahora la generación del XML y su firma tardan en total unos 15 milisegundos.

Saludos

Y, ese programa PHP que hiciste para la firma... se puede compartir?? :rolleyes: :o

Sistel 26-05-2021 17:20:02

Cita:

Empezado por luismartin (Mensaje 541064)
Y, ese programa PHP que hiciste para la firma... se puede compartir?? :rolleyes: :o

Hola luismartin,

Estaba atrancado con la firma (me daba errores).
Nuestro colega Bilbur publicó su clase Firmador en PHP en este mismo hilo
Que funciona de maravilla y me permitió entender los errores que hasta entonces tenía.

La tienes en:
https://www.clubdelphi.com/foros/sho...&postcount=539

Saludos

luismartin 26-05-2021 17:26:46

Cita:

Empezado por Sistel (Mensaje 541065)
Hola luismartin,

Estaba atrancado con la firma (me daba errores).
Nuestro colega Bilbur publicó su clase Firmador en PHP en este mismo hilo
Que funciona de maravilla y me permitió entender los errores que hasta entonces tenía.


Saludos

Ah, genial! No lo había visto!
Voy a probarlo con ello. Gracias a los dos! ^\||/^\||/^\||/

tejano 26-05-2021 17:29:16

Cita:

Empezado por luismartin (Mensaje 541061)
Hola tejano. Sí, justo eso es lo que decía que había probado después del primer error. Lo he probado de nuevo, y sigo con el mismo error (de nuevo tengo que quitar los enlaces que hay dentro del formato, porque de momento, no me deja publicar si los pongo):

Código:

No se reconoce el parametro -config=format=XAdES Enveloped
policyIdentifier=...sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf
policyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=
policyIdentifierHashAlgorithm=.../2001/04/xmlenc#sha256
policyQualifier=.../fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf


Creo que te faltan unas comillas y sobre el símbolo "=" debería ser así
-config "format=XAdES Enveloped

HerensugeBeltz 26-05-2021 18:00:15

Cita:

Empezado por Noe277 (Mensaje 541051)
En cuanto a HerensugeBeltz. Nosotros guardamos en local el certificado que vamos a usar para que no nos lo pida cada vez, aunque la contraseña si la pide. Hay maneras de instalar el certificado para que no pida la contraseña pero esto ya es externo a la aplicación es mas del almacén de certificados.

Muchas gracias!!

Band 26-05-2021 18:22:23

Cita:

Empezado por Sistel (Mensaje 541060)
Hola Band,

Es diferente el caso de envío a Bizkaia (en LROE) al caso de envío a Gipuzkoa (envío directo inmediato).
En el caso de Bizkaia (LROE):
Código:

Content-Type: application/octet-stream
eus-bizkaia-n3-content-type: application/xml

En el caso de Gipuzkoa (envío directo inmediato):
Código:

Content-Type: application/xml;charset=UTF-8
Saludos


Gracias por esta aclaración! Es que manda... ya bastante tedioso es controlar como lo tiene cada pais, que encima nosotros nos liamos más :mad:. Ya solo queda que cada ciudad tribute diferente... aunque espero que ningún político lumbreras lea esto :rolleyes:

keys 27-05-2021 09:02:09

Hola a todos.

Para los de delphi o no. El lunes al realizar envíos a Bizkaia, resulta que me empezó a dar errores del servidor y se había estado enviando sin problemas hasta ahora. Después de envíar la consulta a hacienda me dijeron que el problema es que habían tocado algo y el sistema ya no aceptaba saltos de línea ni retornos de carro en el campo TicketBai, es decir donde va el fichero TicketBai en Base64.

Me dijeron que lo volvían a cambiar y ya esta funcionando como antes.

Y ahora al grano, la función que estamos utilizando para pasar a Base64 en delphi esta devolviendo saltos de linea y retornos de carro. He modificado la función para que no tenga en cuenta esos caracteres y salga todo en una misma linea como en los ejemplo de hacienda.

Código Delphi [-]
 
function DevolverFicheroBase64(Nfichero:string): string; //nfichero es el fichero xml de TBai a enviar
var
     ListaFichero : TStringList;
     Base64: TBase64Encoding;
     i : integer;
     resultado : string;
begin
   ListaFichero := TStringList.Create;
   ListaFichero.LoadFromFile(NFichero);
   Base64 := TBase64Encoding.Create;
   resultado := Base64.Encode(ListaFichero.Text);
   Base64.Destroy;
   ListaFichero.Destroy;

   result := '';
   for i := 1 to Length(resultado) do
    if (resultado[i] = Char(13)) or (resultado[i] = Char(10)) then //Vamos a quitarles los saltos de linea y retornos de carro
    else
     result := result + resultado[i];


end;

rci 27-05-2021 11:34:02

Gipuzkoa - Error en el servidor remoto: (503) Servidor no disponible
 
Hola, hace un par de días que cuando intento enviar a Gipuzkoa me da un error:


Error en el servidor remoto: (503) Servidor no disponible.


¿Os funciona a vosotros?
Antes me funcionaba sin problema y no he cambiado nada.

Estoy utilizando la url que indica en el documento de guía de entorno de pruebas ticketBAI

https://tbai-prep.egoitza.gipuzkoa.e...nFacturas/alta


Muchas gracias. Saludos





Cita:

Empezado por keys (Mensaje 541073)
Hola a todos.

Para los de delphi o no. El lunes al realizar envíos a Bizkaia, resulta que me empezó a dar errores del servidor y se había estado enviando sin problemas hasta ahora. Después de envíar la consulta a hacienda me dijeron que el problema es que habían tocado algo y el sistema ya no aceptaba saltos de línea ni retornos de carro en el campo TicketBai, es decir donde va el fichero TicketBai en Base64.

Me dijeron que lo volvían a cambiar y ya esta funcionando como antes.

Y ahora al grano, la función que estamos utilizando para pasar a Base64 en delphi esta devolviendo saltos de linea y retornos de carro. He modificado la función para que no tenga en cuenta esos caracteres y salga todo en una misma linea como en los ejemplo de hacienda.

Código Delphi [-] function DevolverFicheroBase64(Nfichero:string): string; //nfichero es el fichero xml de TBai a enviar var ListaFichero : TStringList; Base64: TBase64Encoding; i : integer; resultado : string; begin ListaFichero := TStringList.Create; ListaFichero.LoadFromFile(NFichero); Base64 := TBase64Encoding.Create; resultado := Base64.Encode(ListaFichero.Text); Base64.Destroy; ListaFichero.Destroy; result := ''; for i := 1 to Length(resultado) do if (resultado[i] = Char(13)) or (resultado[i] = Char(10)) then //Vamos a quitarles los saltos de linea y retornos de carro else result := result + resultado[i]; end;


luismartin 27-05-2021 11:41:57

Cita:

Empezado por rci (Mensaje 541077)
Hola, hace un par de días que cuando intento enviar a Gipuzkoa me da un error:


Error en el servidor remoto: (503) Servidor no disponible.


¿Os funciona a vosotros?
Antes me funcionaba sin problema y no he cambiado nada.

Estoy utilizando la url que indica en el documento de guía de entorno de pruebas ticketBAI


Muchas gracias. Saludos

Eso me estaba sucediendo ayer. Ahora recibo otro error de servidor 503, con el código de error del servicio web: 006, y la descripción:
Error inesperado en la verificación del certificado remitente

luismartin 27-05-2021 12:00:24

Estoy usando la librería PHP que publicó Bilbur, la cual es de gran ayuda para la generación de la firma xades enveloped mediante PHP (a la mierda java y Autofirma!).
Sin embargo, lo que estoy recibiendo ahora, es un código http 503, pero con respuesta XML por parte del servidor, en la cual se indica:

Código:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">
<Salida>
<FechaRecepcion>27-05-2021 11:38:02</FechaRecepcion>
<Estado>01</Estado>
<Descripcion>Rechazado</Descripcion>
<Azalpena>Baztertua</Azalpena>
<ResultadosValidacion>
<Codigo>006</Codigo>
<Descripcion>Error inesperado en la verificación del certificado remitente.</Descripcion>
<Azalpena>Ustekabeko errorea bidaltzailearen ziurtagiria egiaztatzean.</Azalpena>
</ResultadosValidacion>
</Salida>
</ns2:TicketBaiResponse>

No he encontrado referencia a este error en la documentación oficial. En ella, el código 006 se refiere a "El servicio de recepción no está disponible. Repita la operación más tarde".
Sabéis algo de esto?

Band 27-05-2021 12:12:21

Cita:

Empezado por luismartin (Mensaje 541079)
Estoy usando la librería PHP que publicó Bilbur, la cual es de gran ayuda para la generación de la firma xades enveloped mediante PHP (a la mierda java y Autofirma!).
Sin embargo, lo que estoy recibiendo ahora, es un código http 503, pero con respuesta XML por parte del servidor, en la cual se indica:

Código:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">
<Salida>
<FechaRecepcion>27-05-2021 11:38:02</FechaRecepcion>
<Estado>01</Estado>
<Descripcion>Rechazado</Descripcion>
<Azalpena>Baztertua</Azalpena>
<ResultadosValidacion>
<Codigo>006</Codigo>
<Descripcion>Error inesperado en la verificación del certificado remitente.</Descripcion>
<Azalpena>Ustekabeko errorea bidaltzailearen ziurtagiria egiaztatzean.</Azalpena>
</ResultadosValidacion>
</Salida>
</ns2:TicketBaiResponse>

No he encontrado referencia a este error en la documentación oficial. En ella, el código 006 se refiere a "El servicio de recepción no está disponible. Repita la operación más tarde".
Sabéis algo de esto?

Me sucede exactamente lo mismo. Tengo mis dudas en que estemos enviando correctamente el certificado... que en mi caso y con curl lo hago así:

' --cert-type P12 --cert sello_entidad_act.p12:IZDesa2021 '

En este caso es un certificado de izenpe de prueba que cualquiera se puede descargar.

En el xml tengo puesto también, dentro de <Sujetos>:

<EmitidaPorTercerosODestinatario>T</EmitidaPorTercerosODestinatario>

Tal y como muy bien se me aconsejó.

El servicio no parece caído, por lo que si alguien soluciona este tema que comente el motivo o solución que haya encontrado.

HerensugeBeltz 27-05-2021 12:21:50

Cita:

Empezado por rci (Mensaje 541077)
Hola, hace un par de días que cuando intento enviar a Gipuzkoa me da un error:


Error en el servidor remoto: (503) Servidor no disponible.


¿Os funciona a vosotros?

Yo llevo toda la mañana probando y siempre devuelve lo mismo.
Estarán de mantenimiento.

rci 27-05-2021 12:27:14

No puedo hacer pruebas :(
 
Muchas gracias a todos.

A ver si lo solucionan pronto.


Ahora no puedo hacer pruebas, como en Araba no tienen entorno de pruebas y en Bizkaia va con un sistema distinto (que todavía no he desarrollado) pues no puedo seguir enviando ficheros TicketBAI firmados :(
A esperar.



Saludos



Cita:

Empezado por HerensugeBeltz (Mensaje 541081)
Yo llevo toda la mañana probando y siempre devuelve lo mismo.
Estarán de mantenimiento.


rci 28-05-2021 09:12:55

hoy tampoco funciona Gipuzkoa
 
Buenos días, acabo de hacer la prueba y hoy tampoco funciona el entorno de pruebas de Gipuzkoa, es muy extraño, llevan como mínimo 3 días sin funcionar!!!!:-|:(


Vaya "mantenimiento" mas largo... estarán preparando los cambios para el nuevo servicio "SUBSNAR"?:confused:


A ver si la semana que viene ya podemos volver a hacer pruebas...


Saludos





Cita:

Empezado por rci (Mensaje 541082)
Muchas gracias a todos.

A ver si lo solucionan pronto.


Ahora no puedo hacer pruebas, como en Araba no tienen entorno de pruebas y en Bizkaia va con un sistema distinto (que todavía no he desarrollado) pues no puedo seguir enviando ficheros TicketBAI firmados :(
A esperar.



Saludos


rci 28-05-2021 10:51:09

por fin ya funciona
 
Bueno al final parece que lo han solucionado y ahora he podido enviar un fichero firmado a Gipuzkoa


Muchas gracias,

Saludos


La franja horaria es GMT +2. Ahora son las 21:17:51.

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