Ver Mensaje Individual
  #196 (permalink)  
Antiguo 22/09/2010, 17:05
scorpionsdd
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
scopionssdd, con respecto a lo que comentas, no te confundas, lo que estas haciendo con las instrucciones es obtener la cadena original basandote en la información de tu factura en xml, sin embargo esa cadena un no esta sellada, como te comenta aksuesipn esa cadena resultante te servirá para procesarla con el hash.

Saludos!
HOLA hegaes, GRACIAS POR LA AYUDA, PERO CREO YA ME CONFUNDI MAS, LO QUE PASA ES QUE EL PROCESO QUE REALIZO ES EL SIGUIENTE:

string Path = @"C:\Documents and Settings\Administrador\Mis documentos\HIT SERVICES\VS.NET\FacturacionElectronica.Net\Docs\";
string strCadenaOriginal;
string ArchivoCertificado =Path+ @"CERTIFICADOS\aaa010101aaa_CSD_01.cer";
string key = Path + @"CERTIFICADOS\aaa010101aaa_CSD_01.key";
string lPassword = @"a0123456789";
string Digestion = "";
DateTime Fecha = DateTime.Now ;
string Fechas = "";
//GENERO MI CADENA ORIGINAL LEYENDO LOS DATOS DE EMISOR, RECEPTOR Y DETALLE DE FACTURA
Fechas = Fecha.Date.ToString("yyyy-MM-dd") + "T" + Fecha.ToString("HH:mm:ss");
strCadenaOriginal = "||A|1|" + Fechas + "|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||";
//APLICO DIGESTION
Digestion = clsSeguridad.CodificarMD5(strCadenaOriginal);
//USO EL PASSWORD.TXT
SecureString lSecStr = new SecureString();
lSecStr.Clear();
foreach (char c in lPassword.ToCharArray())
lSecStr.AppendChar(c);
//PASO A BYTE .KEY
Byte[] pLlavePrivadaenBytes = System.IO.File.ReadAllBytes(key);
//OBTENGO SELLO DIGITAL CON AYUDA DEL .KEY Y PASSWORD
RSACryptoServiceProvider lrsa = clsSeguridad.DecodeEncryptedPrivateKeyInfo(pLlaveP rivadaenBytes, lSecStr);
MD5CryptoServiceProvider hasher = new MD5CryptoServiceProvider();
Byte[] bytesFirmados = lrsa.SignData(System.Text.Encoding.UTF8.GetBytes(s trCadenaOriginal), hasher);
string sellodigital = Convert.ToBase64String(bytesFirmados);
//LEER .CER PARA OBTENER EL NO. CERTIFICADO
X509Certificate2 certificado = new X509Certificate2(ArchivoCertificado);
String NoCertificado =clsSeguridad.HexToString(certificado.SerialNumber );
//DESPUES DE OBTENER EL SELLO DIGITAL EN NO. CERTIFICADO GENERO EL XML PARA REALIZAR VALIDACION
GeneraXML(sellodigital, NoCertificado, Fecha,Path);

SI TE DAS CUENTA LA DIGESTION LA REALIZO Y OBTENGO UN STRING, PERO NO LO OCUPO EN OTRA PARTE, ESPERO ME PUEDAS AYUDAR A ACLARAR QUE ESTOY HACIENDO MAL.

SALUDOS Y GRACIAS POR TU ATENCION