none
Firmar archivo xml para sunat RRS feed

  • Pregunta

  • Hola, buen día a todos, espero puedan ayudarme, ya tengo casi todo listo con el archivo xml para sunat, el problema es que al generar la firma digital todo el elemento <signature> se coloca al final del archivo xml, es decir, la firma se situa siempre al final justo antes del elemento </invoice> y la sunat quiere que la firma esté despues o seguido del elemento <ext:ExtensionContent>

    Gracias de antemano por el apoyo.

    Esta sería la estructura y el orden correcto

    <Invoice>
    <ext:UBLExtensions>
    <ext:UBLExtension>
    <ext:ExtensionContent>
    <ds:Signature>
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <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/2000/09/xmldsig#sha1"/>
    <ds:DigestValue>S6tPY0M3c0rCnYQu966b23tifCM=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>Z+neH/zv7pg6gtyjoopJBaCCdnGnJt/eyMvVQZH2pl5lN2g01saQUkdTWn9j
    wDFV6VdKZiIqNlMAxMjEBc0fzdADUttSg8sysbBiBNuw7GxCgX7phQ1hWK24
    Pnc/LvjcHWTYOZnG9xcsWUyrYGBJngBAAaoCPeED/J8wsMOBx+i4NjFGrQdj
    GCQhoHeippCJnYrRXwlnD5dW7JTCSwhvuYwNhu3Z2gU1Ip9c8IPAiBNtl2yQ
    5NFqZvNP3wA7Ja6uIr3AmieupkHLb6Utj4MqUIbSLNu13xpCT4esajwG9AMa
    Pk/9bbuS6/+zMxDlkxbQXJJmuNIGgzTL/g+9dRbyog==</ds:SignatureValue>
    jueves, 23 de agosto de 2018 12:42

Todas las respuestas

  • Hola creo que quedaría así:

    <Invoice>
    <ext:UBLExtensions>
    <ext:UBLExtension>
    <ext:ExtensionContent>

    <ds:SignatureValue>Z+neH/zv7pg6gtyjoopJBaCCdnGnJt/eyMvVQZH2pl5lN2g01saQUkdTWn9j
    wDFV6VdKZiIqNlMAxMjEBc0fzdADUttSg8sysbBiBNuw7GxCgX7phQ1hWK24
    Pnc/LvjcHWTYOZnG9xcsWUyrYGBJngBAAaoCPeED/J8wsMOBx+i4NjFGrQdj
    GCQhoHeippCJnYrRXwlnD5dW7JTCSwhvuYwNhu3Z2gU1Ip9c8IPAiBNtl2yQ
    5NFqZvNP3wA7Ja6uIr3AmieupkHLb6Utj4MqUIbSLNu13xpCT4esajwG9AMa
    Pk/9bbuS6/+zMxDlkxbQXJJmuNIGgzTL/g+9dRbyog==</ds:SignatureValue>

    <ds:Signature>
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <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/2000/09/xmldsig#sha1"/>
    <ds:DigestValue>S6tPY0M3c0rCnYQu966b23tifCM=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>

    lunes, 8 de octubre de 2018 6:08
  • Y cómo hiciste para obtener el valor de la etiqueta <ds:DigestValue>? Aún no puedo obtenerlo.

    Gracias

    lunes, 8 de octubre de 2018 6:08
  • Hola Juan Carlos, tu inconveniente está en tu función con la que firmas, ahí debes estar agregando la firma al final, en vez de agregarlo en la primera etiqueta que corresponde.

    Puedes compartirnos su función de firma, para guiarte en donde está el inconviente, si es que no lo encuentras.

    lunes, 8 de abril de 2019 23:02