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)

Mlopez 01-04-2022 09:31:20

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 546335)
Busca en la documentación el valor para esto:


Es posible que el valor correcto sea: iOgvkX7/yHIDRRiPy/LYQ0UUn7QV8/11D1BFbs8yMuQ=

Lo revisé y ajusté porque aunque el "value" era el correcto actual, el "method algorithm" lo estaba pasando como sha1 y tenía que ser sha256 para ese valor, pero aún así probaba a enviar y me seguía dando error al validar la fima.
Les escribí a soporte de Alava enviando el xml firmado que se validaba correctamente con el validador de izenpe y otros, y se ve que era algo de ellos porque me han contestado hoy esto y ahora ya me funciona correctamente todos los envíos sin cambiar nada :
Buenos días,
Por favor, en cuanto podáis volver a probar a realizar un envío y nos confirmáis de su resultado.
Un saludo y disculpen las molestias.
Gracias por la ayuda.

Neftali [Germán.Estévez] 01-04-2022 11:01:43

Cita:

Empezado por Sistel (Mensaje 546340)
Álava cambió hace poco su política de firma (ahora se permite certificado de dispositivo en arquitecturas de firma en servidor). La URL de la política de firma es la misma: https://ticketbai.araba.eus/tbai/sinadura/
Pero el hash ha cambiado. Hash de la política de Firma: d69VEBc4ED4QbwnDtCA2JESgJiw+rwzfutcaSl5gYvM=

Cita:

Empezado por Sistel (Mensaje 546341)
La política de firma de Gipuzkoa también cambió (por el mismo tema).
El nuevo hash es: vSe1CH7eAFVkGN0X2Y7Nl9XGUoBnziDA5BGUSsyt8mg=

