none
Firmar XML Factura DIAN Colombia - XADES-EPES

    Pregunta

  • Buenos Días

    Actualmente tengo un software de facturación y necesito firmar los documentos XML de factura electrónica DIAN, pero no he podido.

    Alguien sabe donde hay ejemplos C# para construir la librería de firma con XADES-EPES

    Muchas Gracias,

    Diego

    lunes, 09 de abril de 2018 18:10

Respuestas

  • Hola ,

    En realcion a tu consulta, ¿Pudiste resolverlo? ¿Encontraste una solucion?

    Quedo al pendiente de tus comentarios.

    Saludos cordiales

    Gracias por usar los foros de TechNet.

    Tonatiuh Abrego

    _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 03 de mayo de 2018 22:02
    Moderador
  • Muestren su xml firmado y les diré que les falta. 

    La DIAN me da el siguiente error:

    "com.indra.mmdd.signature.exceptions.ValidateException: xades4j.verification.ReferenceValueException: Reference '' cannot be validated".

    Y la firma que se envía es la siguiente:

        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7">
              <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 Id="xmldsig-3a6529b8-2674-424f-b907-d601b9b5aee0-ref0" 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>Pk733bC0e9ZTEwWw2jb9MZoG2gk=</ds:DigestValue>
                </ds:Reference>
                <ds:Reference URI="#xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-keyinfo">
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                  <ds:DigestValue>4gn73PBVP3iSXzW1td578XKW354=</ds:DigestValue>
                </ds:Reference>
                <ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-signedprops">
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                  <ds:DigestValue>2OKuaYOniGKR/+RStBDWf8J2ldY=</ds:DigestValue>
                </ds:Reference>
              </ds:SignedInfo>
              <ds:SignatureValue Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-sigvalue">BAQNahqUVUAdyUg9yOXFCvOs6is6uHV5b1aLnFiXQZCAc/uomfKl5yozjzGtQSXaKptyjIxRVbHyqQ75bLYL/RupZekNDQ92j0py9EWU9M2Lq1ihIUicP4+rQMVo2N8BhojOI/osMqJzJoMfYlCGpQHkVhPWJ5Vg/S6WeRHaXYpYOe3qIt+zhzgPL5H+IUODCcqZo/Kec1GevjBbmZNyUCdQ2YTs3zMGtZxsZoeyGbxIbxCEI3cZ9wzQfW+//QnpCLfb1lZWouE+bm/YbzdOmHVa2zxgXQH0Zn9ozhEksnV+5vdjZUDYrVUYy5AKVLYs9uV+Ha3F+jp3iY2kvFlBvw==</ds:SignatureValue>
              <ds:KeyInfo Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-keyinfo">
                <ds:X509Data>
                  <ds:X509Certificate>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</ds:X509Certificate>
                </ds:X509Data>
              </ds:KeyInfo>
              <ds:Object Id="XadesObjectId-57c83713-0c6b-4fee-a014-f6fce7771256">
                <xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Id="QualifyingProperties-bf9526b6-a7e1-4fc9-849f-bcc26c23b769" Target="#xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7">
                  <xades:SignedProperties Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-signedprops">
                    <xades:SignedSignatureProperties>
                      <xades:SigningTime>2018-06-18T15:26:23+02:00</xades:SigningTime>
                      <xades:SigningCertificate>
                        <xades:Cert>
                          <xades:CertDigest>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>BECSTEFTGWGMYFSFICZ1WJd4UV0=</ds:DigestValue>
                          </xades:CertDigest>
                          <xades:IssuerSerial>
                            <ds:X509IssuerName>C=CO, L=Bogota D.C., O=Andes SCD., OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II, E=info@andesscd.com.co</ds:X509IssuerName>
                            <ds:X509SerialNumber>854619789523300423</ds:X509SerialNumber>
                          </xades:IssuerSerial>
                        </xades:Cert>
                        <xades:Cert>
                          <xades:CertDigest>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>ydBrkDUi4OLwpDJACttO8PSuHdE=</ds:DigestValue>
                          </xades:CertDigest>
                          <xades:IssuerSerial>
                            <ds:X509IssuerName>C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion, CN=ROOT CA ANDES SCD S.A., E=info@andesscd.com.co</ds:X509IssuerName>
                            <ds:X509SerialNumber>8136867327090815624</ds:X509SerialNumber>
                          </xades:IssuerSerial>
                        </xades:Cert>
                        <xades:Cert>
                          <xades:CertDigest>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>OXeITae4OgBq7RWNUGqshhvKGk8=</ds:DigestValue>
                          </xades:CertDigest>
                          <xades:IssuerSerial>
                            <ds:X509IssuerName>C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion, CN=ROOT CA ANDES SCD S.A., E=info@andesscd.com.co</ds:X509IssuerName>
                            <ds:X509SerialNumber>3184328748892787122</ds:X509SerialNumber>
                          </xades:IssuerSerial>
                        </xades:Cert>
                      </xades:SigningCertificate>
                      <xades:SignaturePolicyIdentifier>
                        <xades:SignaturePolicyId>
                          <xades:SigPolicyId>
                            <xades:Identifier>https://facturaelectronica.dian.gov.co/politicadefirma/v1/politicadefirmav1.pdf</xades:Identifier>
                            <xades:Description>Política de firma para facturas electrónicas de la República de Colombia.</xades:Description>
                          </xades:SigPolicyId>
                          <xades:SigPolicyHash>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>61fInBICBQOCBwuTwlaOZSi9HKc=</ds:DigestValue>
                          </xades:SigPolicyHash>
                        </xades:SignaturePolicyId>
                      </xades:SignaturePolicyIdentifier>
                      <xades:SignerRole>
                        <xades:ClaimedRoles>
                          <xades:ClaimedRole>supplier</xades:ClaimedRole>
                        </xades:ClaimedRoles>
                      </xades:SignerRole>
                    </xades:SignedSignatureProperties>
                  </xades:SignedProperties>
                </xades:QualifyingProperties>
              </ds:Object>
            </ds:Signature>

    lunes, 25 de junio de 2018 8:58

