En el paso 6 es donde aplica el algoritmo RSApohvak escribió:Disculpa, la encriptacion RSA en que paso la realizas???

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
Generacion de Sello Digital paso a paso
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Generacion de Sello Digital paso a paso
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 3
- Registrado: Sab Ago 06, 2011 11:31 am
Re: Generacion de Sello Digital paso a paso
Hola que tal, yo estoy teniendo problemas debido a que no me estan dando los resultados esperados hasta donde se codifica en SHA1 todo perfecto, la cadena me sale bien pero cuando firmo la cadena ya los resultados son diferentes y no logro explicarme por que
les anexo mi codigo y resultados obtenidos, espero y puedan ayudarme
Codigo PHP para la generacion y firmado
y a la hora de validar me sigue dando sello del emisor invalido en el ValidaCFD, espero me puedan ayudar

Codigo PHP para la generacion y firmado
Código: Seleccionar todo
<?
//Genera el PEM del archivo key
exec('openssl pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out pruebaFactura/aaa010101aaa_CSD_01.key.pem');
//pasamos el archivo PEM
$key='pruebaFactura/aaa010101aaa_csd_01.key.pem';
$cadenaOriginal='||2.0|ABC|1234|2010-01-01T12:12:12|12345|2010|ingreso|Pago en una sola exhibicion|68.50|79.46|UCP090807ABC|UAMERO & Compañia SA de CV|Cuba|456|Col. Latinoamerica|Oaxaca|Oaxaca|Oaxaca|México|93736|MMC090909QWE|Mi Mejor Cliente SA de CV|Calle 5 de Mayo|345|Col. Bondojito|Guadalajara|Guadalajara|Guadalajara|México|48473|1|Pieza|Lapiz Berol del No. 2|2.50|2.50|12|Pieza|Borrador Saga|5.00|60.00|3|Pieza|Pluma Bic Negra|2.00|6.00|IVA|16.00|10.96|10.96||';
$cadena=utf8_encode($cadenaOriginal);
echo '<h5>UTF8</h5>'.$cadena;
$cadena=sha1($cadenaOriginal);
echo '<h5>SHA1</h5>'.$cadena;
$fp=fopen('sha1.txt','w+');
fwrite($fp,$cadena);
fclose($fp);
exec("openssl dgst -sha1 -sign LLAVEPRIVADA.pem.txt -out selloBin.txt sha1.txt");
exec("openssl enc -base64 -in selloBin.txt -out sello.txt");
echo "<h5>Seal</h5>";
readfile("sello.txt");
?>
Código: Seleccionar todo
Resultados
SHA1
ae8ccf6ae672b81c9a1f33557f87a6d2ddec02d4
Sello
ZlyWMKBnOveEZKCLxZQAHmzaO/eShsQ2U5UUiEx8F23VqXBnmENpepPkE4f9TOLC b+oX/Y1vMt/Y72kJJxYgoCs6rQlGEbASm6m5I8US1/rpNXiaxXypM6u0rtqcSGlI 1fU+2eJPredt7eyQppIryYMH5wYUEy2rZF09L2FdvTM=
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Generacion de Sello Digital paso a paso
Estas aplicando dos veces el SHA1.chmbrs escribió:Hola que tal, yo estoy teniendo problemas debido a que no me estan dando los resultados esperados hasta donde se codifica en SHA1 todo perfecto, la cadena me sale bien pero cuando firmo la cadena ya los resultados son diferentes y no logro explicarme por queles anexo mi codigo y resultados obtenidos, espero y puedan ayudarme
Elimina la siguiente linea:
Código: Seleccionar todo
$cadena=sha1($cadenaOriginal); <<<elimina esta linea
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 3
- Registrado: Sab Ago 06, 2011 11:31 am
Re: Generacion de Sello Digital paso a paso
Gracias por tu respuesta DADO, ya la elimine pero sigue sin darme el sello que dices que debe de salir, si pongo la cadena sin codificarla a utf8 me sale lo siguiente
y si la codifico a utf8 me sale
vuelvo a ponerte mi codigo php
gracias por tu apoyo
Código: Seleccionar todo
dk4lchDiNo5NZnN7Ld31w0jLdSFV08aUFSTY+9PhnLi2jFQnOkJdpO9JobIFGIUS S+wJUO/oEVNQh2VYD2kbP/B3P0CYpkY/hNAlBZH68dxuNMpqfRiDLjVzIcvMR9WY 4RXEkW/EEJkQMHDbjjft5Prq2RMIyTz8NrdmzuYeeQs=
Código: Seleccionar todo
SKlUSsicX1SOEd4KBGrEtVKg1dr4AsdWLVqrySfCTxx5c6D0CInShWXSsyUpaoj6
gZGpRuc9d9Cg0pQfJPKamSdOyljhNJIzo6VZqC/zg28QCG+6bY2sEmalS1MTP73R
gTIOXOUpio1GPQVO8l6RU+QVgY0TYSfp71JGFbDnWrM=
Código: Seleccionar todo
//Genera el PEM del archivo key
exec('openssl pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out pruebaFactura/aaa010101aaa_CSD_01.key.pem');
//pasamos el archivo PEM
$key='pruebaFactura/aaa010101aaa_csd_01.key.pem';
$cadenaOriginal='||2.0|ABC|1234|2010-01-01T12:12:12|12345|2010|ingreso|Pago en una sola exhibicion|68.50|79.46|UCP090807ABC|UAMERO & Compañia SA de CV|Cuba|456|Col. Latinoamerica|Oaxaca|Oaxaca|Oaxaca|México|93736|MMC090909QWE|Mi Mejor Cliente SA de CV|Calle 5 de Mayo|345|Col. Bondojito|Guadalajara|Guadalajara|Guadalajara|México|48473|1|Pieza|Lapiz Berol del No. 2|2.50|2.50|12|Pieza|Borrador Saga|5.00|60.00|3|Pieza|Pluma Bic Negra|2.00|6.00|IVA|16.00|10.96|10.96||';
$cadena=utf8_encode($cadenaOriginal);
echo '<h5>UTF8</h5>'.$cadena;
//$cadena=sha1($cadenaOriginal);
//echo '<h5>SHA1</h5>'.$cadena;
$fp=fopen('cadena.txt','w+');
fwrite($fp,$cadenaOriginal);
fclose($fp);
exec("openssl dgst -sha1 -sign LLAVEPRIVADA.pem.txt -out selloBin.txt cadena.txt");
exec("openssl enc -base64 -in selloBin.txt -out sello.txt");
echo "<h5>Seal</h5>";
readfile("sello.txt");
-
- Mensajes: 3
- Registrado: Sab Ago 06, 2011 11:31 am
Re: Generacion de Sello Digital paso a paso
ya logre resolverlo, muchas gracias por tu ayuda, lo que pasa es que la cadena que tu tienes de ejemplo de sello es de con digestion md5, gracias por este foro, ayuda mucho con lo complicado que es entender a la perfeccion el proceso, a pesar de su facil implementación, felicitaciones