![]() |
![]() |
| 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
|
|||
|
|||
|
error en validación de firma
Buenos días.
Estoy utilizando ChilKat para firmar el XML del TicketBai y como certificado digital uno de los certificados de PRODUCCIÓN de IZENPE. Al enviar el fichero XML al entorno de pruebas de Gipuzkoa el fichero es aceptado pero me devuelve el código 008 El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- SignedInfo failed to verify. [src/xml2signatureobj.cpp(315)] - (10606) No sé si a alguno de vosotros os ha pasado lo mismo y si esto se debe al certificado digital que estoy utilizando. Un saludo. |
|
#2
|
|||
|
|||
|
Recibo mismo error 008
Firma y envío con PHP (en procesos separados) Certificado FNMT Investigaré y si encuentro "algo" lo comentaré aquí Un saludo |
|
#3
|
|||
|
|||
|
Supongo que te ha pasado lo mismo que a mi y a aar1: que en vez de cargar el archivo XML se ha usado la función getAsString para obtener el XML firmado y enviarlo a batuz, pero hay una cosa que se debe tener en cuenta, y es que la cadena obtenida es ASCII, por lo que justo antes de la llamada a getAsString hay que usar put_Utf(true) para que la genere en UTF-8 o bien convertir el XML ASCII a UTF-8 antes de enviarlo.
|
|
#4
|
|||
|
|||
|
Buenos días.
Problema solucionado, era por la codificación al enviar el XML firmado, hay que convertirlo a formato utf-8 antes de enviarlo al entorno de pruebas. Chilkat dispone del objeto StringBuilder que contiene el método LoadFile y permite indicar el charset. Muchas gracias por la ayuda. |
|
#5
|
|||
|
|||
|
LROE Bizkaia
Hola a todos.
Ahora estoy haciendo pruebas para enviar el documento LROE y me devuelve el error B4_1000002, Todos los registros incluidos en la petición son incorrectos. He revisado la codificación de la información que se envía y está en utf-8. Un saludo. |
|
#6
|
|||
|
|||
|
Cita:
Para obtenerlo no puedes hacer un 'FullRequest...', ya que esas funciones no están pensadas para respuestas binarias sino JSON o XML, por lo que hay que hacer una petición por partes (por claridad he quitado el control de errores): Cita:
|
|
#7
|
|||
|
|||
|
Muchas gracias Galaxian.
He conseguido leer el archivo XML que se envía de respuesta en el body y así poder corregir los errores que tenía en la generación del Ticket Bai. Ahora ya obtengo la respuesta "correcto" por parte del entorno de pruebas de Bizkaia. Un saludo. |
|
#8
|
|||
|
|||
|
Cita:
Por fin he conseguido enviar a Guipuzcoa en pruebas facturas firmadas y recibir respuesta correcta. En mi caso se trataba de firma mal realizada por no respetar el esquema XAdES/XMLDSI, por lo que he modificado mi esquema (el orden de los "<ds:Reference") y ya funciona bien. Utilizo dos validadores de firma online: http://tools.chilkat.io/xmlDsigVerify.cshtml https://web.uanataca.com/pe/servicio...ma-electronica El primero y previo a los cambios en mi esquema, el de chlikat me daba este resultado Signature Verified Number of Reference Digests = 3 Reference 1 digest is valid. Reference 2 digest is valid. Reference 3 digest is valid. Pero era rechazado por Guipuzcoa El segundo, uanataca, me daba el error de no respetar el esquema. Ahora ya da correcto en los dos validadores y en el envío a Guipuzcoa Pongo esto porque me fiaba (y me fio aunque un poco menos) de chlikat y pensando que el xml firmado era correcto buscaba corregir errores donde no correspondía. Cuando vaya avanzando un poco más, si a alguien le interesa, subiré lo que estoy desarrolando en PHP (sin dependencia de terceros ni para generar el xml, firmar ni enviar) Un saludo a todos |
|
#9
|
|||
|
|||
|
Cita:
put_Behaviors("IndentedSignature,TransformSignatureXPath,ForceAddEnvelopedSignatureTransform,LocalSigningTime") |
|
#10
|
||||
|
||||
|
El día 26 de Marzo de este año se hicieron unas jornadas informativas para desarrolladores con el título:
"Especificaciones técnicas y funcionales del software TicketBAI". El material (las presentaciones) y la grabación de la presentación específica para desarrolladores (de un poco más de una hora) ya están disponibles. Por si alguien no tiene acceso a ellas, las subo al FTP y actualizo el primer mensaje. http://terawiki.clubdelphi.com/Otros...n%20TicketBAI/ Son los PPTX de las presentaciones (español y euskera) y la grabación de Teams de la reunión.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#11
|
|||
|
|||
|
He probado la estructura de la firma generada por Chilkak con el validador de ETSI (el más fiable por razones obvias), y el resultado es que cumple al 100% las especificaciones ETSI TS 101 903 v1.4.2
https://signatures-conformance-checker.etsi.org (es gratis pero necesita registro). Ahí queda eso. |
|
#12
|
|||
|
|||
|
Cita:
Yo también trabajo en PHP y me interesa controlar todo el proceso (generación, firma y envío) dependiendo lo menos posible de librerías ajenas. Cualquier información sobre el tema, me interesa. Gracias |
|
#13
|
|||
|
|||
|
Cita:
Hasta hoy tengo completo TBAI GIP Genero xml Firmo xml Envio xml firmado a Gipuzkoa (curl php) Todo OK Ahora estoy con TBAI BIZ Genero y firmo igual que TBAI GIP es lógico No consigo envia a BIZ con curl php (llevo días sin avanzar nada) Si te interesa, vamos por partes y probando lo que finciona |
|
#14
|
|||
|
|||
|
Cita:
¿Obtienes alguna respuesta al php-curl que lanzas? Cuando, en su día, desarrollé el módulo de SII, tuve problemas con el php-curl. Sin embargo me iba bien si lo lanzaba mediante shell_exec("curl --connect-timeout ...") Así que lo dejé de esa manera. Saludos |
|
#15
|
||||
|
||||
|
Cita:
Por ejemplo, se pueden configurar los parámetros de cabecera, el certificado de envío y enviar uno de los ficheros de ejemplo de BATUZ; Con eso ya podréis obtener una respuesta como esta: ![]() Que ya son códigos de error y respuesta de BATUZ. A partir de ahí se trata de ir centrándose en otros aspectos. Modificar el fichero de ejemplo, por uno de los vuestros, y de ahí en adelante. En el caso del ejemplo el problema del certificado (Interesado no identificado), porque la gente de BATUZ no admite certificados de prueba como si se hare en TicketBAI (**NOTA**, por si alguien lo está haciendo así que lo tenga en cuenta...) Para la parte del JSON, también podéis utilizar uno de ejemplo que se puede descargar de aquí y modificarlo lévemente.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#16
|
||||
|
||||
|
Cita:
Es debido (al menos en nuetro caso) a problemas en la codificación. Normalmente en el paso entre la firma del XML y el envío. Revisad si el contenido de lo que habéis firmado (justo después de firmar) es lo mismo que estáis enviando. Sobre todo revisad si en la razón social o en alguno de las cadenas que enviáis hay caracteres extraños (con acentos, tildes,...). A veces el resultado del envío lo grabamos en fichero o trabajamos con Streams y sin darnos cuenta la codificación cambia. Revisad entre UTF8, UTF8 BOM y ANSI. Revisad por ejemplo si estáis utilizando Streams, que la clase TStream en la creación posee opciones de codificación. Al final nosotros acabamos comparando el contenido en cada paso (Editor Hexadecimal) y nos dimos cuenta de que el character Ó (de la razón social) al realizar la firma con los SBB se estaba cambiando (cofidicación implícita). NOTA: Ahora estoy probando con esta empresa... ![]() ![]() ![]() .![]()
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 16-04-2021 a las 11:54:09. |
|
#17
|
|||
|
|||
|
Cita:
Toda la pinta tiene que es por lo que indicas arriba ya que si enviamos el mismo fichero con la aplicación SOAPUI todo es correcto. Usamos los componentes INDY (versión 10.6) que trae delphi (versión 10.2) para hacer el envío. Al final ¿con qué componentes o de qué manera haces el envío para que no modifique el fichero en el proceso? Gracias de antemano |
|
#18
|
||||
|
||||
|
Cita:
Lo normal es que en algún punto del proceso, desde que generamos el fichero y lo firmamos, hasta que lo enviamos, sin querer estamos modficando la codificación. A veces simplemente es al usar TStreams o grabar en disco y recuperar. Revisad los pasos que estáis haciendo desde la firma hasta el envío y si en algún punto la codificación cambia, no porque lo hagáis expresamente, sino porque se esté haciendo sin daros cuenta. En cuanto a los envíos en los mensajes del foro puedes ver que hay varios componentes que se están utilizando. En este mensaje tienes (en la parte inferior) un resumen de los diferentes componenetes que se usa para enviar: https://www.clubdelphi.com/foros/sho...&postcount=436 * Opcion1: TNetHTTPClient * Opción2: TRESTClient + TRESTRequest + TRESTResponse * Opcion3: TsbxHTTPClient (SecureBlackBox) * Opción4: Utilizando commandos CURL * Opción5: Utilizando las Indy + OpenSSL * ...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 16-07-2021 a las 11:51:10. |
|
#19
|
|||
|
|||
|
¿Alguien puede poner un ejemplo de algún archivo XML de anulación?
|
|
#20
|
|||
|
|||
|
Es un proceso algo similar a la emisión, crear la cabecera, codificar el xml del archivo ticketbai de la emisión en base 64, comprimirlo en gz y enviar la anulación.
|
![]() |
| 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 |
|