Ver Mensaje Individual
  #746  
Antiguo 02-06-2021
tejano tejano is offline
Miembro
 
Registrado: dic 2020
Posts: 128
Reputación: 4
tejano Va por buen camino
Cita:
Empezado por Band Ver Mensaje
Buenas,

estoy usando el autofirma del gobierno (desde línea de comandos) y me encuentro algo curioso cuando firmo.

Lo primero, firmo el fichero de la siguiente manera:

Código Delphi [-]
signParams := 'sign -format XAdES ' +
                '-config xadesSignFormat="XAdES Enveloped" ' +
                '-xml ' + 
                '-i "ficheroxmlorigen.xml" ' +
                '-o "ficheroxmlfirmado.xml" ' + 
                '-store pkcs12:"sello_entidad_act.p12" ' + // certificado prueba izenpe
                '-filter "imported" ' + 
                '-password "IZDesa2021" ';

Después ejecuto el autofirmaCommandLine.exe con estos parámetros. Me devuelve una respuesta correcta y cuando abro el fichero firmado, me encuentro que me pone una parte antes del tag de apertura de <T:TicketBai>

Código:
<?xml version="1.0" encoding="UTF-8"?><ds:Signature xmlns:ds="htxp://ww.w3.org/2000/09/xmldsig#" Id="Signature-8fa9da36-336e-45d6-b3dd-b71754940975-Signature"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="htxp://ww.w3.org/TR/2001/REC-xml-c14n-20010315"/><ds:SignatureMethod Algorithm="htxp://ww.w3.org/2001/04/xmldsig-more#rsa-sha512"/><ds:Reference Id="Reference-7022344d-8098-40e2-85a1-9b6fac8e7fe2" Type="htxp://ww.w3.org/2000/09/xmldsig#Object" URI="#Object-85d35cbb-4970-4879-9b8f-36a791abaa3e"><ds:Transforms><ds:Transform Algorithm="htxp://ww.w3.org/TR/2001/REC-xml-c14n-20010315"/></ds:Transforms><ds:DigestMethod Algorithm="htxp://ww.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>Ez+74wZNxKZZKtEqJ316cqdmFS8PleD/FYXLGPJlLRbzy9m3cBPhnBlVBfy5bfXO1v7sDrWDytdpIC6j7G+sqw==</ds:DigestValue></ds:Reference><ds:Reference Type="htxp://uri.etsi.org/01903#SignedProperties" URI="#Signature-8fa9da36-336e-45d6-b3dd-b71754940975-SignedProperties"><ds:DigestMethod Algorithm="htxp://ww.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>UlcCCa03GKj736PTmA4XE75OKg1t0H5s6Wy6wnNYK4CQz8RhSI+E5qawUZlTaR8A4HYC7an1gZ7uYLcOzOBfyw==</ds:DigestValue></ds:Reference><ds:Reference URI="#Signature-8fa9da36-336e-45d6-b3dd-b71754940975-KeyInfo"><ds:DigestMethod Algorithm="htxp://ww.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>Qi/soITpAWmbm4ijl/kbUO24PpZosIDoBFjT7idNWrZRShw3+7WxehTxFYy0+BZI8vaHegq0p4ybuzQ1+zQfUA==</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="Signature-8fa9da36-336e-45d6-b3dd-b71754940975-SignatureValue">MSzBViTRZjMXM6kpQXs/AD/eMTfCnY/iN5NJMeYjLjVF4K/f5xzXSJjjIQFpc6zTtN3WzYGtKnCISOqXQfYy0AsxH6MEtQsGjUGVVNEyjOyRN4n4tiP6YFhZSesAZkkY9J03qOxWxAN/KphKqCi2iQkflEpuCqgVta51zfop9sLf8w/8iNzSj3JbUz88LBihlpMSgPTCv5UFXvGczji4dq1P5wkqlT5Mfbwt75zRKnwBtuhCIIFm/0ZqrMGeCspHXEMKfR2LIUIXVVkQvG5LaUTL9LbizIPEXkFxzOzFZxATTGrv9s/FxJ9so2ro6RlWYHqiHXf5rmk+Lvz1uTbsZg==</ds:SignatureValue><ds:KeyInfo Id="Signature-8fa9da36-336e-45d6-b3dd-b71754940975-KeyInfo"><ds:X509Data><ds:X509Certificate>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</ds:X509Certificate></ds:X509Data><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>2iBFxg9FDP2ilY7AEL0EFIVKSK8k3rGIx+lrPMta+TeGSgyHUIn+iv3KmhBBduFyHVzD7M9bvwc+Tgqvpe7y5VbY9+4w1mbwzuZqKhQELtGX9+uDVOeDZiTrBxJtm/7pp4X55QrsuA1JhL7Amfc4IwX8WZG0Wc0S0/QblBax1sTQ4wxb7rOnOfMSAqcdZ0XHCM6l7TQrwgmQ4gZW35BsXbgO1uT9TZGhhDNaZDwzcL4qSc7FiPGoUuTLD3Ob4H4oXvGcbDxOLZ/VUWvDQCZiWY8iPXP4of2LKgnSdDPzb3XVhqAk4P/tuQnNALhvcjob//zyCxfBupfYII29DC5sEw==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue></ds:KeyInfo><ds:Object Id="Object-85d35cbb-4970-4879-9b8f-36a791abaa3e" MimeType="text/xml"><T:TicketBai xmlns:T="urn:ticketbai:emision">

