string ArchivoCertificado = @"c:\aaa010101aaa__csd_01.cer";
string key = @"c:\aaa010101aaa__csd_01.key";
string lPassword = @"12345678a";
string Digestion = "";
string strCadenaOriginal = "*** Cadena Original Utilizando XSLT del SAT";
// SAH1
SHA1 oSHA1 = SHA1CryptoServiceProvider.Create();
Byte[] textOriginal = Encoding.UTF8.GetBytes(strCadenaOriginal);
Byte[] hash = oSHA1.ComputeHash(textOriginal);
StringBuilder oSB = new StringBuilder();
foreach (byte i in hash)
oSB.AppendFormat("{0:x2}", i);
Digestion= oSB.ToString();
// leer KEY
SecureString lSecStr = new SecureString();
lSecStr.Clear();
foreach (char c in lPassword.ToCharArray())
lSecStr.AppendChar(c);
Byte[] pLlavePrivadaenBytes = System.IO.File.ReadAllBytes(key);
// Uso clSeguridad para Leer Certificado
RSACryptoServiceProvider lrsa = clsSeguridad.DecodeEncryptedPrivateKeyInfo(pLlavePrivadaenBytes, lSecStr);
SHA1CryptoServiceProvider hasher = new SHA1CryptoServiceProvider();
Byte[] bytesFirmados = lrsa.SignData(System.Text.Encoding.UTF8.GetBytes(Digestion), hasher);
// Obtengo Sello
string sellodigital = Convert.ToBase64String(bytesFirmados);
Cadena Original con mi código:
||3.2|2013-03-04T17:59:48|ingreso|Pago en una sola exhibicion|7000|7000|metodoDePago|LugarExpedicion|ABC220322S2A|ABC Veintidos|calle|10|Zuno y Patastal|Tacotalpa|Tabasco|México|86892|Regimen|CFM110311S2A|Receptor Nombre|calle|noExterior|Zuno y Patastal|Tabasco|México|86892|1|pza|1|Producto Uno|7000|7000|IVA|0|0||
SAH1
36f56c26a477751d02edd334ee670a3a3e654b04
SELLO:
hS/0jp6tnU4L3vdES7FN48pQ5N7+SV3MpOle+ffiAJ1SPcZp8GeA2pkoj7b9Rquf9pA0IIxv+lW5aLeQUh1UFF1GwepEbLBQUIKyzPbETg8/r7T016Qud/zu+CmDBlLoJ3h/p3GVXnR3xdPXEi0Eh5riu+jj4UxY1NkiD9hlYKg=
Resultado Validador SAT:
Versión del estándar: 3.2
Codificación
Comprobante expresado en UTF-8
Validación de estructura: Válido
Cadena original del CFDI:
||3.2|2013-03-04T17:59:48|ingreso|Pago en una sola exhibicion|7000|7000|metodoDePago|LugarExpedicion|ABC220322S2A|ABC Veintidos|calle|10|Zuno y Patastal|Tacotalpa|Tabasco|México|86892|Regimen|CFM110311S2A|Receptor Nombre|calle|noExterior|Zuno y Patastal|Tabasco|México|86892|1|pza|1|Producto Uno|7000|7000|IVA|0|0||
Digestión SHA-1 de cadena original expresada en hexadecimal
36f56c26a477751d02edd334ee670a3a3e654b04
Certificado usado : 20001000000100005867
Certificado reportado : 20001000000100005867
El sello del CFDI no es válido
|
Alejandro Castrejón Torres
Teléfono:(662) 200-8957 Email: alejandro...@smartfactura.com Sitio: http://www.smartfactura.com |
|
| — This message was sent by Alejandro Castrejón. If you really want to know more about me, you can visit my social services profiles |
|
--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/vfp-factura-electronica-mexico?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.