Página 1 de 1

¿Cómo obtener el sello?

Publicado: Mar Sep 17, 2013 12:57 pm
por sublime77
Buenas tardes, ya puedo obtener varios valores que se necesitan para la facturación, solo que necesito cómo obtener el sello que es por ejemplo este sello="MlnejrRmXQ.....................BChW/oJo+eaMwoc7Nj+qeB8c="
investigando aquí mismo encontre que una persona lo podia obtener de esta manera

Código: Seleccionar todo

//   $key='archivosPEM/aaa010101aaa_csd_01.key.pem';
   $key='LLAVEPRIVADA.pem.txt';
   $fp = fopen($key, "r");
   $priv_key = fread($fp, 8192);
   fclose($fp);      
   $pkeyid = openssl_get_privatekey($priv_key);
   openssl_sign($cadena_original,$cadenafirmada,$pkeyid,OPENSSL_ALGO_SHA1);
   $sello = base64_encode($cadenafirmada);
pero la verdad no se cual sea $cadenafirmada para hacer las pruebas

Re: ¿Cómo obtener el sello?

Publicado: Mar Sep 17, 2013 1:02 pm
por Dado
supongo que se refiere mas bien al "sello digital", no es una variable que tengas que enviar, mas bien es donde recibes el resultado

Re: ¿Cómo obtener el sello?

Publicado: Mar Sep 17, 2013 1:09 pm
por sublime77
DADO escribió:supongo que se refiere mas bien al "sello digital", no es una variable que tengas que enviar, mas bien es donde recibes el resultado
muy bien, no es una variable, en el xml sale como una cadena, como la podre obtener para que me aparezca en el xml?

Re: ¿Cómo obtener el sello?

Publicado: Jue Sep 19, 2013 10:10 am
por jasistemas
Ya leiste el Anexo 20?
Paso 1: obtener la Cadena Original.. esto es.. armas tu XML y con un XSLT "cadenaoriginal_2_2.xslt" que publica
el SAT puedes obtener dicha cadena original ( o bien concatenando valor por valor pero no es recomendable)

Paso 2: Encriptar la cadena original con SHA1 y la llave privada (el .key) (puedes hacerlo con OpenSSLkey.cs si se
tratara de .net).

El resultado lo codificas a Base 64 y listo.. esto es el "sello digital" (del emisor)

Lo adjuntas como valor en el XML y ya tienes un CFD (valido x lo que resta de 2013)
Si quieres pasarlo como CFDI, entonces requieres ponerle los prefijos (el xslt de la cadena original varia para CFDI pero
la logica es la misma) y luego si tendrias que tratar con un PAC para el nodo timbre.