Todas las respuestas

  • Hola ,

    En realcion a tu consulta, ¿Pudiste resolverlo? ¿Encontraste una solucion?

    Quedo al pendiente de tus comentarios.

    Saludos cordiales

    Gracias por usar los foros de TechNet.

    Tonatiuh Abrego

    _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 03 de mayo de 2018 22:02
    Moderador
  • No se pudo, no he encontrado ninguna respuesta.

    Parece que nadie ha podido hacer eso en C#

    martes, 15 de mayo de 2018 13:48
  • Muestren su xml firmado y les diré que les falta. 
    martes, 05 de junio de 2018 16:43
  • Muestren su xml firmado y les diré que les falta. 

    La DIAN me da el siguiente error:

    "com.indra.mmdd.signature.exceptions.ValidateException: xades4j.verification.ReferenceValueException: Reference '' cannot be validated".

    Y la firma que se envía es la siguiente:

        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7">
              <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 Id="xmldsig-3a6529b8-2674-424f-b907-d601b9b5aee0-ref0" 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>Pk733bC0e9ZTEwWw2jb9MZoG2gk=</ds:DigestValue>
                </ds:Reference>
                <ds:Reference URI="#xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-keyinfo">
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                  <ds:DigestValue>4gn73PBVP3iSXzW1td578XKW354=</ds:DigestValue>
                </ds:Reference>
                <ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-signedprops">
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                  <ds:DigestValue>2OKuaYOniGKR/+RStBDWf8J2ldY=</ds:DigestValue>
                </ds:Reference>
              </ds:SignedInfo>
              <ds:SignatureValue Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-sigvalue">BAQNahqUVUAdyUg9yOXFCvOs6is6uHV5b1aLnFiXQZCAc/uomfKl5yozjzGtQSXaKptyjIxRVbHyqQ75bLYL/RupZekNDQ92j0py9EWU9M2Lq1ihIUicP4+rQMVo2N8BhojOI/osMqJzJoMfYlCGpQHkVhPWJ5Vg/S6WeRHaXYpYOe3qIt+zhzgPL5H+IUODCcqZo/Kec1GevjBbmZNyUCdQ2YTs3zMGtZxsZoeyGbxIbxCEI3cZ9wzQfW+//QnpCLfb1lZWouE+bm/YbzdOmHVa2zxgXQH0Zn9ozhEksnV+5vdjZUDYrVUYy5AKVLYs9uV+Ha3F+jp3iY2kvFlBvw==</ds:SignatureValue>
              <ds:KeyInfo Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-keyinfo">
                <ds:X509Data>
                  <ds:X509Certificate>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</ds:X509Certificate>
                </ds:X509Data>
              </ds:KeyInfo>
              <ds:Object Id="XadesObjectId-57c83713-0c6b-4fee-a014-f6fce7771256">
                <xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Id="QualifyingProperties-bf9526b6-a7e1-4fc9-849f-bcc26c23b769" Target="#xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7">
                  <xades:SignedProperties Id="xmldsig-0afd79f9-d328-4cb1-9477-6a59cb8b75d7-signedprops">
                    <xades:SignedSignatureProperties>
                      <xades:SigningTime>2018-06-18T15:26:23+02:00</xades:SigningTime>
                      <xades:SigningCertificate>
                        <xades:Cert>
                          <xades:CertDigest>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>BECSTEFTGWGMYFSFICZ1WJd4UV0=</ds:DigestValue>
                          </xades:CertDigest>
                          <xades:IssuerSerial>
                            <ds:X509IssuerName>C=CO, L=Bogota D.C., O=Andes SCD., OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II, E=info@andesscd.com.co</ds:X509IssuerName>
                            <ds:X509SerialNumber>854619789523300423</ds:X509SerialNumber>
                          </xades:IssuerSerial>
                        </xades:Cert>
                        <xades:Cert>
                          <xades:CertDigest>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>ydBrkDUi4OLwpDJACttO8PSuHdE=</ds:DigestValue>
                          </xades:CertDigest>
                          <xades:IssuerSerial>
                            <ds:X509IssuerName>C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion, CN=ROOT CA ANDES SCD S.A., E=info@andesscd.com.co</ds:X509IssuerName>
                            <ds:X509SerialNumber>8136867327090815624</ds:X509SerialNumber>
                          </xades:IssuerSerial>
                        </xades:Cert>
                        <xades:Cert>
                          <xades:CertDigest>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>OXeITae4OgBq7RWNUGqshhvKGk8=</ds:DigestValue>
                          </xades:CertDigest>
                          <xades:IssuerSerial>
                            <ds:X509IssuerName>C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion, CN=ROOT CA ANDES SCD S.A., E=info@andesscd.com.co</ds:X509IssuerName>
                            <ds:X509SerialNumber>3184328748892787122</ds:X509SerialNumber>
                          </xades:IssuerSerial>
                        </xades:Cert>
                      </xades:SigningCertificate>
                      <xades:SignaturePolicyIdentifier>
                        <xades:SignaturePolicyId>
                          <xades:SigPolicyId>
                            <xades:Identifier>https://facturaelectronica.dian.gov.co/politicadefirma/v1/politicadefirmav1.pdf</xades:Identifier>
                            <xades:Description>Política de firma para facturas electrónicas de la República de Colombia.</xades:Description>
                          </xades:SigPolicyId>
                          <xades:SigPolicyHash>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>61fInBICBQOCBwuTwlaOZSi9HKc=</ds:DigestValue>
                          </xades:SigPolicyHash>
                        </xades:SignaturePolicyId>
                      </xades:SignaturePolicyIdentifier>
                      <xades:SignerRole>
                        <xades:ClaimedRoles>
                          <xades:ClaimedRole>supplier</xades:ClaimedRole>
                        </xades:ClaimedRoles>
                      </xades:SignerRole>
                    </xades:SignedSignatureProperties>
                  </xades:SignedProperties>
                </xades:QualifyingProperties>
              </ds:Object>
            </ds:Signature>

    lunes, 25 de junio de 2018 8:58
  • Hola buenas tardes,

    logró arreglar el asunto, pues tengo el mismo problema y no he podido resolverlo.

    Muchas gracias,

    Diego

    lunes, 16 de julio de 2018 21:17
  • hola

    No evaluaste librerias como ser

    FirmaXadesNet

    FirmaXadesNet45

    FacturaElectronicaCR

    o quizas estas preguntas

     Como Firmar Documento XML con XADES-EPES ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 17 de julio de 2018 1:20
  • He intentado con FirmaXadesNet45 c#

    pero no se como asignar el valor parametros.SignaturePolicyInfo.PolicyHash

    ?

    miércoles, 25 de julio de 2018 16:24
  • En el ejemplo de Roy Rojas usa la libreria de XadesNet, esta libreria es del departamento de nuevas tecnologias - Direccion general de urbanismo ayuntamiento de cartagena.

    Roy Rojas,modificó según tengo entendido esa libreria para que pudiera funcionar en Costa Rica... Esto no lo tengo muy claro, lo dice el.

    Aqui te pongo el ejemplo para firmar el documento..

        Public Sub FirmaXML_Xades(pathXML As String, thumbprintCertificado As String)
            Try
               
                Dim cert As X509Certificate2 = New X509Certificate2("rutaArchivoCertificado", "clave")
    
                Dim xadesService As XadesService = New XadesService
                Dim parametros As SignatureParameters = New SignatureParameters
    
                parametros.SignaturePolicyInfo = New SignaturePolicyInfo()
    
                parametros.SignaturePolicyInfo.PolicyIdentifier = "https://tribunet.hacienda.go.cr/docs/esquemas/2016/v4.1/Resolucion_Comprobantes_Electronicos_DGT-R-48-2016.pdf"
                ''La propiedad PolicyHash es la misma para todos, es un cálculo en base al archivo pdf indicado en PolicyIdentifier
                parametros.SignaturePolicyInfo.PolicyHash = "Ohixl6upD6av8N7pEvDABhEL6hM="
                parametros.SignaturePackaging = SignaturePackaging.ENVELOPED
                parametros.DataFormat = New DataFormat()
    
                parametros.Signer = New FirmaXadesNet.Crypto.Signer(cert)
                Dim fs As FileStream = New FileStream(pathXML & "_01_SF.xml", FileMode.Open)
    
                Dim docFirmado As FirmaXadesNet.Signature.SignatureDocument = xadesService.Sign(fs, parametros)
                docFirmado.Save(pathXML & "_02_Firmado.xml")
    
                'El documento se firma con el dll FirmaXadesNet
                'Esta libreria fue creada por Departamento de Nuevas Tecnologías - Dirección General de Urbanismo Ayuntamiento de Cartagena
                ''Fuente original se puede descargar en administracionelectronica.gob.es/ctt/firmaxadesnet
                ''La libreria se modificó levemente para que pueda funcionar para Costa Rica.
                ''Cambios por Roy Rojas - royrojas@dotnetcr.com - 06/Febrero/2018
    
                fs.Close()
                docFirmado = Nothing
            Catch ex As Exception
                Throw
            End Try
        End Sub

    Como ves, primero creo el xml sin firmar, y lo creo con el nombre pathXML & "_01_SF.xml

    Luego cojo ese documento y lo firmo, y lo guardo con docFirmado.Save(pathXML & "_02_Firmado.xml")

    Yo lo uso para Costa Rica, como verás, poca gente quiere ayudar en este tema de facturas electronicas, por que cobran por ello....
    Espero que te sirva el código.

    • Propuesto como respuesta J.Ramon miércoles, 25 de julio de 2018 17:40
    miércoles, 25 de julio de 2018 17:40
  • Muchas gracias por su respuesta y su valiosa colaboración

    Voy a intentarlo con este ejemplo.

    He encontrado algo en JAVA y funciona bien para firmas DIAN-Colombia, pero en C# todavía esta difícil encontrar algo que no genere error de firmado.

    Nuevamente muchas gracias, gran aporte.

     

    miércoles, 25 de julio de 2018 18:07
  • En el ejemplo que le di, debe de funcionarle...
    Lo mismo lo tiene en la respuesta que le dió Leandro, el ejemplo de Roy, ahí lo tiene tambien en C#.
    miércoles, 25 de julio de 2018 18:30
  • Hola Jose,

    Disculpa me podrías ayudar? También estoy tratando de firmar los XML para la DIAN en C# y al parecer no lo estoy haciendo correctamente. Estoy usando este código (con la librería FirmaXadesNet):

    var xades = new XadesService();
    
    var parameters = new SignatureParameters();
    parameters.SignatureMethod = SignatureMethod.RSAwithSHA512;
    parameters.DigestMethod = DigestMethod.SHA512;
    parameters.SigningDate = dtColombia;
    parameters.SignerRole = new SignerRole();
    var signerRole = RolFirmante == RolFirmanteType.FACTURANTE ? "supplier" : "third party";
    parameters.SignerRole.ClaimedRoles.Add(signerRole);
    parameters.SignatureDestination = new SignatureXPathExpression();
    parameters.SignatureDestination.Namespaces.Add("fe", "http://www.dian.gov.co/contratos/facturaelectronica/v1");
    parameters.SignatureDestination.Namespaces.Add("cbc", "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2");
    parameters.SignatureDestination.Namespaces.Add("cac", "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2");
    parameters.SignatureDestination.Namespaces.Add("clm54217", "urn:un:unece:uncefact:codelist:specification:54217:2001");
    parameters.SignatureDestination.Namespaces.Add("clm66411", "urn:un:unece:uncefact:codelist:specification:66411:2001");
    parameters.SignatureDestination.Namespaces.Add("clmIANAMIMEMediaType", "urn:un:unece:uncefact:codelist:specification:IANAMIMEMediaType:2003");
    parameters.SignatureDestination.Namespaces.Add("ext", "urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2");
    parameters.SignatureDestination.Namespaces.Add("qdt", "urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2");
    parameters.SignatureDestination.Namespaces.Add("sts", "http://www.dian.gov.co/contratos/facturaelectronica/v1/Structures");
    parameters.SignatureDestination.Namespaces.Add("udt", "urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2");
    parameters.SignatureDestination.Namespaces.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
    parameters.SignatureDestination.Namespaces.Add("ds", "http://www.w3.org/2000/09/xmldsig#");
    
    parameters.SignatureDestination.XPathExpression = "/fe:Invoice/ext:UBLExtensions/ext:UBLExtension[2]/ext:ExtensionContent";
    
    parameters.SignaturePolicyInfo = new SignaturePolicyInfo();
    parameters.SignaturePolicyInfo.PolicyDigestAlgorithm = DigestMethod.SHA512;
    //parameters.SignaturePolicyInfo.PolicyIdentifier = "https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdf";
    //parameters.SignaturePolicyInfo.PolicyHash = "74ca0cbed706e5a233818a34b48b1241e5490439d49df48e7c1a715eb9a8af46";
    //parameters.SignaturePolicyInfo.PolicyIdentifier = "http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf";
    //parameters.SignaturePolicyInfo.PolicyHash = "Ohixl6upD6av8N7pEvDABhEL6hM=";
    parameters.SignaturePolicyInfo.PolicyIdentifier = "https://www.dian.gov.co/contratos/facturaelectronica/politicafirma_v1_0.pdf";
    //parameters.SignaturePolicyInfo.PolicyHash = "Ohixl6upD6av8N7pEvDABhEL6hM=";
    parameters.SignaturePolicyInfo.PolicyHash = "5CL0Atx0jWqWoGG7rhuKOU7RN/kXCnupNAZb+fMiUu8JFLaUZb7mWXBCO2lzgKuzUObeBz1nGXtL" + "\n" + "9+0Rqw8X+Q==";
    
    parameters.SignaturePackaging = SignaturePackaging.ENVELOPED;
    parameters.InputMimeType = "text/xml";
    
    var certificate = new X509Certificate2(RutaCertificado, ClaveCertificado);
    parameters.Signer = new Signer(certificate);
    
    var xmlDocumento = documento.AsString();
    var stream = new MemoryStream(Encoding.UTF8.GetBytes(xmlDocumento));
    
    var signed = xades.Sign(stream, parameters);
    
    // este es el que comprimo, paso a base64 y envío al ws
    var signedDocument = signed.Document;

    El XML que se genera (dentro del ExtensionContent) es:

    <ds:Signature Id="Signature-b7dc5ae1-d4f6-4879-b6c3-9f88e84c3d74" 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-sha512"/>
    		<ds:Reference Id="Reference-8281b84a-e3f0-4f19-b765-2d5312fe9f5e" 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#sha512"/>
    			<ds:DigestValue>1xSE2/fl5r+7TBcfXkhpXEiXOE1siMVJaDEJX147/DQElQlAhi8QtFZU8F4P1sa/TLVuBl400SASz9tfKQ5KSA==</ds:DigestValue>
    		</ds:Reference>
    		<ds:Reference Id="ReferenceKeyInfo" URI="#KeyInfoId-Signature-b7dc5ae1-d4f6-4879-b6c3-9f88e84c3d74">
    			<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
    			<ds:DigestValue>vnbS/kFDG0XryOfVgX2FvxOxNcpP9ZKDmbzHoyM8MZEfyYrjP4A14LQ4lvjHx6hv8N0Dxzj6xrUeNceJpBq46A==</ds:DigestValue>
    		</ds:Reference>
    		<ds:Reference URI="#SignedProperties-Signature-b7dc5ae1-d4f6-4879-b6c3-9f88e84c3d74" Type="http://uri.etsi.org/01903#SignedProperties">
    			<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
    			<ds:DigestValue>2Fi5bwXKIaumpJE8ay/x09NvJxx/EMPSVCSpCFZ46Yx0KkpgnZbR+mTIWx/JmL0uCVQswIWqrnfFkGTaJIVoNw==</ds:DigestValue>
    		</ds:Reference>
    	</ds:SignedInfo>
    	<ds:SignatureValue Id="SignatureValue-b7dc5ae1-d4f6-4879-b6c3-9f88e84c3d74">dVv0tBrD+xxTGnJvNeS92Cmh6ARp8e2QqsTAtr/lO25qqcMTwIwWDgWTJEUgr6QUOHnFTgU2kfW9vGYePrhX4Wb6TeYy13oW3Uc/x1sdpr2vHis/Zjx8kCkYthdc2NtcukyfeuYDUYk7wJ+18kR88cB4oS75Wy5TZxQ/P8Oev6lFEt0yGx8kLEvWCHghzTBEpwv7IE9eElG7oPEid1uve6Bpfxg/usHuAHUvC9qpWA5xGJ64UbkDi6iQ34XJaCb5dxLHby0Q0uLyBbi4lLdnUUEh3IMqBOpZGlc+rhYlIHfuwpF6YxsoGfXzU6r0WLtCsDgRR7W9MIvlAH4+yGqqKA==</ds:SignatureValue>
    	<ds:KeyInfo Id="KeyInfoId-Signature-b7dc5ae1-d4f6-4879-b6c3-9f88e84c3d74">
    		<ds:X509Data>
    			<ds:X509Certificate>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</ds:X509Certificate>
    		</ds:X509Data>
    		<ds:KeyValue>
    			<ds:RSAKeyValue>
    				<ds:Modulus>v3SDwo6bh7ze3uAQWnuTzYXwqFTNllalBLT+EOR7U1Vz16lEInR+8HaXXdLwLkm6lOKe11JRQfSKTdw/YMFNpoFShVQ6qQNmI/cMrmd3/pUGpLLDwUw9KkCLjKQpVyl/uGpjQn5Buk/0ToC5sYHwdn+PakapccDxnrIMNJIXI9Dlb3AgF+DT6RDi0zXQkeXoMY8ozmN276s2lVj6F5jR7keF2QoyGvl2Ep0IXdSxnH3fM/WlqKLeo/mPXzxPHcjwLbKsekY2qurZmd49Jj0ug3058YVSFL/7Uiw5cWKql38PqdJPFtbVq3ZTBGNs/aTOE8R7JUaU0tuvim73RYAV7w==</ds:Modulus>
    				<ds:Exponent>AQAB</ds:Exponent>
    			</ds:RSAKeyValue>
    		</ds:KeyValue>
    	</ds:KeyInfo>
    	<ds:Object Id="XadesObjectId-c278f34e-ce48-419f-b4f4-a02086b6e496">
    		<xades:QualifyingProperties Id="QualifyingProperties-3c27d573-b4b4-4e79-8ae8-7dff9eae445c" Target="#Signature-b7dc5ae1-d4f6-4879-b6c3-9f88e84c3d74" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
    			<xades:SignedProperties Id="SignedProperties-Signature-b7dc5ae1-d4f6-4879-b6c3-9f88e84c3d74">
    				<xades:SignedSignatureProperties>
    					<xades:SigningTime>2018-07-26T22:13:08-06:00</xades:SigningTime>
    					<xades:SigningCertificate>
    						<xades:Cert>
    							<xades:CertDigest>
    								<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
    								<ds:DigestValue>4N8M71QolpZeeS6/dd2+4RAee37aIHg2BaFnUixzXawSKSB236TOQb8ka5XNHgrTwR5/oeoQIZ5EKz9NaVGSSA==</ds:DigestValue>
    							</xades:CertDigest>
    							<xades:IssuerSerial>
    								<ds:X509IssuerName>C=CO, L=Bogota D.C., O=Andes SCD., OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II, E=info@andesscd.com.co</ds:X509IssuerName>
    								<ds:X509SerialNumber>2340266111237225691</ds:X509SerialNumber>
    							</xades:IssuerSerial>
    						</xades:Cert>
    					</xades:SigningCertificate>
    					<xades:SignaturePolicyIdentifier>
    						<xades:SignaturePolicyId>
    							<xades:SigPolicyId>
    								<xades:Identifier>https://www.dian.gov.co/contratos/facturaelectronica/politicafirma_v1_0.pdf</xades:Identifier>
    								<xades:Description/>
    							</xades:SigPolicyId>
    							<xades:SigPolicyHash>
    								<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
    								<ds:DigestValue>5CL0Atx0jWqWoGG7rhuKOU7RN/kXCnupNAZb+fMiUu8JFLaUZb7mWXBCO2lzgKuzUObeBz1nGXtL9+0Rqw8X+Q==</ds:DigestValue>
    							</xades:SigPolicyHash>
    						</xades:SignaturePolicyId>
    					</xades:SignaturePolicyIdentifier>
    					<xades:SignerRole>
    						<xades:ClaimedRoles>
    							<xades:ClaimedRole>supplier</xades:ClaimedRole>
    						</xades:ClaimedRoles>
    					</xades:SignerRole>
    				</xades:SignedSignatureProperties>
    				<xades:SignedDataObjectProperties>
    					<xades:DataObjectFormat ObjectReference="#Reference-8281b84a-e3f0-4f19-b765-2d5312fe9f5e">
    					<xades:MimeType>text/xml</xades:MimeType>
    					<xades:Encoding>UTF-8</xades:Encoding>
    					</xades:DataObjectFormat>
    				</xades:SignedDataObjectProperties>
    			</xades:SignedProperties>
    		</xades:QualifyingProperties>
    	</ds:Object>
    </ds:Signature>

    Y error que el WebService me envía es:

    com.indra.mmdd.signature.exceptions.ValidateException: xades4j.verification.SignaturePolicyNotAvailableException: Verification failed for property 'SignaturePolicyIdentifier': signature policy document is not available

    Gracias

    • Editado Anderson H viernes, 27 de julio de 2018 3:44 ampliación de datos
    viernes, 27 de julio de 2018 3:33
  • com.indra.mmdd.signature.exceptions.ValidateException: xades4j.verification.SignaturePolicyNotAvailableException: Verification failed for property 'SignaturePolicyIdentifier': signature policy document is not available

    Parece que la DIAN cambio el documento PDF de política de firma

    Intente con la versión 2     politicadefirmav2

    Espero sea eso,

    sábado, 28 de julio de 2018 14:19
  • Gracias, si ya lo cambié por la versión 2, pero ahora me sale este mensaje:

    com.indra.mmdd.signature.exceptions.ValidateException: xades4j.verification.CertRefUtils$1: Verification failed for property 'SigningCertificate': Invalid issue name

    sábado, 28 de julio de 2018 23:27
  • Estuve ajustando algunas funciones del código FirmaXadesNet45 c# para lograr Firmar Xml Facturas DIAN pero no he podido lograr que lo valide la DIAN, siempre lo rechaza.

    Genera la firma con los mismos nodos como lo hace xades4j de java pero los valores de los atributos <ds:X509Certificate> y <ds:DigestValue> de las referencias son diferentes .

    Si alguno por casualidad ha trabajado y ha logrado firmar con estos módulos en c#, le pido por favor una ayuda para saber como modificar ese  código y donde.

    Muchas gracias,

    viernes, 10 de agosto de 2018 17:06
  • Yo estuve intentando por bastante tiempo hacerlo en C#, al final tuve que comprar (algo cara) una solución.

    • Editado Anderson H sábado, 11 de agosto de 2018 22:38 mal redactado
    sábado, 11 de agosto de 2018 22:36
  • Con la solución se resolvieron los problemas de la firma? como puedo adquirir la solución?
    miércoles, 15 de agosto de 2018 14:35
  • Si, ya está en producción el sistema. Si quieres pasame tu email o skype y te contacto.

    PD: pienso estandarizar y subir a Github la librería, pero lo haré hasta que tenga tiempo.

    • Editado Anderson H miércoles, 15 de agosto de 2018 17:17 anotaciones
    miércoles, 15 de agosto de 2018 16:52
  • Buenos días


    Esa solución es algún modulo de código o una librería compilada?. 

    Y Cuanto sería el costo.

    Agradezco si me puede dar mas información.

    Diego,

    jueves, 16 de agosto de 2018 14:09
  • Hola,

    A mí me vendieron una librería compilada pero también tengo el código, si gustas me pasas tu contacto y vemos.

    Por otra parte, como lo indiqué anteriormente, voy a estandarizar ese código y lo voy a subir a Github; así que si no tienes urgencia puedes esperar (ahora estoy algo ocupado, no tengo la fecha exacta pero puede ser en estas próximas semanas).

    Saludos

    jueves, 16 de agosto de 2018 15:50
  • Hola,

    A mí me vendieron una librería compilada pero también tengo el código, si gustas me pasas tu contacto y vemos.

    Por otra parte, como lo indiqué anteriormente, voy a estandarizar ese código y lo voy a subir a Github; así que si no tienes urgencia puedes esperar (ahora estoy algo ocupado, no tengo la fecha exacta pero puede ser en estas próximas semanas).

    Saludos

    Muchas gracias por su pronta respuesta,

    Seguí intentando con  FirmaXadesNet45 c# y solo tengo un problema con los saltos de linea que pone xadesj4 en los nodos Certificate y DigestValue. La clase SignedXml que genera el xml no pone los saltos cuando convierte el arreglo de bytes en base64string.

    Si en definitiva no puedo con esto, entonces acudiré a su solución.  Y si logro hacerlo lo publicaré.

    Un saludo,

    jueves, 16 de agosto de 2018 17:24
  • Entiendo. Si, de hecho lo que me vendieron es la librería FirmaXadesNet45 con algunas modificaciones.
    jueves, 16 de agosto de 2018 19:12