• Advertisement
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.

Twitter Timbrado? Eso lo ofrece cualquier PAC, solo nosotros te ofrecemos ademas Cancelacion, Acuse del SAT, Consulta de Saldos, Recuperar CFDI
YA CONTAMOS CON TIMBRADO Y CANCELACION DE RESPALDO, PARA CUANDO FALLE EL SERVICIO PRINCIPAL CON ECODEX (clic aqui)

Como incluir certificado en el XML

Cualquier asunto relacionado con Certificados Digitales, Rango de Folios Autorizados, Addendas Comerciales y Complementos se cubren aqui

Como incluir certificado en el XML

Notapor kike8570 » Vie Ene 07, 2011 5:37 pm

buenas tardes

como se debe de incluir el certificado en el xml

se que es opcional pero un cliente me lo pide

gracias
Enrique M
kike8570
 
Mensajes: 5
Registrado: Mié Nov 03, 2010 8:47 pm

Re: Como incluir certificado en el XML

Notapor DADO » Vie Ene 07, 2011 5:46 pm

Para pasar el certificado a base64 y poderlo poner en el XML debes usar

openssl.exe x509 -inform DER -in "aaa010101aaa_CSD_01.cer" > "Cert.txt"

en Cert.txt esta el "chorizo" formado unicamente de letras y numeros (no hay caracteres raros) y eso es lo que tienes que poner en el atributo "certificado" del nodo <Comprobante>

Saludos,

ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

DALE CLIC EN "Suscribir Tema" AL FINAL DE LA PAGINA PARA QUE EL FORO TE AVISE POR MAIL CUANDO HAY UNA RESPUESTA
Avatar de Usuario
DADO
 
Mensajes: 8767
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Como incluir certificado en el XML

Notapor DeeNeon » Lun Ene 17, 2011 7:53 pm

DADO escribió:Para pasar el certificado a base64 y poderlo poner en el XML debes usar

openssl.exe x509 -inform DER -in "aaa010101aaa_CSD_01.cer" > "Cert.txt"

en Cert.txt esta el "chorizo" formado unicamente de letras y numeros (no hay caracteres raros) y eso es lo que tienes que poner en el atributo "certificado" del nodo <Comprobante>

Saludos,


No seria el sello lo que dices, DADO?! porque tengo el mismo problema que el compañero

Cargo el archivo con
Código: Seleccionar todo
X509Certificate2 certificado = new X509Certificate2(ArchivoCertificado, elPwd);

y apartir de solo puedo obtener su NoCertificado, cosas asi, pero no el "chorizo" que dices, si alguien tiene alguna idea de como obtenerlo seria de gran ayuda.
Avatar de Usuario
DeeNeon
 
Mensajes: 18
Registrado: Lun Dic 27, 2010 12:46 pm
Ubicación: La Paz, BCS

Re: Como incluir certificado en el XML

Notapor lcarrasco » Lun Ene 17, 2011 8:03 pm

DeeNeon escribió:
DADO escribió:Para pasar el certificado a base64 y poderlo poner en el XML debes usar

openssl.exe x509 -inform DER -in "aaa010101aaa_CSD_01.cer" > "Cert.txt"

en Cert.txt esta el "chorizo" formado unicamente de letras y numeros (no hay caracteres raros) y eso es lo que tienes que poner en el atributo "certificado" del nodo <Comprobante>

Saludos,


No seria el sello lo que dices, DADO?! porque tengo el mismo problema que el compañero

Cargo el archivo con
Código: Seleccionar todo
X509Certificate2 certificado = new X509Certificate2(ArchivoCertificado, elPwd);

y apartir de solo puedo obtener su NoCertificado, cosas asi, pero no el "chorizo" que dices, si alguien tiene alguna idea de como obtenerlo seria de gran ayuda.


Hola amigo en la libreria que hice viene como, especificamente en el siguiente archivo/linea:
https://github.com/bambucode/tfacturael ... l.pas#L439

NOTA: Necesitaras tambien el archivo: https://github.com/bambucode/tfacturael ... s.pas#L482 ahi mismo viene la linea donde se define el metodo AsBase64

PD. El metodo de dado tambien es valido solo que su metodo mandar llamar al openssl.exe y mi metodo es directo con el DLL del OpenSSL, ambos validos y cuestion de gustos.
lcarrasco
 
Mensajes: 15
Registrado: Mié Nov 10, 2010 4:11 pm

Re: Como incluir certificado en el XML

Notapor DeeNeon » Lun Ene 17, 2011 8:13 pm

Gracias! le echare una hojeada!
Avatar de Usuario
DeeNeon
 
