Ver Mensaje Individual
  #6  
Antiguo 12-11-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
Yo puedo coger un fichero .XML y firmarlo digitalmente pero eso lo que hace es añadir al .XML una serie de nodos que no creo que tengan mucho que ver con la firma que piden luego en la estructura del fichero SOAP.

Pues justo eso.
Firmar el XML genera unos nodos extra con la firma.

Por ejemplo algo así:

Código PHP:
<?xml version="1.0" encoding="utf-8"?>
<sum:RegFactuSistemaFacturacion xmlns:xd="http://www.w3.org/2000/09/xmldsig#" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
  <sum:RegistroFactura>
    <sum1:RegistroAlta>
      <sum1:IDVersion>1.0</sum1:IDVersion>
      
      .... todo esto sería lo que corresponde al registro de facturación
      .... lo quito para abreviar

      <sum1:NumRegistroAcuerdoFacturacion></sum1:NumRegistroAcuerdoFacturacion>
      <sum1:IdAcuerdoSistemaInformatico></sum1:IdAcuerdoSistemaInformatico>
      <sum1:TipoHuella>01</sum1:TipoHuella>
      <sum1:Huella>F96F84EAE2A27EE2ECC1F9283075B7EBC96817A7C18FDE46F4C3CEE7F58C56AC</sum1:Huella>
    </sum1:RegistroAlta>
  </sum:RegistroFactura>


  <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-774231ed-e9e7-47b9-96b4-706291ab3d0d">
    <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-ceebfecd-9605-4f1a-aa71-c75d652aa53c" 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>MdPzS7i+7f73ejsLpLFZqK4Gji7//N4jgeZg4EGEhKM=</ds:DigestValue>
      </ds:Reference>
      <ds:Reference Id="ReferenceKeyInfo" URI="#KeyInfoId-Signature-774231ed-e9e7-47b9-96b4-706291ab3d0d">
        <ds:Transforms>
          <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
        </ds:Transforms>
        <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
        <ds:DigestValue>4ooJRYhKp0wF5esWLT7++8acQZsoHq2lSBH7Q1x9hn8=</ds:DigestValue>
      </ds:Reference>
      <ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-Signature-774231ed-e9e7-47b9-96b4-706291ab3d0d">
        <ds:Transforms>
          <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
        </ds:Transforms>
        <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
        <ds:DigestValue>n+oqDbcVLM5jCcBFNix4eHcmQTIPXSgb+hYR7SJzUwc=</ds:DigestValue>
      </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue Id="SignatureValue-774231ed-e9e7-47b9-96b4-706291ab3d0d">
      PEm+pl4ljW2AObrD7jNIo4EWHh3YEnT1BdXQR5s1Zni6y0ELMcMTH9Gu5pLAHMCe90JHnv5KvKjjwiRF8pF0GIVaSVcmXtMGEl/LHnwJ62GJQr7lWtV1GXiOgEEeV8cu5wmw47jKUvzWSTrx6Y1jLcDd6N0YdvXB22LL4M0qTkCOMfRqIK0ni0orYA9hR7fHSdiYw4TPZyPIBFNTt4YYYStAFFtFWPQHusn0HeR3WL3DQ7syV5x7umQIWDSnmcXA5iUNBI9kAYDZvCxQHAJ68lf5G4+shn6/l6oeucF8daiuJ40GKq6u05/MUElh0bDAROVcSJ/eZu/D1OU9oTi3tUL3QRajK1P6yNduMHvpTij+VlMXdHkdERcnOElkfSYoqLhlvoR2MHpH2jrcjN12/m+1lPROr39vSfOZFxO7IoXM/FgGS1hdS7JCqTi/oe1O2WJmjJbbzQMEWZY7uxw3SRB/thC9hiJ7aBoeqSf4aIKo/2VQdZ+FJdkfVVUSgISGSNDbQK7Ijd0R8fq46s6YNgvnPf0Z/2GdPoIEagDCA5UWomc2O2mFN8toAbh0eYYV28pmPAgEF4vU/B/fWr5uq4A/n7YpTCCjsYmLULxZBqoJIHwWpB2Tjq7JKAHsFSYGdxuCcxwLwfaia7Sy07M/Nv3CjMOVANWZpUVRS+fPz4M=
    </ds:SignatureValue>
    <ds:KeyInfo Id="KeyInfoId-Signature-774231ed-e9e7-47b9-96b4-706291ab3d0d">
      <ds:X509Data>
        <ds:X509Certificate>MIIJDDCCBvSgAwIBAgIQHpqv2S+e3ZZgk/gLEO+XjjANBgkqhkiG9w0BAQsFADCBnTELMAkGA1UEBhMCRVMxFDASBgNVBAoMC0laRU5QRSBTLkEuMTowOAYDVQQLDDFBWlogWml1cnRhZ2lyaSBwdWJsaWtvYSAtIENlcnRpZmljYWRvIHB1YmxpY28gU0NBMTwwOgYDVQQDDDNFQUVrbyBIZXJyaSBBZG1pbmlzdHJhemlvZW4gQ0EgLSBDQSBBQVBQIFZhc2NhcyAoMikwHhcNMjEwNTA2MTQwNzA3WhcNMzEwNTA2MTQwNzA3WjCBoTELMAkGA1UEBhMCRVMxDTALBgNVBAoMBEFTVVMxNzA1BgNVBAsMLkdhaWx1IHppdXJ0YWdpcmlhIC0gQ2VydGlmaWNhZG8gZGUgZGlzcG9zaXRpdm8xIzAhBgNVBAsMGlpFUEhZUlVTIE0gR1U1MDJHVV9HVTUwMkdVMQswCQYDVQQLDAJQQzEYMBYGA1UEAwwPTDFOUkNWMDFENzQ4MDI3MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3+RvefNVHNcvHSzFmjXNMRdZXKctuVAY6hOy2nc486H4opgE8H5/2orrIF9wfJW6Hb5xAhc6DNhlfXoTq6a5OSAKPDyn7az8uYzuOR+HIFn8Ow8y4/An+kHCyTqN2avksmQDrc2cfxzdUYu6GVIazmfU2iFiwXCrG+lJDEeLoh+8VD6YCnFDSuCyZVUcTaPVg/ymjtVcXJoLe8qiXjha63Yf+EKt9Sz9xgRZVGA68eixJWXwU/D0UYC/miw6JWro4whWO8o5vDrSdLvpmpojXRRCZcDktFKwsIbJW9u7bFxNv5LPzVgM14mBzpUfJ2/JuQbB79Gq6l6NPtN53qlHPgA3jTJTOX0vHqkCEU1VTVN8UqHmNQxbXt6gbRERaQRt/h0lE4yW+GYI7AQLoDlpwFRXRt5bL8NcCWQtH7HkUyNbN3EQFj48sOn5sVKzOfkbWPPC5BgSoziXlPpsTYZMlP2uLv3vD1iY0XHau/C821FJVZ0r/oqE37rukHk8gyCP6Yc1xON05d2rrs+rwTqgwxnSWx4SogyGyzdovS0LUT/zfM+fLJeILC5941X5iMSvvrHrGN829f+J+/uo5dez5X4eyyzqXrc/FwbgT02Y+kni2c1Wb+T5XmnVTpiwarI38W6zru+XTEPKirhJnEGIy1tT85JGoBlzWXSnY794XDsCAwEAAaOCA0AwggM8MIHHBgNVHRIEgb8wgbyGFWh0dHA6Ly93d3cuaXplbnBlLmNvbYEPaW5mb0BpemVucGUuY29tpIGRMIGOMUcwRQYDVQQKDD5JWkVOUEUgUy5BLiAtIENJRiBBMDEzMzcyNjAtUk1lcmMuVml0b3JpYS1HYXN0ZWl6IFQxMDU1IEY2MiBTODFDMEEGA1UECQw6QXZkYSBkZWwgTWVkaXRlcnJhbmVvIEV0b3JiaWRlYSAxNCAtIDAxMDEwIFZpdG9yaWEtR2FzdGVpejAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFP7l1cwcXOUTcx9428TFx7oWETeTMB8GA1UdIwQYMBaAFMCpSvdHJYf/vLWmic6C0kaoieujMIIBHgYDVR0gBIIBFTCCAREwggENBgorBgEEAfM5AQMCMIH+MCUGCCsGAQUFBwIBFhlodHRwOi8vd3d3Lml6ZW5wZS5jb20vY3BzMIHUBggrBgEFBQcCAjCBxwyBxEJlcm1lZW4gbXVnYWsgZXphZ3V0emVrbyB3d3cuaXplbnBlLmNvbSBaaXVydGFnaXJpYW4ga29uZmlhbnR6YSBpemFuIGF1cnJldGlrIGtvbnRyYXR1YSBpcmFrdXJyaS5MaW1pdGFjaW9uZXMgZGUgZ2FyYW50aWFzIGVuIHd3dy5pemVucGUuY29tIENvbnN1bHRlIGVsIGNvbnRyYXRvIGFudGVzIGRlIGNvbmZpYXIgZW4gZWwgY2VydGlmaWNhZG8wHwYDVR0lBBgwFgYIKwYBBQUHAwIGCisGAQQBgjcKAwwwgaAGCCsGAQUFBwEBBIGTMIGQMCIGCCsGAQUFBzABhhZodHRwOi8vb2NzcC5pemVucGUuY29tMGoGCCsGAQUFBzAChl5odHRwOi8vd3d3Lml6ZW5wZS5jb20vY29udGVuaWRvcy9pbmZvcm1hY2lvbi9jYXNfaXplbnBlL2VzX2Nhcy9hZGp1bnRvcy9BQVBQTlJfY2VydF9zaGEyNTYuY3J0MDoGA1UdHwQzMDEwL6AtoCuGKWh0dHA6Ly9jcmwuaXplbnBlLmNvbS9jZ2ktYmluL2NybGludGVybmEyMA0GCSqGSIb3DQEBCwUAA4ICAQCSM24d7ToO2NXrsNp4U8PcgmT3qVTbGgtfZix8774SzElCaKBYZvEDqsJpTdlpzDmUXbCtAJsFGeCj/vz3P4Ot1DUYiej7TttsSsTLZUHrxI8mn++R9vlXLOsioRxf4XORdyvinRgUHv3SJ6Xk6Yc67QRKjJsOQhjTuZ0fyzNsyCwvEJ2W8B1UhAuUF0rGzmez6brwfJnWtZMMCRtPsvaHvG2CK91koqkuoYdheoKFC3Ud5TMP1djc5p5KXzFzTNgHIX1Wl6L8go+Pco24V67hG7n58daRI0RVG7guuYMbxk1r76/58QnIYVD0n44QT0b27Ki0flG6rFLfNRZpiNUMAPTtDAAH3aJ41XoNwkfOyxZrt9BUUdg5wCJI+1TYsClXkUj395w3DSZ8BY55QNOyrf5XQjDmtuk/jqTzjlheAL94NIAs5Pa+vG8b8aOuNG6MKZXNF1hKPx7bZ4cxkWnLJX8wA0Ohw8I8TqWDc44ZAwXvxAjwTM7WrXtMixeCIapJjQwR9TJvtf+I1FvnLsPUVlnAuqkjs6K4Wzd3CmekqNLXGX/1jfi0avmkVAHbFGFnmwoKyW7zP7MVMELSAF9O9szOdIDS8L1IckohxvZr8P+IkYRbJPhy0HFFJrqevnwAqI4wYL5fFlj3CJGDhwwgTYdx/79ph9fp3sXUIAhO7Q==</ds:X509Certificate>
      </ds:X509Data>
      <ds:KeyValue>
        <ds:RSAKeyValue>
          <ds:Modulus>3+RvefNVHNcvHSzFmjXNMRdZXKctuVAY6hOy2nc486H4opgE8H5/2orrIF9wfJW6Hb5xAhc6DNhlfXoTq6a5OSAKPDyn7az8uYzuOR+HIFn8Ow8y4/An+kHCyTqN2avksmQDrc2cfxzdUYu6GVIazmfU2iFiwXCrG+lJDEeLoh+8VD6YCnFDSuCyZVUcTaPVg/ymjtVcXJoLe8qiXjha63Yf+EKt9Sz9xgRZVGA68eixJWXwU/D0UYC/miw6JWro4whWO8o5vDrSdLvpmpojXRRCZcDktFKwsIbJW9u7bFxNv5LPzVgM14mBzpUfJ2/JuQbB79Gq6l6NPtN53qlHPgA3jTJTOX0vHqkCEU1VTVN8UqHmNQxbXt6gbRERaQRt/h0lE4yW+GYI7AQLoDlpwFRXRt5bL8NcCWQtH7HkUyNbN3EQFj48sOn5sVKzOfkbWPPC5BgSoziXlPpsTYZMlP2uLv3vD1iY0XHau/C821FJVZ0r/oqE37rukHk8gyCP6Yc1xON05d2rrs+rwTqgwxnSWx4SogyGyzdovS0LUT/zfM+fLJeILC5941X5iMSvvrHrGN829f+J+/uo5dez5X4eyyzqXrc/FwbgT02Y+kni2c1Wb+T5XmnVTpiwarI38W6zru+XTEPKirhJnEGIy1tT85JGoBlzWXSnY794XDs=</ds:Modulus>
          <ds:Exponent>AQAB</ds:Exponent>
        </ds:RSAKeyValue>
      </ds:KeyValue>
    </ds:KeyInfo>
    <ds:Object Id="XadesObjectId-e1f7803a-06c3-4efb-80a1-240de019d004">
      <xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Id="QualifyingProperties-8b4ef365-4074-4ac4-9cac-5a609fc6672a" Target="#Signature-774231ed-e9e7-47b9-96b4-706291ab3d0d">
        <xades:SignedProperties Id="SignedProperties-Signature-774231ed-e9e7-47b9-96b4-706291ab3d0d">
          <xades:SignedSignatureProperties>
            <xades:SigningTime>2024-11-12T16:19:07+01:00</xades:SigningTime>
            <xades:SigningCertificate>
              <xades:Cert>
                <xades:CertDigest>
                  <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                  <ds:DigestValue>7RfvGuxIRTKz5Thh0ysc2xcu7vcSE7XLJmVIgr2d41k=</ds:DigestValue>
                </xades:CertDigest>
                <xades:IssuerSerial>
                  <ds:X509IssuerName>CN=EAEko Herri Administrazioen CA - CA AAPP Vascas (2), OU=AZZ Ziurtagiri publikoa - Certificado publico SCA, O=IZENPE S.A., C=ES</ds:X509IssuerName>
                  <ds:X509SerialNumber>40680020218691596437659190274445776782</ds:X509SerialNumber>
                </xades:IssuerSerial>
              </xades:Cert>
            </xades:SigningCertificate>
            <xades:SignaturePolicyIdentifier>
              <xades:SignaturePolicyId>
                <xades:SigPolicyId>
                  <xades:Identifier>https://www.agenciatributaria.es/verifactu/firma</xades:Identifier>
                  <xades:Description></xades:Description>
                </xades:SigPolicyId>
                <xades:SigPolicyHash>
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                  <ds:DigestValue>aHR0cHM6Ly93d3cuYWdlbmNpYXRyaWJ1dGFyaWEuZXMvdmVyaWZhY3R1L2Zpcm1h</ds:DigestValue>
                </xades:SigPolicyHash>
              </xades:SignaturePolicyId>
            </xades:SignaturePolicyIdentifier>
            <xades:SignerRole>
              <xades:ClaimedRoles>
                <xades:ClaimedRole>tercero</xades:ClaimedRole>
              </xades:ClaimedRoles>
            </xades:SignerRole>
          </xades:SignedSignatureProperties>
          <xades:SignedDataObjectProperties>
            <xades:DataObjectFormat ObjectReference="#Reference-ceebfecd-9605-4f1a-aa71-c75d652aa53c">
              <xades:MimeType>text/xml</xades:MimeType>
              <xades:Encoding>UTF-8</xades:Encoding>
            </xades:DataObjectFormat>
          </xades:SignedDataObjectProperties>
        </xades:SignedProperties>
      </xades:QualifyingProperties>
    </ds:Object>
  </ds:Signature>
</sum:RegFactuSistemaFacturacion>
La parte del <ds:signature>...</ds:signature> sería el resultado de firnmar el XML.
__________________
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.
Responder Con Cita