Ver Mensaje Individual
  #153 (permalink)  
Antiguo 10/09/2010, 09:37
Avatar de admado
admado
 
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 18 años, 4 meses
Puntos: 0
Pregunta Respuesta: Factura electroncia sat mexico

He leído todo el tema de este foro así como “Factura Electrónica en México” y he probado las líneas que aquí se han expuesto pero aun NO lo logro que el sello digital sea correcto.

Yo estoy haciendo la factura electrónica en PHP, pero a mí no me dan los resultados esperados.

Baje un validador y lo instale en mi máquina para hacer pruebas. http://www.validacfd.com/
Porque como todos no había podido pasar el validador del SAT, con esta aplicación pude saber los errores que estaba cometiendo. Con el XML que expongo si paso el validador del SAT, pero no logro sacar el sello digital que ahí se muestra.

prueba_01 (sello).xml
Código:
<?xml version="1.0" encoding="UTF-8"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd " version="2.0" serie="A" folio="1" fecha="2010-09-02T16:30:00" noAprobacion="122956" anoAprobacion="2010" formaDePago="Pago en una sola exhibicion" noCertificado="30001000000100000800" subTotal="350" descuento="0" total="406" metodoDePago="Efectivo" tipoDeComprobante="ingreso" sello="ndqRTaREJtNEBkajhRc2vQ3clCtCGgpAHgLIbkXM4g56vF9DL8Vu/3WvTn0jbETZSoRvjKQgjdC65f6Fl5w4fKYBbgLT4cqVclSHE7F5F4TkfoXTrdudXFHb5W4NGgUULaOu7qlHZdPj+3W0SPFCwcK0ig9Hp4cfqBSS0knWP1k=" certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAxNjU4NDBaFw0xMjA3MjkxNjU4NDBaMIGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQBgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEwMTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlVAgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23UYzNGlXn5+i0HxxuWonc2GYKFGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSwRczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQRM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuKYL5Z16kW8zlVHw7CtmjhfjoIMwjQo3prifWxFv7VpfIBstKKShU0qB6KzUUNwg2Ola4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6bpF2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhTgwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUnj"><Emisor rfc="SAT970701NN3" nombre=" Servicio de Administración Tributaria&#xA;"><DomicilioFiscal calle="AV. HIDALGO" noExterior="77" municipio="CUAUHTÉMOC" estado="DISTRITO FEDERAL" pais="MÉXICO" codigoPostal="06300"/></Emisor><Receptor nombre="Rosa María Calderón Uriegas" rfc="CAUR390312S87">
                            <Domicilio calle="PRIV. CEIBA" codigoPostal="62900" colonia="BOSQUE" estado="MORELOS" localidad="JOJUTLA" municipio="JOJUTLA" noExterior="114" pais="México"/>
             </Receptor><Conceptos><Concepto cantidad="10" unidad="Caja" descripcion="Vasos decorados" valorUnitario="20" importe="200"/><Concepto cantidad="1" unidad="pieza" descripcion="Charola metálica" valorUnitario="150" importe="150"/></Conceptos><Impuestos><Traslados><Traslado impuesto="IVA" tasa="16.00" importe="56.00"/></Traslados></Impuestos></Comprobante> 


CadenaOriginal
Código:
||2.0|A|1|2010-09-02T16:30:00|122956|2010|ingreso|Pago en una sola exhibicion|350|0|406|SAT970701NN3|Servicio de Administración Tributaria|AV. HIDALGO|77|CUAUHTÉMOC|DISTRITO FEDERAL|MÉXICO|06300|CAUR390312S87|Rosa María Calderón Uriegas|PRIV. CEIBA|114|BOSQUE|JOJUTLA|JOJUTLA|MORELOS|México|62900|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|16.00|56.00|| 

CadenaOriginalUTF8
Código:
||2.0|A|1|2010-09-02T16:30:00|122956|2010|ingreso|Pago en una sola exhibicion|350|0|406|SAT970701NN3|Servicio de Administración Tributaria|AV. HIDALGO|77|CUAUHTÉMOC|DISTRITO FEDERAL|MÉXICO|06300|CAUR390312S87|Rosa María Calderón Uriegas|PRIV. CEIBA|114|BOSQUE|JOJUTLA|JOJUTLA|MORELOS|México|62900|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|16.00|56.00|| 
DigestionMD5 con PHP : 1d973db0a57ee828d52594d7593fec94
, esta cadena en el validador del SAT también da el mismo resultado; si trato de sacar la digestión con OPENSSL me da( 89a2f2c25a60997eba7b523b924dc07e) lo cual es incorrecto

Código PHP:
<?PHP 
 
$cadenaOriginal 
"||2.0|A|1|2010-09-02T16:30:00|122956|2010|ingreso|Pago en una sola exhibicion|350|0|406|SAT970701NN3|Servicio de Administración Tributaria|AV. HIDALGO|77|CUAUHTÉMOC|DISTRITO FEDERAL|MÉXICO|06300|CAUR390312S87|Rosa María Calderón Uriegas|PRIV. CEIBA|114|BOSQUE|JOJUTLA|JOJUTLA|MORELOS|México|62900|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|16.00|56.00||";
 
 
$cadenaUTF8 utf8_encode($cadenaOriginal);
$cadenaMD5 md5($cadenaUTF8);
 
echo 
"Cadena UTF8: ";
echo 
$cadenaUTF8
echo 
"<br><br>";
echo 
"Cadena MD5:  ";
echo 
$cadenaMD5;
 
?>

Para crear la llave
Código:
 
OPENSSL> PKS8 –inform DER –in  aaa010101aaa_csd_01.key –passin pass:a0123456789 –out clave.key.pem 

Para crear el certificado, al abrirlo con bloc de notas el contenido es el mismo que ésta en el XML
Código:
 
OPENSSL> X509 –inform DER –outform PEM –in aaa010101aaa_csd_01.cer –pubkey –out cert.cer.pem 
He intentado sacar el sello, pero no logro que sea igual al del XML.
Código:
OpenSSL> dgst -md5 -sign d:\clave.key.pem -out d:\sello1.txt d:\cadenaOriginalUT
F8.txt
OpenSSL> base64 -in d:\sello1.txt 
SELLO
Código:
XdIEi59DVJp+fuPaDsk/cUGfidRMeoVQK3o2xM12uve4g4gbVeF48xkcbLBkBJrh
RWWzzbGudEHJDw1xxmMDlOHOlOQ+/EmZ3L6trcvb4RyVtHzBaKs7pLcyXVKG0lHm
IJ48G6fHBVCSctsZV5jWO8n4ROnGsBHrHpQqCcDcrDw= 
__________________
>>> El hombre se hace viejo muy pronto y sabio demasiado tarde <<<