y otra parte al final del documento, después del tag </T:TicketBai>

Código:
</T:TicketBai></ds:Object><ds:Object><xades:QualifyingProperties xmlns:xades="htxp://uri.etsi.org/01903/v1.3.2#" Id="Signature-8fa9da36-336e-45d6-b3dd-b71754940975-QualifyingProperties" Target="#Signature-8fa9da36-336e-45d6-b3dd-b71754940975-Signature" xmlns:ds="htxp://ww.w3.org/2000/09/xmldsig#"><xades:SignedProperties Id="Signature-8fa9da36-336e-45d6-b3dd-b71754940975-SignedProperties"><xades:SignedSignatureProperties><xades:SigningTime>2021-06-02T11:04:53+02:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="htxp://ww.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>lF2EMvVHlIK9Aa4kMV3nRJ1/JiKlclPKKqMNR/tB0bEWzijflNYzT204iuMKfWTEDRu1+k++TT66aBV/9fX7Ow==</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>CN=CA de Ciudadanos y Entidades (4) - DESARROLLO, OU=NZZ Ziurtagiri publikoa - Certificado publico SCI, O=IZENPE S.A., C=ES</ds:X509IssuerName><ds:X509SerialNumber>7038</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#Reference-7022344d-8098-40e2-85a1-9b6fac8e7fe2"><xades:Description/><xades:ObjectIdentifier><xades:Identifier Qualifier="OIDAsURN">urn:oid:1.2.840.10003.5.109.10</xades:Identifier><xades:Description/></xades:ObjectIdentifier><xades:MimeType>text/xml</xades:MimeType><xades:Encoding/></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature>

Si envio el fichero tal cual después de firmarlo, obtengo la siguiente respuesta:

Código:
<Codigo>002</Codigo>
<Descripcion>Error: El fichero de alta TicketBAI no cumple el esquema XSD. Detalle del error: cvc-complex-type.2.4.b: The content of element 'T:TicketBai' is not complete. One of '{"htxp://ww.w3.org/2000/09/xmldsig#":Signature}' is expected.</Descripcion>
Lo cual es normal, ya que no estoy cumpliendo con el esquema.
Pero si luego simplemente pongo bien a mano la firma donde toca, como está en sus ejemplos, me devuelve la siguiente respuesta:

Código:
<Salida>
        <IdentificadorTBAI>TBAI-B12345679-270819-LyOCa+YH/nwde-017</IdentificadorTBAI>
        <FechaRecepcion>02-06-2021 11:39:48</FechaRecepcion>
        <Estado>00</Estado>
        <Descripcion>Recibido</Descripcion>
        <Azalpena>Jasota</Azalpena>
        <ResultadosValidacion>
            <Codigo>008</Codigo>
            <Descripcion>El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- SignedInfo failed to verify. Reference URI="#Object-76fa901b-053f-4a52-a1c7-99ea25d23551" failed to verify. Reference URI="#Signature-cf5f9ae0-96fb-4306-bd15-709cde0c3501-SignedProperties" failed to verify. Reference URI="#Signature-cf5f9ae0-96fb-4306-bd15-709cde0c3501-KeyInfo" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)</Descripcion>
            <Azalpena>El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- SignedInfo failed to verify. Reference URI="#Object-76fa901b-053f-4a52-a1c7-99ea25d23551" failed to verify. Reference URI="#Signature-cf5f9ae0-96fb-4306-bd15-709cde0c3501-SignedProperties" failed to verify. Reference URI="#Signature-cf5f9ae0-96fb-4306-bd15-709cde0c3501-KeyInfo" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)</Azalpena>
        </ResultadosValidacion>
        <ResultadosValidacion>
            <Codigo>010</Codigo>
            <Descripcion>Aviso: Posible error de encadenamiento.</Descripcion>
            <Azalpena>Abisua: Litekeena da kateamendu errorea gertatzea.</Azalpena>
        </ResultadosValidacion>
        <CSV>TBAIab94d122-fb84-4828-9e5e-45f565ed7536</CSV>
    </Salida>

Así que me lo acepta pero me sale este mensaje: "El mensaje ha sido modificado en tránsito o la firma no está bien realizada" que es correcto, ya que no se debe modificar el fichero una vez firmado (o creo que es a causa de esto).

Agradecería si alguien sabe porque la firma no sale donde toca (supongo que debe ser antes del cierre del tag <T:TicketBai> ya que así sale en sus ejemplos) Si es que estoy generando algo mal en el xml o algo me falla en los parámetros del autofirma.

Gracias!
Yo utilizo este comando para firmarlo y creo que va bien, aunque todavía no he podido enviar ninguna por el problema con el curl

AutoFirmaCommandLine.exe sign
-i fichero_origen
-o fichero_destino
-store pkcs12:certificado_p12
-password password_certificado_p12
-filter certificado_p12
-format xades -xml
-config "format=XAdES Enveloped
\npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_
especificaciones_de_la_firma_electronica_v1_0.pdf
\npolicyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=
\npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256
\npolicyQualifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_
especificaciones_de_la_firma_electronica_v1_0.pdf
Responder Con Cita