Mensajes: 18
Registrado: Lun Dic 27, 2010 12:46 pm
Ubicación: La Paz, BCS

Re: Como incluir certificado en el XML

Notapor vms » Mar Ene 18, 2011 1:57 pm

lcarrasco escribió:
DeeNeon escribió:
DADO escribió:Para pasar el certificado a base64 y poderlo poner en el XML debes usar

openssl.exe x509 -inform DER -in "aaa010101aaa_CSD_01.cer" > "Cert.txt"

en Cert.txt esta el "chorizo" formado unicamente de letras y numeros (no hay caracteres raros) y eso es lo que tienes que poner en el atributo "certificado" del nodo <Comprobante>

Saludos,


No seria el sello lo que dices, DADO?! porque tengo el mismo problema que el compañero

Cargo el archivo con
Código: Seleccionar todo
X509Certificate2 certificado = new X509Certificate2(ArchivoCertificado, elPwd);

y apartir de solo puedo obtener su NoCertificado, cosas asi, pero no el "chorizo" que dices, si alguien tiene alguna idea de como obtenerlo seria de gran ayuda.


Hola amigo en la libreria que hice viene como, especificamente en el siguiente archivo/linea:
https://github.com/bambucode/tfacturael ... l.pas#L439

NOTA: Necesitaras tambien el archivo: https://github.com/bambucode/tfacturael ... s.pas#L482 ahi mismo viene la linea donde se define el metodo AsBase64

PD. El metodo de dado tambien es valido solo que su metodo mandar llamar al openssl.exe y mi metodo es directo con el DLL del OpenSSL, ambos validos y cuestion de gustos.


Si quieres la cadena del certificado, yo lo hice asi en C#

Código: Seleccionar todo
X509Certificate2 certEmisor = new X509Certificate2();
byte[] byteCertData = ReadFile(strCertificado);
certEmisor.Import(byteCertData);
Convert.ToBase64String(certEmisor.GetRawCertData());


strCertificado es la ruta de tu archivo .cer

Espero te sirva esto..

Saludos :)
vms
 
Mensajes: 5
Registrado: Mar Ene 18, 2011 12:07 pm

Re: Como incluir certificado en el XML

Notapor DeeNeon » Mar Ene 18, 2011 3:07 pm

Gracias por la aportacion anterior, lo que sucede aqui es que no es solo leer el archivo .cer sino que leerlo como tal no proporciona el campo "certificado" dentro del XML, para hacer eso, es como dijo DADO: aplicas openssl.exe x509 -inform DER, esto convierte el archivo certificado en un PEM y ahora lo que esta dentro de el es lo que hay que extraer dando la salida en un TXT (de preferencia), el asunto aqui es que el openssl es para aplicaciones cliente, mi ambiente esta en el CFDI y no hayo forma de convertir el archivo al vuelo y agregarlo al XML en el ASP.Net. Creo que habra que seguir buscando...

Gracias de cualquier forma!
Avatar de Usuario
DeeNeon
 
Mensajes: 18
Registrado: Lun Dic 27, 2010 12:46 pm
Ubicación: La Paz, BCS

Re: Como incluir certificado en el XML

Notapor vms » Mar Ene 18, 2011 3:22 pm

DeeNeon escribió:Gracias por la aportacion anterior, lo que sucede aqui es que no es solo leer el archivo .cer sino que leerlo como tal no proporciona el campo "certificado" dentro del XML, para hacer eso, es como dijo DADO: aplicas openssl.exe x509 -inform DER, esto convierte el archivo certificado en un PEM y ahora lo que esta dentro de el es lo que hay que extraer dando la salida en un TXT (de preferencia), el asunto aqui es que el openssl es para aplicaciones cliente, mi ambiente esta en el CFDI y no hayo forma de convertir el archivo al vuelo y agregarlo al XML en el ASP.Net. Creo que habra que seguir buscando...

Gracias de cualquier forma!

Pues.. asi es como yo genero el campo certificado (cfdi.certificado en mi codigo)
estoy generando facturas de prueba y SAT me dice que todo esta bien y el validaCFD de Dado me dice lo mismo..
si usas .net no hagas tanto rollo con openssl y demas.. no es necesario.. en mi codigo no tengo llamados a nada del openssl..
te anexo de nuevo el codigo
Código: Seleccionar todo
X509Certificate2 certEmisor = new X509Certificate2(); // Generas un objeto del tipo de certificado
byte[] byteCertData = ReadFile(strCertificado); // Manda llamar la funcion Readfile para cargar el archivo .cer
certEmisor.Import(byteCertData); // Importa los datos del certificado qeu acabas de leer
Convert.ToBase64String(certEmisor.GetRawCertData()); // Conviertelos a Base64

