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
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
+5194806319
Buenas tardes,
ResponderEliminarEl link para descargar la librería ya no existe... podría por favor compartirla? en verdad la estoy necesitando.
Gracias.
Buen dia,
ResponderEliminarPodrias ayudarnos con el link de descarga, me he estado matando la cabeza para firmar eso y nada.
omarnel99@hotmail, Tengo la libreria que firma
ResponderEliminarEste comentario ha sido eliminado por un administrador del blog.
Eliminar