Sie sind auf Seite 1von 2

hsta la fecha de hoy, enero del 2017 la informacin con respecto a la firma

electrnica de la factura electrnica colombiana es muy restringida, razn por


la cual comparto las librerias para el firmado y como consumirla desde C#
(vs2012).

La librera inserta el contenido de la firma en un archivo XML


(extensioncontent). Dicho archivo debe pasarse como parmetro, as como su
ubicacin o ruta especifica, adems del certificado y su clave.

Las libreras 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 libreras hay que agregarlas como referencia al
proyecto

Posteriormente el cdigo en C# para el firmado electrnico 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 librera tambin 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 electrnico
jcaguilar40@gmail.com

Das könnte Ihnen auch gefallen