Decrypt my World

Cryptography, Security, Debugging and more!

.NET and the XAdES standard

.NET and the XAdES standard

Rate This
  • Comments 19

Hi all,

 

You may know already that SignedXml class in .NET doesn't support the XML Advanced Electronic Signatures (XAdES) standard (more info here: Which standards does SignedXml support?)

Fortunatelly my colleagues in Microsoft France developed a XAdES library for .NET (Microsoft.Xades.dll) that they published on this French site: Kit de démarrage « Signature avancée (XAdES) pour Microsoft .NET Framework v3.5 (et ultérieur)

Disclaimer: I don't speak French, so I don't understand the license for this library and cannot tell if any restrictions come with it.

 

I hope this helps.

Regards,

 

Alex (Alejandro Campos Magencio)

 

 

  • Use Google translator to understand the french.

  • Hi Alex,

    Thanks for the info and link. You can read the license (CeCILL-B) in english here:

    www.cecill.info/.../Licence_CeCILL-B_V1-en.txt

    Regards.

  • Great post indeed. I really like that you are providing information on .NET for freshers , Being enrolled  at www.wiziq.com/.../57-fresher-training-projects i found your information very helpful indeed. Thanks for it.

  • Hi, I've tested the xades library and I can validate the signature with the test program.  The problem is that I'm receiving a message from the legal entity that says: the node "comprobante" is not signed.  

    What could be wrong?

    This is original xml that I want to sign using xades-bes standard:

    <?xml version="1.0" encoding="utf-8"?>

    <factura id="comprobante" version="1.0.0">

     <infoTributaria>

       <ambiente>1</ambiente>

       <tipoEmision>1</tipoEmision>

       <razonSocial>SOLUCIONES DE GESTION DOCUMENTAL</razonSocial>

       <nombreComercial>SG DOCs</nombreComercial>

       <ruc>1792359627001</ruc>

       <claveAcceso>0502201301179235962700111000010000000111234567815</claveAcceso>

       <codDoc>01</codDoc>

       <estab>001</estab>

       <ptoEmi>001</ptoEmi>

       <secuencial>000000011</secuencial>

       <dirMatriz>Quito</dirMatriz>

     </infoTributaria>

     <infoFactura>

       <fechaEmision>03/02/2013</fechaEmision>

       <dirEstablecimiento>Quito</dirEstablecimiento>

       <contribuyenteEspecial>11111</contribuyenteEspecial>

       <obligadoContabilidad>SI</obligadoContabilidad>

       <tipoIdentificacionComprador>04</tipoIdentificacionComprador>

       <guiaRemision>100-123-000000001</guiaRemision>

       <razonSocialComprador>CEMEX</razonSocialComprador>

       <identificacionComprador>1792359627001</identificacionComprador>

       <totalSinImpuestos>272019.38</totalSinImpuestos>

       <totalDescuento>30224.38</totalDescuento>

       <totalConImpuestos>

         <totalImpuesto>

           <codigo>2</codigo>

           <codigoPorcentaje>2</codigoPorcentaje>

           <baseImponible>272019.38</baseImponible>

           <tarifa>12.00</tarifa>

           <valor>32642.33</valor>

         </totalImpuesto>

       </totalConImpuestos>

       <propina>0.00</propina>

       <importeTotal>291060.74</importeTotal>

       <moneda>DOLAR</moneda>

     </infoFactura>

     <detalles>

       <detalle>

         <codigoPrincipal>22ZZTE0361</codigoPrincipal>

         <codigoAuxiliar>1001</codigoAuxiliar>

         <descripcion>CCM DE BAJA TENSION 1 CEMEX</descripcion>

         <cantidad>1.00</cantidad>

         <precioUnitario>302243.76</precioUnitario>

         <descuento>30224.38</descuento>

         <precioTotalSinImpuesto>272019.38</precioTotalSinImpuesto>

         <impuestos>

           <impuesto>

             <codigo>2</codigo>

             <codigoPorcentaje>2</codigoPorcentaje>

             <tarifa>12</tarifa>

             <baseImponible>272019.38</baseImponible>

             <valor>32642.33</valor>

           </impuesto>

         </impuestos>

       </detalle>

     </detalles>

     <infoAdicional>

       <campoAdicional nombre="4">Delivery Note: 200013738</campoAdicional>

     </infoAdicional>

    </factura>

  • Hola Juan Carlos,

    Un gusto saludarte. Estoy utilizando la misma librería para firmar los documentos del SRI. Como veo que es tu mismo caso, quisiera saber si lograste firmar la factura electrónica con esta librería o cómo lo solucionaste.

    He probado inluso otra librería (Xades Project) pero tengo algunas dificultades.

    Hasta aquí la única manera que lo he logrado es utilizando las librerías bajo JAVA pero desde .NET es complicado el uso de las mismas.

    Coméntame por favor. De antemano quedo agradecido.

    Saludos

    Lenin

  • Hola Lenin,

    Igualmente estoy tratando de firmar para el SRI desde .NET. Puedes indicarme si finalmente te sirvió esta librería?.

    Saludos

  • Hola Juan.

    Un gusto. Te comento que no, estamos intentando hacerlo en JAVA hasta ver si es posible o no hacerlo en .Net

    Saludos

  • Hola que tal han logrado hacerlo si es así comente gracias

  • Hola,

    Yo también estoy intentando pero no consigo una firma valida.  Consigo firmar pero cuando voy a validar me da error, y no sé donde puede estar el fallo.

    Consigo un xml aparentemente correcto, pero cuando lo valido con  valide.redsara.es me devuelve:

    "Alguna de las referencias de la firma no es válida", y de aquí no salgo.

    Y viendo que no soy el único que me estoy dando cabezazos sin sacar nada, también voy a intentar con java primero, a ver que pasa.

  • Les comento que logre con java y ahora con .NET, aunque mas fácil es con .NET.

    Saludos a todos

  • También estoy haciendo la facturación electrónica, podrían indicarme qué librería utilizaron en .net

    Gracias,

    Saludos

  • Carlos estariamos agradecidos si compartieras un poco como hacerlo. habemos muchos q hemos estado buscando una luz S.O.S t estaria agradecido en lo personal

  • Carlos ayudanos un poko con este tema habemos muchos q hemos estado buscando una luz te agradezco

  • Alguien tiene un ejemplo de como realizar la firma con .Net?  Carlos dice que ya lo logró pero no parece estar interesado en ayudarnos :(

  • Hola amigos... Alguien quizá ya lo logró en .NET?

    Gracias nuevamente.

Page 1 of 2 (19 items) 12
Leave a Comment
  • Please add 7 and 1 and type the answer here:
  • Post
Translate This Page