El sistema de Administración Tributaria en México sigue trabajando por mejorar la seguridad y las opciones de facturación electronica para sus contribuyentes, lo que esta ocasionando que a partir del 2011 la forma de hacerlo haya cambiado sustancialmente.
A continuación te muestro los cambios más importantes al respecto.
¿Cómo generar la cadena Original y el Sello Digital?
Anteriormente utilizabamos el comando con las instrucciones que puse aqui e iniciaba así:
openssl dgst -md5
A partir del 2011 el cambio debe ser este:
openssl dgst -sha1
Para la generación del sello digital también antes utilizabamos el archivo cadena_original_2.0.xslt ahora debemos usar la versión 3.0, misma que podremos descargar de esta liga.
Cualquier duda en los comentarios, consultando todos mis temas que tengo de factura electrónica
Hola Carlos, he desarrollado un poco en PHP con MySQL actualmente tengo mi propio emisor de CFDi en PHP con OpenSSL quiero ver si te unes a un proyecto para generar un PAC y competir con buzon e y Tralix todas esas empresas contactame a mi mail por cualquier cosa
hola Carlos me gustaría saber como hiciste el sistema para emitir las facturas actualmente me encuentro en un problema en la parte de configurar los cer y key, me encuentro atorado al no saber como leer y generar los archivos si me pudieras ayudar te lo agradecería inmensamente. muchas gracias
Hola muy buenas tardes Carlos, pase a visitar tu pagina y me parecio de lo mas interesante. Estoy de construyendo una aplicacion en Java para validar los CFDI .. sabes tu si existe un WEBservice del sat para esto?
Que tal Carlos, Encuentro la informacion en tu sitio bastante util, estoy desarrollando un pequeño sistema para facturas electronicas en PHP, pero creo que me he estancado:
uso los comandos asi:
$cadena = utf8_encode($cadenaOrg);//pasar cadena original a utf8
$cadena=sha1($cadena);//pasarle el sha1
$fp = fopen («mmmdffi»,»w+»);//guardar a archivo mmmdffi
fwrite($fp,$cadena);
fclose($fp);
//estos son los comandos que vi en tu pagina
$hola1=shell_exec(‘»‘.$rutaSSL.'» dgst sign afo891004nh1_1012201704s.key.pem mmmdffi -out fxxxorg’);
$hola2=shell_exec(‘»‘.$rutaSSL.'» enc -in fxxxorg -base64 -A -out xaHkjs’);
//el sello queda guardado en el archivo xaHkjs
$fh = fopen(«xaHkjs», «rb»);
$data = fread($fh, 4096);
return $data;//regresar el contenido del archivo
Asi lo tengo, la cosa es que el xml me dice que esta correcto pero el sello es invalido, y comparando las cadenas originales estan igual en la factura y el sitio del validador, podras orientarme en este predicamento?
de antemano Gracias!!
se me olvido añadir, que me dieron de el sat una llave (.key)y un certificado (.pem), yo converti la llave a .key.pem con unos comandos de openssl, no se si esto haya estado bien, si me puedes dirigir desde este punto te lo agradecere
perdon el certificado esta en .cert, tambien lo pase a.cert.pem, no se si sea correcto
Gracias
es porque en la 3era linea no dice que comas popo