¿Cómo obtener el sello?

La libreria OpenSSL es la mas usada para generar el sello digital, independientemente del lenguaje aqui encontraras informacion de como usar la libreria
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
sublime77
Mensajes: 3
Registrado: Mié Sep 04, 2013 6:30 pm

¿Cómo obtener el sello?

Mensajepor sublime77 » Mar Sep 17, 2013 1:57 pm

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

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: ¿Cómo obtener el sello?

Mensajepor Dado » Mar Sep 17, 2013 2:02 pm

supongo que se refiere mas bien al "sello digital", no es una variable que tengas que enviar, mas bien es donde recibes el resultado
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

sublime77
Mensajes: 3
Registrado: Mié Sep 04, 2013 6:30 pm

Re: ¿Cómo obtener el sello?

Mensajepor sublime77 » Mar Sep 17, 2013 2:09 pm

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?

jasistemas
Mensajes: 158
Registrado: Mié Ene 11, 2012 3:08 pm
Contactar:

Re: ¿Cómo obtener el sello?

Mensajepor jasistemas » Jue Sep 19, 2013 11:10 am

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.


Volver a “OpenSSL en general (cualquier lenguaje)”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados