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
|
|||
|
|||
Cita:
La versión que utilizo es la misma y funciona correctamente. Parece ser un error de verificación de firma. Si quieres, envía un xml sin datos (con las cabeceras TBAI) y lo firmo y compruebo. Un saludo |
#2
|
|||
|
|||
Cita:
te dejo mi plantilla de xml por si puedes revisármela.(no me deja incluir enlaces el foro) Código:
<xml version="1.0" encoding="UTF-8"> <T:AnulaTicketBai xmlns:T="urn:ticketbai:anulacion" xmlns:xsi="......w3.org/2001/XMLSchema-instance" xsi:schemaLocation=".......w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"> <Cabecera> <IDVersionTBAI>1.2</IDVersionTBAI> </Cabecera> <IDFactura> <Emisor> <NIF>XXXXXX</NIF> <ApellidosNombreRazonSocial>XXXXXXXX</ApellidosNombreRazonSocial> </Emisor> <CabeceraFactura> <SerieFactura>Factura Compra</SerieFactura> <NumFactura>2021205346</NumFactura> <FechaExpedicionFactura>29-07-2021</FechaExpedicionFactura> </CabeceraFactura> </IDFactura> <HuellaTBAI> <Software> <LicenciaTBAI>TBAIGIPRE000000000000</LicenciaTBAI> <EntidadDesarrolladora> <NIF>XXXXXXXXX</NIF> </EntidadDesarrolladora> <Nombre>XXXXXXXX</Nombre> <Version>1.2</Version> </Software> </HuellaTBAI> </T:AnulaTicketBai> |
#3
|
||||
|
||||
Buenos dias, foreros.
Despues de casi 7 años sin apenas tocar Delphi, vuelvo necesitar de vuestra ayuda con el dichoso Ticket BAI. Muchas gracias a elcharie por su código sobre la firma digital https://www.clubdelphi.com/foros/sho...ent#post534661 me ha sido de gran ayuda pues tambien uso los componentes SecureBlackBox para firmar con FacturaE. Mi duda es sobre el encadenamiento de las facturas, en un ejemplo he visto esto: Código:
<EncadenamientoFacturaAnterior> <SerieFacturaAnterior>B2022</SerieFacturaAnterior> <NumFacturaAnterior>0100</NumFacturaAnterior> <FechaExpedicionFacturaAnterior>30-01-2022</FechaExpedicionFacturaAnterior> <SignatureValueFirmaFacturaAnterior>DSI1XA1ErCoqaEln++216eTQpN0qF7HQb/I3QhF54V11LEGY3ucMVH33GceRE9LtYJI7AoI0YS3q0qPOn+eTlH6ZHVXXkcVZyi2g</SignatureValueFirmaFacturaAnterior> </EncadenamientoFacturaAnterior> Mi duda es qué valor debo grabar en el tag SignatureValueFirmaFacturaAnterior. Suponiendo una firma digital del xml que acabo de grabar, Código:
<ds:Signature Id="Signature-221b390d-079e-45d2-a152-70726a44665f-Signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> <ds:Reference Id="Reference-1e93a4c4-c54d-4704-aef6-815f9afa0490" Type="http://www.w3.org/2000/09/xmldsig#Object" URI=""> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"> <ds:XPath xmlns:ds="http://www.w3.org/2000/09/xmldsig#">not(ancestor-or-self::ds:Signature)</ds:XPath> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/> <ds:DigestValue>Lj/xC1Vm48GUnqm6mQVSdMWDSS7h6EpTnG/m3TWADSI+vKoehKH2u/KSKOZc6fqZ+mT4pqyxCVAwwIlISPhAGw==</ds:DigestValue> </ds:Reference> <ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#Signature-221b390d-079e-45d2-a152-70726a44665f-SignedProperties"> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/> <ds:DigestValue>6ZLdg8WSZEcsodu/pVr6E76DL0+REsuOgrF+N1TR6xBG0QHOXFf6876kZOUBZFhZaQ+r7ncHaxRXBhZDo3aidQ==</ds:DigestValue> </ds:Reference> <ds:Reference URI="#Signature-221b390d-079e-45d2-a152-70726a44665f-KeyInfo"> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/> <ds:DigestValue>gkMC+2K2Q9SEhd7FbRe1oq3Rsb+FCe+UgKsvU2NJxuW3F5BVMgbKfM2B4jv9EULQfIZmOYU9sff5OxSyecL9/Q==</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue Id="Signature-221b390d-079e-45d2-a152-70726a44665f-SignatureValue">JmGem1gIrDMgDBSwggrUx4wUa6OeIeYo+B11HZYYxfPlSkT1g8KOMipXQCBl4M79GF+ZfkZoaXrVFiVdXlqVg2lVtWIt8swT5/JwkemwKtNuSA0Z7J1xLIj8D9GjU1Lhc8FBly0ecYRoahsPyCKwH/b4sU29WCKgqsfaAn4HmM8KuSJ3786KKUZ5TfPyLdqyJebq4mszozxeIVcColch2tRoMxC5bWg7FctJ6CH54itfiUq3Uv2azi/AIzyMwCOCaDUftHlju9xYtIqMwb9UipOPGeovVUbe5InPItjOq+fvCXNBfMfgRcZkF6G5c3SHpBlW8fESN6zd8vVm6o1R/w==</ds:SignatureValue> <ds:KeyInfo Id="Signature-221b390d-079e-45d2-a152-70726a44665f-KeyInfo"> ¿cual seria el tag con el valor para el siguiente XML a firmar? ¿SignatureValue? ¿Alguno de los <DigestValue>? Estoy un poco perdido...
__________________
Progress Openedge https://abevoelker.com/progress_open...dered_harmful/ Delphi forever... |
#4
|
|||
|
|||
Cita:
saludos |
#5
|
|||
|
|||
Cita:
FIRMA VÁLIDA Te cuento: He creado un firmador_anulacion.php que difiere de firmador.php en 5 líneas Cambio "emision" por "anulacion" Código PHP:
cambio TicketBai por AnulaTicketBai Código PHP:
Código:
$xml = "<?xml version='1.0' encoding='UTF-8'?>"; Si me obliga, combinaré del alguna forma firmador.php y firmador_anulacion.php para dejarlo sólo en uno. Puebalo y me cuentas |
#6
|
|||
|
|||
Cita:
Gracias y un saludo! |
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 | 3565 | Hace 1 Semana 11:04:13 |
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 |
|