// Funcion para leer archivo
// Se me paso ponertelo en el post anterior, disculpa :)
internal static byte[] ReadFile(string strArchivo) {
     FileStream f = new FileStream(strArchivo, FileMode.Open, FileAccess.Read);
     int size = (int)f.Length;
     byte[] data = new byte[size];
     size = f.Read(data, 0, size);
     f.Close();
     return data;
}
vms
 
Mensajes: 5
Registrado: Mar Ene 18, 2011 12:07 pm

Re: Como incluir certificado en el XML

Notapor DeeNeon » Mar Ene 18, 2011 3:42 pm

vms escribió:
DeeNeon escribió:Gracias por la aportacion anterior, lo que sucede aqui es que no es solo leer el archivo .cer sino que leerlo como tal no proporciona el campo "certificado" dentro del XML, para hacer eso, es como dijo DADO: aplicas openssl.exe x509 -inform DER, esto convierte el archivo certificado en un PEM y ahora lo que esta dentro de el es lo que hay que extraer dando la salida en un TXT (de preferencia), el asunto aqui es que el openssl es para aplicaciones cliente, mi ambiente esta en el CFDI y no hayo forma de convertir el archivo al vuelo y agregarlo al XML en el ASP.Net. Creo que habra que seguir buscando...

Gracias de cualquier forma!

Pues.. asi es como yo genero el campo certificado (cfdi.certificado en mi codigo)
estoy generando facturas de prueba y SAT me dice que todo esta bien y el validaCFD de Dado me dice lo mismo..
si usas .net no hagas tanto rollo con openssl y demas.. no es necesario.. en mi codigo no tengo llamados a nada del openssl..
te anexo de nuevo el codigo
Código: Seleccionar todo
X509Certificate2 certEmisor = new X509Certificate2(); // Generas un objeto del tipo de certificado
byte[] byteCertData = ReadFile(strCertificado); // Manda llamar la funcion Readfile para cargar el archivo .cer
certEmisor.Import(byteCertData); // Importa los datos del certificado qeu acabas de leer
Convert.ToBase64String(certEmisor.GetRawCertData()); // Conviertelos a Base64

// Funcion para leer archivo
// Se me paso ponertelo en el post anterior, disculpa :)
internal static byte[] ReadFile(string strArchivo) {
     FileStream f = new FileStream(strArchivo, FileMode.Open, FileAccess.Read);
     int size = (int)f.Length;
     byte[] data = new byte[size];
     size = f.Read(data, 0, size);
     f.Close();
     return data;
}


Amigo... me acabas de aclarar la duda de 8 dias!!! te lo agradezco de verdad!! funciona perfectamente!
Intente hacer algo similar como lo haces tu, pero siempre me marcaba el fabuloso error del "System.FormatException: Invalid length for a Base-64 char array" y pense en seguirle por otro lado... no sabes cuanto te debo! mil gracias!!
Avatar de Usuario
DeeNeon
 
Mensajes: 18
Registrado: Lun Dic 27, 2010 12:46 pm
Ubicación: La Paz, BCS

Re: Como incluir certificado en el XML

Notapor vms » Mar Ene 18, 2011 4:27 pm

DeeNeon escribió:Amigo... me acabas de aclarar la duda de 8 dias!!! te lo agradezco de verdad!! funciona perfectamente!
Intente hacer algo similar como lo haces tu, pero siempre me marcaba el fabuloso error del "System.FormatException: Invalid length for a Base-64 char array" y pense en seguirle por otro lado... no sabes cuanto te debo! mil gracias!!


Pos te paso mi cuenta de BBV y vemos de a cuanto me agradeces :D jajajajajaj ntc..
no hay problema.. yo se que todo esto de los CFD's es un desma. y quien conoce no dice nada, o dice cosas
a medias y de repente nos dejan "pior" que como estabamos cuando empezamos jajaja..

Un placer ayudarte.. :)

Saludos..
vms
 
Mensajes: 5
Registrado: Mar Ene 18, 2011 12:07 pm

Siguiente

Volver a Certificados, Folios, Addendas y Complementos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

  •  
    Advertisement
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.

Twitter Timbrado? Eso lo ofrece cualquier PAC, solo nosotros te ofrecemos ademas Cancelacion, Acuse del SAT, Consulta de Saldos, Recuperar CFDI
YA CONTAMOS CON TIMBRADO Y CANCELACION DE RESPALDO, PARA CUANDO FALLE EL SERVICIO PRINCIPAL CON ECODEX (clic aqui)