![]() |
Ejemplo (parte1)
|
Ejemplo (parte2)
|
Ejemplo (parte3)
Código PHP:
|
No puedo conectar
Cita:
Ahora me pide el certificado, pero la respuesta es vacía, revisando la respuesta el código es el 500, y el texto es "Internal server error",..... no sé qué puede ser |
Ejemplo (parte4)
Código PHP:
|
El ejemplo anterior crea una firma digital prácticamente idéntica a la original.
Para rizar el rizo se pueden generar dos UUID (los de 'signature' y 'reference') y modificar el código para que cada vez tenga unos UUID distintos |
Para enviar (es código C++, que es el lenguaje que uso, aunque su traducción a Pascal/Delphi no el muy complicada porque la estructura es la misma, aunque su sintaxis difiera un poco:
Código PHP:
Los certificados no solo pueden cargarse de pfx, sino también del almacén de Windows o usar uno cargado anteriormente |
Buenas,
Tengo problemas con el envio a Bizkaia, llega la solicitud al servidor pero la respuesta es incorrecta, por que el Id="xmldsig-bb95c614-22fb-4afe-9e6f-b46f4c46f971" no esta bien generado, esta cadena la genero usando el siguiente codigo en Java -> "xmldsig-" + UUID.randomUUID().toString(); Esto no esta funcionando y a diferencia de Guipuzkoa, Bizakaia no me retorna respuesta correcta por tener el ID mal. Estoy usando SecureBlackBox para realizar la firma de mi documento, si alguien me pudiera decir como generar el ID con SecureBackBox o con metodos nativos de Java, se lo agradeceria. Saludos! |
Cita:
Gracias nuevamente. ^\||/^\||/^\||/^\||/ |
Hola a tod@s.
Después de tanto tiempo y de tener encaminado el desarrollo del TicketBAI (al menos el envío y consulta de facturas), me surge una pregunta un poco tonta pero necesito estar seguro... Para el envío de información del LROE existen varios métodos: ingresos con software garante, facturas con software garante, anulación... Pero hay otros que indican "sin software garante", o "ingresos sin factura" y otros más. Teniendo en cuenta que en mi caso estaría haciendo la integración en un software de facturación, es obvio pensar que solo tendría que implementar aquellos esquemas/envíos "con software garante", no? ¿O estoy obviando algo que no he entendido del todo? No sé si existe información sobre para qué se usa cada caso exactamente, pero imagino que en mi caso concreto solo tendría que preocuparme por implementar el envío de facturas hechas con mi software, nada más. ¿Es correcto? |
|
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. |
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 |
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... :cool::cool::D:D. ![]() |
Cita:
|
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. |
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. |
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:
|
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. |
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 |
Cita:
put_Behaviors("IndentedSignature,TransformSignatureXPath,ForceAddEnvelopedSignatureTransform,LocalSigningTime") |
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. |
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. |
Buenos días Galaxian,
He probado la línea de comando que has mandado para el Autofirmacommandline y la verdad que has hecho un gran trabajo, pero no me funciona. En cambio si se hace eso mismo en los parámetros del Autofirma (Programa instalado) y se genera el archivo, si que funciona bien. Has probado a enviar el fichero con el Autofirmacommandline con resultado satisfactorio? Gracias de antemano. |
Cita:
|
Parece que pude
O al menos eso creo, en la respuesta obtengo un escueto OK, pero en el memo no aparece nada, sale vacío. ¿Hay alguna forma de consultar en el entorno de pruebas las facturas enviadas para asegurarme que se ha enviado correctamente?
Este es el código una vez generado el fichero comprimido
|
Firma de software
Buenas a todos,
Tras leer el foro continuo sin entender el tema de tener que firmar el software ni del proceso. Entiendo que necesito un certificado, e mirado en izenpe y tienen un apartado para certificados de aplicación o firma de código. ¿De estos dos cual es el adecuado? Una vez conseguido tengo que meterlo en la aplicación ("Alguna pista") pero mi pregunta es que a efectos del fichero tiketbai en que me afecta. ¿En el fichero no va nada de este certificado no? Esto solo es a efectos de la documentación y de complicarnos un poco mas la vida no? ¿Para firmar el fichero con un certificado de representante es suficiente? |
Cita:
Creo que la respuesta que debes obtener es un XML similar al de TicketBAI. Aquí están los esquemas del 140/240 Aquí ficheros de ejemplo del 140/240 tanto de peticiones como de respuestas Te subo algunos ficheros de ejemplo de respuestas. Código PHP:
|
Cita:
A efectos del TicketBAI, la firma del software no afecta para nada. El XML de TBAI hay que firmarlo con un certificado de persona física si el declarante es autónomo o profesional, o de representación si es una sociedad, siendo este certificado el que se usa para el envío de los datos a las Haciendas forales. Espero que esto te haya aclarado un poco las cosas. |
Certificado de firma de código
Cita:
Ahora viene la segunda parte he contactado tanto con izenpe como con ceres y ambos me dicen que no disponen de certificado de firma de código. Izenpe solo para entidades publicas. ¿Donde puedo solicitar este certificado? |
Cita:
También hay varias páginas en internet que ofrecen certificados de Comodo (los más confiables) por 70$ al año cuando su precio real es de unos 400$. Si alguien ha obtenido alguno de estos certificados baratos agradecería que pusiesen aquí su experiencia, pues una rebaja de precio tan considerable hace sospechar. |
Hola.
Nosotros utilizamos estos https://www.ksoftware.net/code-signing-certificates/ tienen un certificado de Sectigo y tienen un pequeño programa muy sencillo para firmar el codigo. Que me imagino que sirve para cualquier certificado de codigo. |
Cita:
|
Ayuda Chilkat
Cita:
Saludos y muchas gracias por todo, Joselu |
Ayuda XML Anulación
Hola, les he preguntado a Batuz la siguiente pregunta el día 17 de abril y aún no me han contestado. Os la lanzo para ver si me podéis ayudar.
Al realizar la anulación de una Factura o Factura simplificada se crea un fichero XML TicketBAI de Anulación, ¿se debería crear otra factura con signo negativo y crear otro fichero XML de Alta de está factura anulada? Saludos y muchas gracias, |
Cita:
Al anular una factura ya le estas diciendo que esa factura no cuenta, y ese número de factura no se puede volver a usar, queda anulada. Por lo tanto no tienes que enviar nada más. Otra cosa es que quieras hacer una rectificativa. Cita:
|
Cita:
Para realizar la conexión del envío debes utilizar ChilkatSocket, este es un ejemplo en VB6 (Bizkaia):
Para comprimir y realizar el envío utiliza ChilkatRest y ChilkatStringBuilder:
No hace falta comprimir el archivo antes de enviarlo, ChilkatRest lo comprime y lo envía. Para leer la cabecera de la respuesta:
Para leer el archivo comprimido incluido en el body de la respuesta:
No he incluido las verificaciones de la variable success para no extender el código. Espero que te sirva de ayuda. Un saludo. |
Cita:
Ojo, que a lo mejor estás confundiendo la anulación con la rectificación. La primera simplemente envías el XML de anulación y la factura se elimina del sistema. En el segundo caso, creas la nueva factura rectificativa (en negativo como comentas) se genera el nuevo XML y se envía (no como anulacion sino como factura nueva). |
No es necesario añadir la cabecera "Content-Length" porque aún no se conoce el tamaño de los datos comprimidos. Esa cabecera será generada por la librería Chilkat una vez comprima el archivo y conozca su tamaño final.
|
No pueden comprobarse códigos QR en BATUZ
Hola.
Parece que desde ayer tienen un problema en Guipúzcoa, y no pueden comprobarse códigos QR que el otro día si funcionaban. El servicio https_//batuz.eus/QRTBAI/.... indica error. La página https_//batuz.eus/haztufactura/#/ también da un descriptivo fallo "Se ha producido un error". ¿Os pasa también a vosotros? |
| La franja horaria es GMT +2. Ahora son las 19:23:15. |
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