Ver Mensaje Individual
  #89 (permalink)  
Antiguo 13/11/2010, 23:41
killer_beaner
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Facturas Digitales SAT - Mexico C#

Cita:
Iniciado por Baskes Ver Mensaje
¿Y como validar si el sello es correcto para el SAT?

Yo sigo todo el procedimiento y al validar el sello digital, me indica que no es valido. Compare mi cadena original con la que me da el SAT y es la misma, así como hash de MD5. ¿Como saber si mi sello digital es correcto?

Este es el código que uso para generar el sello digital:
Código:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
                proc.EnableRaisingEvents = true;
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.CreateNoWindow = true;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory; // Application.StartupPath;
                proc.StartInfo.FileName = "openssl.exe";
                
                proc.StartInfo.Arguments = "pkcs8 -inform DER -in aaa010101aaa_csd_01.key -passin pass:a0123456789 -out PrivateKEY.PEM ";
                proc.Start();
                proc.WaitForExit();
                ////Extraer la Llave Publica del Certificado
                proc.StartInfo.FileName = "openssl.exe";
                proc.StartInfo.Arguments = "x509 -inform DER -outform PEM -in aaa010101aaa_CSD_01.cer -pubkey -out PublicKEY.PEM";
                
                proc.Start();
                proc.WaitForExit();
                ////Firmar Hash Md5 con la llave privada
                proc.StartInfo.FileName = "openssl.exe ";
                proc.StartInfo.Arguments = string.Concat("dgst -out Firma.binario -sign PrivateKEY.PEM ", CrearHash(md5));
                
                proc.Start();
                proc.WaitForExit();
                proc.StartInfo.FileName = "openssl.exe ";
                proc.StartInfo.Arguments = "enc -in Firma.binario -a -A -out Firma.base64";
                proc.Start();
                proc.WaitForExit();
Compañeros que tal muy buena tarde,

Estoy desarrollando el sistema de facturación y tengo problema en la generación del .xml
También sigo al pie de la letra el procedimiento y al validar me indica igual que no es válido. Pero que fue leído exitosamente.
Lo que si les puedo decir es que el archivo .xml se tiene que guardar en UTF_8 en lugar de ascii que es como lo genera.
Abriéndolo con un editor de texto profesional (ultraedit) el xml lo muestra como archivo DOS, convirtiéndolo el mismo archivo a formato utf_8 y salvarlo para posteriormente validarlo en el SAT, mi problema es que no lo puedo salvar, me lo regresa al formato 2
alguna idea?