Firma Xades-epes Colombia

Hasta la fecha de hoy, enero del 2017 la información con respecto  a la  firma electrónica de la factura electrónica colombiana  es muy restringida, razón por la cual comparto las librerias para el firmado y como consumirla desde C# (vs2012).

La librería inserta el contenido de la firma en un archivo XML (extensioncontent). Dicho archivo debe pasarse como parámetro, así como su ubicación o ruta especifica, además del certificado y su clave.

Las librerías de las cuales dependen el firmado las pueden descargar del siguiente enlace:

https://www.dropbox.com/sh/n9eskklxbo73dnp/AADyMS9kIBFwWqn-mpoEDed4a?dl=0

El formato de firma está de acuerdo a lo especificado en los manuales que proporciona  la DIAN.

Una vez descargada las librerías hay que agregarlas   como referencia al proyecto

Posteriormente el código en C# para el firmado electrónico es el siguiente:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FirmadoXades;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

            public string Firmar(string CRUTA, string XMLFILE, string CRUTASALIDA, string XMLFILESALIDA, string crutanombreCertificado, string cClavecertificado)
            {
                var clasefirma =new FirmadoXades.FirmaXML();
                string resultado = "";
                resultado = clasefirma.FirmarXAdes(CRUTA, XMLFILE, CRUTASALIDA, XMLFILESALIDA, crutanombreCertificado, cClavecertificado);
                return resultado;
            }


        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
         
            string crutao = "E:\\"; //ruta de acceso al xml
            string certificado = "E:/certificado.p12";//certificado
            string clave= "xxxxxxxxxxxx"; //clave del certificado
            string xmlfe="face_fdv0900350029003A699D1Csf.XML"; //xml a firmar
            string xmlfs="firmado.xml"; //nombre del xml firmado
            MessageBox.Show( Firmar(crutao, xmlfe, crutao, xmlfs, certificado, clave));
   
        }
    }
}


La librería también puede ser consumida desde otras aplicaciones previo registro en windows, Ejm desde Foxpro.
 ol = CREATEOBJECT("firmadoxades")
MESSAGEBOX(ol.FirmarXAdes("e:\","face_fdv0900350029003A699D1Csf.XML","e:\" , "Firmado.xml","E:\certificado.p12","clave"))


Con esta rutina se logro pasar el piloto de la DIAN. Cualquier consulta sobre precios al correo electrónico
Actualizada la rutina para la V2- validación previa
jcaguilar40@gmail.com
WhatsApp
+5194806319

Comentarios

  1. Buenas tardes,

    El link para descargar la librería ya no existe... podría por favor compartirla? en verdad la estoy necesitando.

    Gracias.

    ResponderEliminar
  2. Buen dia,

    Podrias ayudarnos con el link de descarga, me he estado matando la cabeza para firmar eso y nada.

    ResponderEliminar
  3. omarnel99@hotmail, Tengo la libreria que firma

    ResponderEliminar
    Respuestas
    1. Este comentario ha sido eliminado por un administrador del blog.

      Eliminar

Publicar un comentario

Entradas populares