Gracias.
Joer, te vas 3 semanas a otros temas y cuando vuelves ha cambiado todo. :(:(:(

Cita:

Empezado por Mlopez (Mensaje 546343)
ajusté porque aunque el "value" era el correcto actual,
el "method algorithm" lo estaba pasando como sha1 y tenía que ser sha256

=> Les escribí a soporte de Alava ... y se ve que era algo de ellos

Gracias por la info.

Sistel 01-04-2022 11:25:16

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 546345)
Gracias.
Joer, te vas 3 semanas a otros temas y cuando vuelves ha cambiado todo. :(:(:(
Gracias por la info.

Hola Neftali,

Sí, la verdad es que es un no parar de cambios.
Hay que estar siempre pendiente para ir reflejando los cambios que hagan en nuestras aplicaciones.

Supongo que Bizkaia también acabará aceptando el uso del certificado de dispositivo en servidores y cambiará su política de firmas.
Habrá que estar pendiente cuando lo haga, porque al igual que las otras Haciendas Forales, no creo que avisen.

Yo les escribí preguntándoles si iban a cambiarla (como ya lo han hecho Álava y Gipuzkoa), pero aún no he recibido contestación.

Algunas veces tardan una enormidad en contestar y, en algunas ocasiones, se les "pierden" las consultas y no responden hasta que no se les vuelve a recordar.
Es triste tener tan mal servicio de soporte (y sólo vía email) en un tema tan vital y obligatorio como éste.

Y muy triste, también, que haya que hacer consultas a cada una de las tres Haciendas Forales, por separado, sin tener un buzón único.

Saludos

pulido 01-04-2022 11:27:14

Problemas Enviar Xml A Bizcaya
 
Buenos días

estamos intentando enviar el fichero a Bizkaia y no ha manera , no encontramos el problema y estamos un poco desesperados , os pasamos el código completo que tenemos para enviarlo y nos da error al ejecutar
Código Delphi [-]
AResponse := NetHTTPClient1.Post('htttps://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena',RequestBody)

obtenemos el error "ERROR RECEIVING DATA 12030 LA CONEXION CON EL SERVIDOR FINALIZÓ ANORMALMENTE.

os paso el código completo que tenemos por si nos podéis decir algo os lo agradecería.

Código Delphi [-]
procedure TForm4.Button15Click(Sender: TObject);
var
json : string;
    RequestBody: TFileStream;
    AResponse: IHTTPResponse;
begin

   RequestBody := TFileStream.Create('E:\YYYYYYYYY\TicketBai_1-005461.gz', fmOpenRead);
    NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12];
    NetHTTPClient1.CustomHeaders['Accept-Encoding'] := 'gzip';
    NetHTTPClient1.CustomHeaders['Content-Encoding'] := 'gzip';
    NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/octet-stream';
    NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-version'] := '1.0';
    NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-content-type'] := 'application/xml';

    //Formamos los parametros json de entrada
    json := '{"con": "LROE", "apa": "1.1", "inte": {"nif": "XXXXXXX","nrs": "XXXXXXXXXX","ap1": "","ap2": ""},"drs": {"mode": "140","ejer": "2022"}}';

    NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-data'] := json;
    AResponse := NetHTTPClient1.Post('ht*tps://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena',RequestBody);
    memo1.Lines.Append(inttostr(AResponse.StatusCode)+' '+AResponse.StatusText);
    memo1.Lines.Append(AResponse.ContentAsString());

      if AResponse.ContainsHeader('eus-bizkaia-n3-mensaje-respuesta') then
        memo1.Lines.Append(AResponse.HeaderValue['eus-bizkaia-n3-mensaje-respuesta']);

    if AResponse.ContainsHeader('eus-bizkaia-n3-codigo-respuesta') then
        memo1.Lines.Append(AResponse.HeaderValue['eus-bizkaia-n3-codigo-respuesta']);

    if AResponse.ContainsHeader('eus-bizkaia-n3-tipo-respuesta') then
        memo1.Lines.Append(AResponse.HeaderValue['eus-bizkaia-n3-tipo-respuesta']);
end;

sEngine 04-04-2022 17:45:17

Cita:

Empezado por pulido (Mensaje 546347)
Buenos días

estamos intentando enviar el fichero a Bizkaia y no ha manera , no encontramos el problema y estamos un poco desesperados , os pasamos el código completo que tenemos para enviarlo y nos da error al ejecutar
Código Delphi [-]AResponse := NetHTTPClient1.Post('htttps://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena',RequestBody)


obtenemos el error "ERROR RECEIVING DATA 12030 LA CONEXION CON EL SERVIDOR FINALIZÓ ANORMALMENTE.

os paso el código completo que tenemos por si nos podéis decir algo os lo agradecería.


algo importante que ahi no veo pero podria ser, estais enviandolo con el certificado correspondiente?

Neftali [Germán.Estévez] 05-04-2022 09:48:32

Cita:

Empezado por pulido (Mensaje 546347)
Estamos intentando enviar el fichero a Bizkaia y no ha manera , no encontramos el problema y estamos un poco desesperados , os pasamos el código completo que tenemos para enviarlo y nos da error al ejecutar:
...
obtenemos el error "ERROR RECEIVING DATA 12030 LA CONEXION CON EL SERVIDOR FINALIZÓ ANORMALMENTE.
os paso el código completo que tenemos por si nos podéis decir algo os lo agradecería.

Aquí en este mensaje, tienes una recopilación de códigos utilizando diferentes componentes.
Revisa alguno de los códigos con NetClient y compáralo a ver si ves diferencias. Sobre todo los parámetros.
También revisa en tu petición el "Content-type" y "Content-Encoding"

pulido 05-04-2022 10:00:33

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 546394)
, tienes una recopilación de códigos[/url] utilizando diferentes componentes.
Revisa alguno de los códigos con NetClient y compáralo a ver si ves diferencias. Sobre todo los parámetros.
También revisa en tu petición el "Content-type" y "Content-Encoding"


Con NetClient no lo he conseguido.

Con CURL si lo he conseguido enviar la petición pero siempre obtengo la misma respuesta de error:

- eus-bizkaia-n3-tipo-respuesta: N3_00000002
- eus-bizkaia-n3-identificativo: El interesado no está identificado.

¿Que datos de interesado hay que poner? , hemos puesto los que hay en el pdf de documentación técnico para el entorno de pruebas pero no hay manera.

¿Alguien conoce si tienen que enviarnos algún dato para realizar las pruebas ?

Gracias

Noe277 05-04-2022 10:08:51

Firma Batuz
 
Buenas a todos,

<CodigoErrorRegistro>B4_2000070
>La firma no cumple los requisitos de la política de firma TicketBAI.(EPES: N ALGORITMO: rsa-sha256:2048 POLITICA: N CERTIFICADO_ADMITIDO: S )

No pasamos de este punto en Bizkaia. Álava y Gipuzkoa firman perfectamente. Estamos programando en c#, no podemos usar Chilkat por un tema de versiones y el código para la firma que tenemos es del ayuntamiento de Cartagena.

Agradeceríamos alguna ayuda.

Neftali [Germán.Estévez] 05-04-2022 11:42:48

Cita:

Empezado por pulido (Mensaje 546396)
Con CURL si lo he conseguido enviar la petición pero siempre obtengo la misma respuesta de error:

- eus-bizkaia-n3-tipo-respuesta: N3_00000002
- eus-bizkaia-n3-identificativo: El interesado no está identificado.

¿Que datos de interesado hay que poner? , hemos puesto los que hay en el pdf de documentación técnico para el entorno de pruebas pero no hay manera.
¿Alguien conoce si tienen que enviarnos algún dato para realizar las pruebas ?

Aun así te tienen que dar datos para pruebas, para que envíes con esos datos.



Revisa todo el contenido en este documento.

ermendalenda 05-04-2022 19:28:10

Cita:

Empezado por Noe277 (Mensaje 546398)
Buenas a todos,

<CodigoErrorRegistro>B4_2000070
>La firma no cumple los requisitos de la política de firma TicketBAI.(EPES: N ALGORITMO: rsa-sha256:2048 POLITICA: N CERTIFICADO_ADMITIDO: S )

No pasamos de este punto en Bizkaia. Álava y Gipuzkoa firman perfectamente. Estamos programando en c#, no podemos usar Chilkat por un tema de versiones y el código para la firma que tenemos es del ayuntamiento de Cartagena.

Agradeceríamos alguna ayuda.

Pues cambia de tercio, o usas el firmador.php que hay en el foro o compras o contratas una api o servicio que le mandes los datos y te genere todo.

Neftali [Germán.Estévez] 06-04-2022 16:02:21

1 Archivos Adjunto(s)
Ha llegado un documento de Guipuzcoa de con cambios en Producción referentes a diferentes aspectos:
  • Comunicación de errores
  • Cambios en el formato de las rspuestas
  • Cambios referentes a TSL
  • Algunas sugerencias referentes generación del XML, QR,...
  • Cambios en la política de firma.
Os lo adjunto al fichero y lo añado a la documentacion en el FTP.

pulido 06-04-2022 16:47:23

TicketBai para Bizkaia
 
Buenas tardes:

Hemos conseguido enviar el fichero a Bizkaia en el entorno de pruebas pero siempre no devuelve el error: B4_2000063 , la licencia no está registrada

¿Sabéis exactamente a que se refiere? , hemos mirado la documentación pero no vemos nada.

Saludos y gracias

ermendalenda 06-04-2022 17:05:44

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 546407)
Ha llegado un documento de Guipuzcoa de con cambios en Producción referentes a diferentes aspectos:
  • Comunicación de errores
  • Cambios en el formato de las rspuestas
  • Cambios referentes a TSL
  • Algunas sugerencias referentes generación del XML, QR,...
  • Cambios en la política de firma.
Os lo adjunto al fichero y lo añado a la documentacion en el FTP.

Gracias neftali
Sabes si lo del tls afecta a curl?
Creo que va implícito en la versión de Curl, no?

Neftali [Germán.Estévez] 06-04-2022 17:25:29

Cita:

Empezado por ermendalenda (Mensaje 546409)
Sabes si lo del tls afecta a curl?
Creo que va implícito en la versión de Curl, no?


Debes saber con qué versión de TLS estás enviando.
Seguramente a la hora de enviar tienes opciones para poder modificarlo.
https://www.nocentino.com/posts/2021...ls-using-curl/

ermendalenda 06-04-2022 17:42:18

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 546410)
Debes saber con qué versión de TLS estás enviando.
Seguramente a la hora de enviar tienes opciones para poder modificarlo.
https://www.nocentino.com/posts/2021...ls-using-curl/

Gracias, ya he estado leyendo, curl va a intenta primero por la máxima, pero por si acaso voy a usar la opción --tlsv1.2, esto va a Ser un no parar de modificaciones

curl.exe --tlsv1.2 .......

pulido 06-04-2022 18:05:50

Curl para enviar fichero a Bizkaia
 
Buenas tardes:

Hemos conseguido pasar el fichero a Bizkaia mediante curl.exe

¿Sabéis si a curl.exe se le puede pasar el certificado en lugar de la ruta por el nombre que tenga el certificado en Windows?

Ahora mismo lo hacemos asi:

curl --insecure --cert-type P12 --cert E:\EnpresaZigilua_SelloDeEmpresa.p12:IZDesa2021 -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"99980375P\",\"nrs\":\"QRZMB63ZN7 HLGbwhCuy6 wmvAhKq4EV\"},\"drs\":{\"mode\":\"140\",\"ejer\":\"2022\"}}" -v "ht**tps://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena" --data-binary "@e:\demo.gz" --output e:\respuesta.gz

y funciona bien.

Lo ideal sería que en lugar de pasar la ruta del certificado que se pudiera pasar por el nombre que tiene el certificado en la instalacion de windows

¿Sabéis como se podría hacer?

Sistel 06-04-2022 18:41:45

Cita:

Empezado por pulido (Mensaje 546408)
Buenas tardes:

Hemos conseguido enviar el fichero a Bizkaia en el entorno de pruebas pero siempre no devuelve el error: B4_2000063 , la licencia no está registrada

¿Sabéis exactamente a que se refiere? , hemos mirado la documentación pero no vemos nada.

Saludos y gracias

Hola pulido,

https://www.batuz.eus/fitxategiak/ba...ras_V1_0_1.pdf

Cita:

En este entorno de pruebas los datos del software de facturación a utilizar son los siguientes:
▪ Licencia TBAI: TBAIBI00000000PRUEBA
▪ NIF entidad desarrolladora: A99800005
▪ Nombre: SOFTWARE GARANTE TICKETBAI PRUEBA
▪ Versión: 1.0
Saludos

pulido 06-04-2022 18:44:16

Cita:

Empezado por Sistel (Mensaje 546413)
Hola pulido,





Saludos

Muchas gracias

Sistel 06-04-2022 18:46:53

Cita:

Empezado por pulido (Mensaje 546412)
Buenas tardes:

Hemos conseguido pasar el fichero a Bizkaia mediante curl.exe

¿Sabéis si a curl.exe se le puede pasar el certificado en lugar de la ruta por el nombre que tenga el certificado en Windows?

Ahora mismo lo hacemos asi:

curl --insecure --cert-type P12 --cert E:\EnpresaZigilua_SelloDeEmpresa.p12:IZDesa2021 -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"99980375P\",\"nrs\":\"QRZMB63ZN7 HLGbwhCuy6 wmvAhKq4EV\"},\"drs\":{\"mode\":\"140\",\"ejer\":\"2022\"}}" -v "ht**tps://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena" --data-binary "@e:\demo.gz" --output e:\respuesta.gz

y funciona bien.

Lo ideal sería que en lugar de pasar la ruta del certificado que se pudiera pasar por el nombre que tiene el certificado en la instalacion de windows

¿Sabéis como se podría hacer?

Hola pulido,

Creo que, en Curl, para definir el certificado a utilizar, siempre hay que indicar el fichero de dicho certificado.
https://curl.se/docs/manpage.html

Saludos

Saludos

ermendalenda 06-04-2022 19:41:35

Cita:

Empezado por pulido (Mensaje 546412)
Buenas tardes:

Hemos conseguido pasar el fichero a Bizkaia mediante curl.exe

¿Sabéis si a curl.exe se le puede pasar el certificado en lugar de la ruta por el nombre que tenga el certificado en Windows?

Ahora mismo lo hacemos asi:

curl --insecure --cert-type P12 --cert E:\EnpresaZigilua_SelloDeEmpresa.p12:IZDesa2021 -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"99980375P\",\"nrs\":\"QRZMB63ZN7 HLGbwhCuy6 wmvAhKq4EV\"},\"drs\":{\"mode\":\"140\",\"ejer\":\"2022\"}}" -v "ht**tps://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena" --data-binary "@e:\demo.gz" --output e:\respuesta.gz

y funciona bien.

Lo ideal sería que en lugar de pasar la ruta del certificado que se pudiera pasar por el nombre que tiene el certificado en la instalacion de windows

¿Sabéis como se podría hacer?

Para envios con curl.exe no me suena que puedas usar el almacen de certificados. Para las firmas de los ficheros sí..
Si te sirve, y si no recuerdo mal, con la herramienta openssl puedes generar el fichero a usar con curl desde el almacén de windows cada vez que lo desees, porr lo tanto puedes crearte la hilera.
Saludos


La franja horaria es GMT +2. Ahora son las 08:50:34.

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