![]() |
![]() |
| 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
|
|||
|
|||
|
Con AutoFirma consigo firmar el archivo, siguiendo los pasos que hay unos posts más atrás.
Con AutoFirma, el archivo firmado resultante ya está en UTF-8 SIN BOM sin tener que hacerle nada. AL parecer respeta la codificación original. Además, según http://tools.chilkat.io/xmlDsigVerify.cshtml, esta vez obtengo 3 Digest válidos en el archivo firmado, no 2 como ocurría con SecureBlackBox. No obstante, obtengo el mismo error al hacer el envío, por lo que creo que el problema no está en la firma. Así que, o bien el proceso de envío hace algo raro al archivo, o yo ya no sé donde más mirar. ¿Hay alguna forma de saber si el envío (con NetHTTPClient1) está tocando algo en el archivo? ¿Hay alguna forma de saber realmente lo que está pasando? Y yo que pensaba que la firma y envío de Bizkaia era problemático... No puede ser que lleve días con esto, y algo me dice que cuando descubra la causa del problema voy a salir de la oficina directo al bar. El envío lo hago así: RequestBody := TFileStream.Create('firmado.xml', fmOpenRead); NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12]; NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/xml'; NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8'; AResponse := NetHTTPClient1.Post('https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta',RequestBody); Lo único que se me ocurre es que, como pasa con los Streams cuando se cargan, haya que hacer algún Position := 0 antes de enviarlo, pero eso no explica que "el archivo se ha modificado...", sino que daría otro error, digo yo, vamos. Os pongo el archivo sin firmar y el firmado, obviando la info. sensible: Factura SIN FIRMAR: Código:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"> <Cabecera> <IDVersionTBAI>1.2</IDVersionTBAI> </Cabecera> <Sujetos> <Emisor> <NIF>1111111H</NIF> <ApellidosNombreRazonSocial>Empresa Emisora</ApellidosNombreRazonSocial> </Emisor> <Destinatarios> <IDDestinatario> <NIF>00000000A</NIF> <ApellidosNombreRazonSocial>CLIENTE DE PRUEBAS</ApellidosNombreRazonSocial> <CodigoPostal>28080</CodigoPostal> <Direccion>Calle Madrid</Direccion> </IDDestinatario> </Destinatarios> <VariosDestinatarios>N</VariosDestinatarios> <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario> </Sujetos> <Factura> <CabeceraFactura> <NumFactura>158</NumFactura> <FechaExpedicionFactura>04-10-2021</FechaExpedicionFactura> <HoraExpedicionFactura>10:38:20</HoraExpedicionFactura> <FacturaSimplificada>N</FacturaSimplificada> <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada> </CabeceraFactura> <DatosFactura> <FechaOperacion>04-10-2021</FechaOperacion> <DescripcionFactura>Factura 158</DescripcionFactura> <DetallesFactura> <IDDetalleFactura> <DescripcionDetalle>Linea 1</DescripcionDetalle> <Cantidad>1</Cantidad> <ImporteUnitario>100</ImporteUnitario> <Descuento>0</Descuento> <ImporteTotal>121</ImporteTotal> </IDDetalleFactura> </DetallesFactura> <ImporteTotalFactura>150</ImporteTotalFactura> <RetencionSoportada>0</RetencionSoportada> <Claves> <IDClave> <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia> </IDClave> </Claves> </DatosFactura> <TipoDesglose> <DesgloseFactura> <Sujeta> <NoExenta> <DetalleNoExenta> <TipoNoExenta>S1</TipoNoExenta> <DesgloseIVA> <DetalleIVA> <BaseImponible>50.00</BaseImponible> <TipoImpositivo>0</TipoImpositivo> <CuotaImpuesto>0.00</CuotaImpuesto> <TipoRecargoEquivalencia>0</TipoRecargoEquivalencia> <CuotaRecargoEquivalencia>0</CuotaRecargoEquivalencia> <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado> </DetalleIVA> </DesgloseIVA> </DetalleNoExenta> </NoExenta> </Sujeta> </DesgloseFactura> </TipoDesglose> </Factura> <HuellaTBAI> <EncadenamientoFacturaAnterior> <SerieFacturaAnterior></SerieFacturaAnterior> <NumFacturaAnterior>157</NumFacturaAnterior> <FechaExpedicionFacturaAnterior>04-10-2021</FechaExpedicionFacturaAnterior> <SignatureValueFirmaFacturaAnterior>Rp9ubVl90QiCXICZOZ8l9OYAEm6Zy2T3hf2aE7+a0hHKf/6i8jADAr0vO9TyEdnVaI603OXYsHRYPhTEbLOL4jiERUon8G2pF/Fr</SignatureValueFirmaFacturaAnterior> </EncadenamientoFacturaAnterior> <Software> <LicenciaTBAI>TBAIGIPREXXXXXXXXXXX</LicenciaTBAI> <EntidadDesarrolladora> <NIF>11111111H</NIF> </EntidadDesarrolladora> <Nombre>Nombre Empresa Desarrolladora</Nombre> <Version>15.5</Version> </Software> <NumSerieDispositivo>NSERIEPC</NumSerieDispositivo> </HuellaTBAI> </T:TicketBai> Código:
<?xml version="1.0" standalone="no"?> <T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"> <Cabecera> <IDVersionTBAI>1.2</IDVersionTBAI> </Cabecera> <Sujetos> <Emisor> <NIF>11111111H</NIF> <ApellidosNombreRazonSocial>Empresa Emisora</ApellidosNombreRazonSocial> </Emisor> <Destinatarios> <IDDestinatario> <NIF>00000000A</NIF> <ApellidosNombreRazonSocial>CLIENTE DE PRUEBAS</ApellidosNombreRazonSocial> <CodigoPostal>28080</CodigoPostal> <Direccion>Calle Madrid</Direccion> </IDDestinatario> </Destinatarios> <VariosDestinatarios>N</VariosDestinatarios> <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario> </Sujetos> <Factura> <CabeceraFactura> <NumFactura>127</NumFactura> <FechaExpedicionFactura>02-01-2021</FechaExpedicionFactura> <HoraExpedicionFactura>09:52:59</HoraExpedicionFactura> <FacturaSimplificada>N</FacturaSimplificada> <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada> </CabeceraFactura> <DatosFactura> <FechaOperacion>02-01-2021</FechaOperacion> <DescripcionFactura>Factura 127</DescripcionFactura> <DetallesFactura> <IDDetalleFactura> <DescripcionDetalle>Linea 1</DescripcionDetalle> <Cantidad>1</Cantidad> <ImporteUnitario>100</ImporteUnitario> <Descuento>0</Descuento> <ImporteTotal>121</ImporteTotal> </IDDetalleFactura> </DetallesFactura> <ImporteTotalFactura>283</ImporteTotalFactura> <RetencionSoportada>0</RetencionSoportada> <Claves> <IDClave> <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia> </IDClave> </Claves> </DatosFactura> <TipoDesglose> <DesgloseFactura> <Sujeta> <NoExenta> <DetalleNoExenta> <TipoNoExenta>S1</TipoNoExenta> </DetalleNoExenta> </NoExenta> </Sujeta> </DesgloseFactura> </TipoDesglose> </Factura> <HuellaTBAI> <Software> <LicenciaTBAI>TBAIGIPREXXXXXXXXXXX</LicenciaTBAI> <EntidadDesarrolladora> <NIF>11111111H</NIF> </EntidadDesarrolladora> <Nombre>Nombre Empresa Desarrolladora</Nombre> <Version>15.5</Version> </Software> <NumSerieDispositivo>NSERIEPC</NumSerieDispositivo> </HuellaTBAI> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-273182162"> <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 URI=""> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>8rAQe4EJbS2Hbck2KibE6/DSQfnnUeUSV4wGd6ctHGo=</ds:DigestValue> </ds:Reference> <ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-353751308"> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>y8Pk+uqYxel3FZNOZ3aAwWhc6v00vG0XLmOuzHYRh/w=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>VH0FvdPyHojub+GWvvUVrbs3jdgblZ/TcAzLhEw/nDTBK2mKyTzE7uEi6SPECk1DfhniUwWU66D8jVN59Pis3RyKN+3K6hEOPWU3amtETAu8jKYU13MMulJ6UMHL0ovSLS4ccGUdjmw6C2F7FgtCZqSlvUvhSOcH5BCFqzBzZ6b1LCoTPWCSnZ7pRQDcBOYc44zzmrfb4Wc3IjsC3EFNWydLUFcRJ7jCPVWG8+2r2vebg+EDZ7T+F1sK3+ti+mD65LxijQ==</ds:SignatureValue> <ds:KeyInfo> <ds:KeyValue> <ds:RSAKeyValue> <ds:Modulus>tk8wSaUTZz4q2pMW2dUJw42pq88hSzyBpdl9/F5topSDokrMrOkMx9de3nUAuyPt+KACXINBtZyDleqqgrcpo6kup+CAZQ576InVwDORZ5SXlYjVo7HpC3wX9puZmN9NaTfpX62Ie2gsie01zZaACL6n5q4k8cIpfwAh8XBPAmp/EsKLzZ+aPBbpBZ4ORolgkb/0e20wzO3qqiXXGb/ACLBcrKlyBCQbfbD0eONZc1xQSBw5RNioKlELJ8M+H1OzISJKunFqU2AE3vnXfRPfCEPLoSYhOEqJ/WU0DiQ==</ds:Modulus> <ds:Exponent>AQAB</ds:Exponent> </ds:RSAKeyValue> </ds:KeyValue> <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName>CN=AC Representación, OU=CERES, O=FNMT-RCM, C=ES</ds:X509IssuerName> <ds:X509SerialNumber>109179261942007942106360154753800986544</ds:X509SerialNumber> </ds:X509IssuerSerial> <ds:X509SubjectName>#0C505265673A3338303133202F486F6A613A54462D3631383239202F546F6D6F3A33353934202F466F6C696F3A313639202F46656368613A31332F31312F32303138202F496E73637269706369C3B36E3A31</ds:X509SubjectName> <ds:X509Certificate>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</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> <ds:Object> <xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-273182162"> <xades:SignedProperties Id="SignedProperties-353751308"> <xades:SignedSignatureProperties> <xades:SigningTime>2021-10-06T18:27:18.930Z</xades:SigningTime> <xades:SigningCertificate> <xades:Cert> <xades:CertDigest> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>MLXj91aK6rK8d6lHMBs68CzzIhbGho9YNmPD0QpV4B4=</ds:DigestValue> </xades:CertDigest> <xades:IssuerSerial> <ds:X509IssuerName>CN=AC Representación, OU=CERES, O=FNMT-RCM, C=ES</ds:X509IssuerName> <ds:X509SerialNumber>109179261942007942106360154753800986544</ds:X509SerialNumber> </xades:IssuerSerial> </xades:Cert> </xades:SigningCertificate> <xades:SignaturePolicyIdentifier> <xades:SignaturePolicyId> <xades:SigPolicyId> <xades:Identifier>https://www.gipuzkoa.eus/ticketbai/sinadura</xades:Identifier> </xades:SigPolicyId> <xades:SigPolicyHash> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>6NrKAm60o7u62FUQwzZew24ra2ve9PRQYwC21AM6In0=</ds:DigestValue> </xades:SigPolicyHash> <xades:SigPolicyQualifiers> <xades:SigPolicyQualifier> <xades:SPURI>https://www.gipuzkoa.eus/ticketbai/sinadura</xades:SPURI> </xades:SigPolicyQualifier> </xades:SigPolicyQualifiers> </xades:SignaturePolicyId> </xades:SignaturePolicyIdentifier> </xades:SignedSignatureProperties> </xades:SignedProperties> </xades:QualifyingProperties> </ds:Object> </ds:Signature> </T:TicketBai> Espero de verdad que sirva de algo |
|
#2
|
|||
|
|||
|
Cita:
Veo difeerencias en el archivo sin firmar y en el firmado, no puedes poner el mismo?: Sin firmar: <ImporteTotalFactura>150</ImporteTotalFactura> Firmado: <ImporteTotalFactura>283</ImporteTotalFactura> En el firmado desaparece el desglose de iva y los calculos mal hechos... prueba a poner datos lógicos en el archivo sin firmar, firma con el autofirma y cambia esto: Código PHP:
Código PHP:
Arregla: Código PHP:
|
|
#3
|
||||
|
||||
|
Los datos de la cabecera parece que estan mal.
Como ha dicho el compañero pon antes de firmar. <?xml version="1.0" encoding="utf-8" standalone="no"?> <T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV12.xsd "> Si te sigue fallando pon los dos ficheros otra vez. Pero si puede ser que sean los mismos. ![]() Yo estoy enviando con TNetHTTPClient sin problemas. |
|
#4
|
||||
|
||||
|
Hola a todos.
Que sepais que Gipuzkoa esta empezando a aplicar las validaciones que tienen puestas en su página web. En el envío no da ningún error/aviso, pero cuando entran los clientes en la web de hacienda para comprobar que han enviado les aparecen los avisos y los errores. Por ejemplo si pones Código PHP:
Cita:
|
|
#5
|
|||
|
|||
|
Joder, he copiado/pegado mal. Me cago en todo.
Tenía tantos archivos abiertos y tantas pruebas que me habré equivocado al copiar/pegar, lo siento. Vuelvo a poner los dos archivos, esta vez correctos, pero antes revisaré las cabeceras, etc. |
|
#6
|
|||
|
|||
|
Cita:
<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV12.xsd "> ...y otro esto... <T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"> Lo que es verdad es que en mis cabeceras faltaba este: xmlns:ds="http://www.w3.org/2000/09/xmldsig#" He vuelto a generar los dos archivos, esta vez el mismo ![]() SIN FIRMAR: Código:
<?xml version="1.0" encoding="UTF-8"?> <T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV12.xsd " xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <Cabecera> <IDVersionTBAI>1.2</IDVersionTBAI> </Cabecera> <Sujetos> <Emisor> <NIF>11111111</NIF> <ApellidosNombreRazonSocial>NOMBRE</ApellidosNombreRazonSocial> </Emisor> <Destinatarios> <IDDestinatario> <NIF>22222222</NIF> <ApellidosNombreRazonSocial>CLIENTE</ApellidosNombreRazonSocial> <CodigoPostal>33333</CodigoPostal> <Direccion>Calle Madrid 18</Direccion> </IDDestinatario> </Destinatarios> <VariosDestinatarios>N</VariosDestinatarios> <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario> </Sujetos> <Factura> <CabeceraFactura> <NumFactura>175</NumFactura> <FechaExpedicionFactura>04-10-2021</FechaExpedicionFactura> <HoraExpedicionFactura>13:23:31</HoraExpedicionFactura> <FacturaSimplificada>N</FacturaSimplificada> <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada> </CabeceraFactura> <DatosFactura> <FechaOperacion>04-10-2021</FechaOperacion> <DescripcionFactura>Factura 175</DescripcionFactura> <DetallesFactura> <IDDetalleFactura> <DescripcionDetalle>Linea 1</DescripcionDetalle> <Cantidad>1</Cantidad> <ImporteUnitario>100</ImporteUnitario> <Descuento>0</Descuento> <ImporteTotal>121</ImporteTotal> </IDDetalleFactura> </DetallesFactura> <ImporteTotalFactura>158.26</ImporteTotalFactura> <Claves> <IDClave> <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia> </IDClave> </Claves> </DatosFactura> <TipoDesglose> <DesgloseFactura> <Sujeta> <NoExenta> <DetalleNoExenta> <TipoNoExenta>S1</TipoNoExenta> <DesgloseIVA> <DetalleIVA> <BaseImponible>158.26</BaseImponible> <TipoImpositivo>0</TipoImpositivo> <CuotaImpuesto>0.00</CuotaImpuesto> <TipoRecargoEquivalencia>0</TipoRecargoEquivalencia> <CuotaRecargoEquivalencia>0</CuotaRecargoEquivalencia> <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado> </DetalleIVA> </DesgloseIVA> </DetalleNoExenta> </NoExenta> </Sujeta> </DesgloseFactura> </TipoDesglose> </Factura> <HuellaTBAI> <EncadenamientoFacturaAnterior> <SerieFacturaAnterior></SerieFacturaAnterior> <NumFacturaAnterior>174</NumFacturaAnterior> <FechaExpedicionFacturaAnterior>04-10-2021</FechaExpedicionFacturaAnterior> <SignatureValueFirmaFacturaAnterior>RpVq3ZdboUtF2GZL3GfKzRhyRhPHvy2FnmD2Xjx28XKekLwdhOgmJmeouXUHXEKDVVoo0GA55XZGCSl8zf8PX2DzP2MluTXmVSFK</SignatureValueFirmaFacturaAnterior> </EncadenamientoFacturaAnterior> <Software> <LicenciaTBAI>TBAIGIPREXXXX</LicenciaTBAI> <EntidadDesarrolladora> <NIF>XXXXXXXX</NIF> </EntidadDesarrolladora> <Nombre>DESARROLLADOR</Nombre> <Version>15.5</Version> </Software> <NumSerieDispositivo>NSERIEPC</NumSerieDispositivo> </HuellaTBAI> </T:TicketBai> Código:
<?xml version="1.0"?> <T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV12.xsd " xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <Cabecera> <IDVersionTBAI>1.2</IDVersionTBAI> </Cabecera> <Sujetos> <Emisor> <NIF>11111111</NIF> <ApellidosNombreRazonSocial>NOMBRE</ApellidosNombreRazonSocial> </Emisor> <Destinatarios> <IDDestinatario> <NIF>22222222</NIF> <ApellidosNombreRazonSocial>CLIENTE</ApellidosNombreRazonSocial> <CodigoPostal>33333</CodigoPostal> <Direccion>Calle Madrid 18</Direccion> </IDDestinatario> </Destinatarios> <VariosDestinatarios>N</VariosDestinatarios> <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario> </Sujetos> <Factura> <CabeceraFactura> <NumFactura>175</NumFactura> <FechaExpedicionFactura>04-10-2021</FechaExpedicionFactura> <HoraExpedicionFactura>13:23:31</HoraExpedicionFactura> <FacturaSimplificada>N</FacturaSimplificada> <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada> </CabeceraFactura> <DatosFactura> <FechaOperacion>04-10-2021</FechaOperacion> <DescripcionFactura>Factura 175</DescripcionFactura> <DetallesFactura> <IDDetalleFactura> <DescripcionDetalle>Linea 1</DescripcionDetalle> <Cantidad>1</Cantidad> <ImporteUnitario>100</ImporteUnitario> <Descuento>0</Descuento> <ImporteTotal>121</ImporteTotal> </IDDetalleFactura> </DetallesFactura> <ImporteTotalFactura>158.26</ImporteTotalFactura> <Claves> <IDClave> <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia> </IDClave> </Claves> </DatosFactura> <TipoDesglose> <DesgloseFactura> <Sujeta> <NoExenta> <DetalleNoExenta> <TipoNoExenta>S1</TipoNoExenta> <DesgloseIVA> <DetalleIVA> <BaseImponible>158.26</BaseImponible> <TipoImpositivo>0</TipoImpositivo> <CuotaImpuesto>0.00</CuotaImpuesto> <TipoRecargoEquivalencia>0</TipoRecargoEquivalencia> <CuotaRecargoEquivalencia>0</CuotaRecargoEquivalencia> <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado> </DetalleIVA> </DesgloseIVA> </DetalleNoExenta> </NoExenta> </Sujeta> </DesgloseFactura> </TipoDesglose> </Factura> <HuellaTBAI> <EncadenamientoFacturaAnterior> <SerieFacturaAnterior/> <NumFacturaAnterior>174</NumFacturaAnterior> <FechaExpedicionFacturaAnterior>04-10-2021</FechaExpedicionFacturaAnterior> <SignatureValueFirmaFacturaAnterior>RpVq3ZdboUtF2GZL3GfKzRhyRhPHvy2FnmD2Xjx28XKekLwdhOgmJmeouXUHXEKDVVoo0GA55XZGCSl8zf8PX2DzP2MluTXmVSFK</SignatureValueFirmaFacturaAnterior> </EncadenamientoFacturaAnterior> <Software> <LicenciaTBAI>TBAIGIPREXXXX</LicenciaTBAI> <EntidadDesarrolladora> <NIF>XXXXXXXX</NIF> </EntidadDesarrolladora> <Nombre>DESARROLLADOR</Nombre> <Version>15.5</Version> </Software> <NumSerieDispositivo>NSERIEPC</NumSerieDispositivo> </HuellaTBAI> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-58375116"> <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 URI=""> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>cwZtpFCpd78YBtRdihmixKrq1Hh4vdeUzbnHOB68TIw=</ds:DigestValue> </ds:Reference> <ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-1408088310"> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>alfZZTS85XR8OTzUK/K7MkP0/EaAKCJYMY2wyUVB7gQ=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>jMUWWDclP4PZgFV7oHp2F48BFo2xlP0kx+5/vMf/YEKqxBRRkTIdFo8zaxgFbtKwFIxXsPH+DRd9rIDE2pNcuRqxMOMtbw8U2frcm/fpg0vEbEw+uE8daXzeuiwSxSyJeCUXFYMVa7afHW5ikHxrQNrsIWO07vONan+tA/pPuJQLWCF9QHzAYkiA9+DIvAO28h1KCLRPtZfb79edOKcrM+yl++8THZmOgkmjFm9atEEDyFxzEsFnBToo/R5oas+X9fTGlO//akEe4RePNNxKranf9Y473Du1UREmRgOcDjzevalZhHdM8/2+01P4I8vBIgp9LrW7kcqXWErfeRo9Ew==</ds:SignatureValue> <ds:KeyInfo> <ds:KeyValue> <ds:RSAKeyValue> <ds:Modulus>p9VyI1icLQz5ROHVLioTbggGcIjLmr+8dsEq5hbPvCM15Zktk8wSaUTZz4q2pMW2dUJw42pq88hSzyBpdl9/F5topSDokrMrOkMx9de3nUAuyPt+KACXINBtZyDleqqgrcpo6kup+CAZQ576InVwDORZ5SXlYjVo7HpC3wX9puZmN9NaTfpX62Ie2gsie01zZaACL6n5q4k8cIpfwAh8XBPAmp/EsKLzZ+aPBbpBZ4ORolgkb/0e20wzO3qqiXXGb/ACLBcrKlyBCQbfbD0eONZc1xQSBw5RNioKlELJ8M+H1OzISJKunFqU2AE3vnXfRPfCEPLoSYhOEqJ/WU0DiQ==</ds:Modulus> <ds:Exponent>AQAB</ds:Exponent> </ds:RSAKeyValue> </ds:KeyValue> <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName>CN=AC Representación, OU=CERES, O=FNMT-RCM, C=ES</ds:X509IssuerName> <ds:X509SerialNumber>9179261942007942106360154753800986544</ds:X509SerialNumber> </ds:X509IssuerSerial> <ds:X509SubjectName>C=ES, O=DESARROLLADOR, 2.5.4.97=#0C0F56415445532D423736373830303232, CN=44444444 NOMBRE (R: 11111111), 2.5.4.4=#0C13434F4E43455043494F4E20474F4E5A414C455A, 2.5.4.42=#0C0D4C5549532053414E544941474F, 2.5.4.5=#130F49444345532D34323138373337384C, 2.5.4.13=#0C505265673A3338303133202F486F6A613A54462D3631383239202F546F6D6F3A33353934202F466F6C696F3A313639202F46656368613A31332F31312F32303138202F496E73637269706369C3B36E3A31</ds:X509SubjectName> <ds:X509Certificate>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</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> <ds:Object> <xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-58375116"> <xades:SignedProperties Id="SignedProperties-1408088310"> <xades:SignedSignatureProperties> <xades:SigningTime>2021-10-07T08:13:22.025Z</xades:SigningTime> <xades:SigningCertificate> <xades:Cert> <xades:CertDigest> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>MLXj91aK6rK8d6lHMBs68CzzIhbGho9YNmPD0QpV4B4=</ds:DigestValue> </xades:CertDigest> <xades:IssuerSerial> <ds:X509IssuerName>CN=AC Representación, OU=CERES, O=FNMT-RCM, C=ES</ds:X509IssuerName> <ds:X509SerialNumber>109179261942007942106360154753800986544</ds:X509SerialNumber> </xades:IssuerSerial> </xades:Cert> </xades:SigningCertificate> <xades:SignaturePolicyIdentifier> <xades:SignaturePolicyId> <xades:SigPolicyId> <xades:Identifier>https://www.gipuzkoa.eus/ticketbai/sinadura</xades:Identifier> </xades:SigPolicyId> <xades:SigPolicyHash> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>6NrKAm60o7u62FUQwzZew24ra2ve9PRQYwC21AM6In0=</ds:DigestValue> </xades:SigPolicyHash> <xades:SigPolicyQualifiers> <xades:SigPolicyQualifier> <xades:SPURI>https://www.gipuzkoa.eus/ticketbai/sinadura</xades:SPURI> </xades:SigPolicyQualifier> </xades:SigPolicyQualifiers> </xades:SignaturePolicyId> </xades:SignaturePolicyIdentifier> </xades:SignedSignatureProperties> </xades:SignedProperties> </xades:QualifyingProperties> </ds:Object> </ds:Signature> </T:TicketBai> |
|
#7
|
|||
|
|||
|
Cita:
|
|
#8
|
|||
|
|||
|
Cita:
El error que me devuelve siempre, más detallado, es el siguiente: <Descripcion>El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- Reference URI="#SignedProperties-656969070" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)</Descripcion> No puedo probar el envío con el método facilitado por iMia (usando idhttp) porque ese método usa el certificado directamente desde archivo y yo uso el almacén de certificados. Voy a ver si consigo averiguar cómo usar el almacén de certificados con ese método y lo pruebo. Gracias de nuevo |
|
#9
|
|||
|
|||
|
Señor@s... PROBLEMA RESUELTO.
O mejor dicho... motivo descubierto. El problema está en el proceso de envío con NetHTTPClient1. Si utilizo idhttp1, no hay ningún problema y la factura se envía sin problemas, sin cambiar NADA en el proceso de creación del archivo, firma, etc. ¿Cómo puedo saber la diferencia entre lo que envía NetHTTPClient1 y lo que envía idhttp1 para saber dónde está el problema? Estoy más familiarizado con el uso del almacén de certificados en vez de con los archivos directamente y tendría que cambiar la aplicación. (aparte de que ahora NECESITO saber por qué me falla NetHTTPClient1 para poder dormir) Gracias iMia por sugerir el envío con idhttp1. La verdad es que estaba (estábamos) enfocados en que el problema no estaba ahí, sino en la generación del XML o en la firma. Última edición por espinete fecha: 07-10-2021 a las 15:18:32. |
|
#10
|
|||
|
|||
|
Cita:
Lo hago con TIdHTTP y TIdSSLIOHandlerSocketOpenSSL pongo el ejemplo por lo que has comentado del Position := 0... pero está en paginas atrás... mira el índice que te indica donde está ese código completo...
Última edición por iMia fecha: 07-10-2021 a las 08:30:54. |
![]() |
| 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 |
|