OpenSSL vs Java No firman igual (existe infinidad de sellos)
Publicado: Jue Jul 29, 2010 3:22 pm
Pues lo veo y no lo creo.
Todo empezo con esta entrada en el blog de Ricky*.
En resumen comentaba sobre la validacion y las firmas que se generan. El menciona que si un documento es firmado con las librerias OpenSSL el sello NO ES IGUAL a que si se firma con Java......
Mmmmh, no puede ser, pensaba yo y me vino a la mente lo que habia leido sobre el MD5 (lo cual es un paso intermedio para generar el sello).
Resulta que es MUY POCO probable que dos cadenas originales produzcan el mismo MD5, eso es del orden de 1 en un billon. Es mas, grandes estudiosos de criptografia buscan precisamente eso, dos cadenas originales que produzcan el mismo MD5, una vez que lo encuentren el digestivo MD5 quedara obsoleto.
A eso le llaman "colision", dos cadenas que generan el mismo MD5.
Es por ello que yo creia que no era posible que una misma cadena generara dos sellos distintos, asi que me di a la tarea de investigar, y encontre que si es posible.
Anexo dos archivos EXACTAMENTE iguales excepto por el sello, uno esta firmado con JAVA y el otro con OpenSSL y lo mas increible es que los dos validan bien aun cuando el sello es distinto.
NOTA : Esta entrada es solo un "ejercicio tecnologico", para el dia con dia no es necesario saber si es JAVA, o si es OpenSSL, lo importante es que los validadores puedan reconocer los dos tipos de sellos.
......y por cierto, el ValidaCFD, si reconoce los dos..........
Gracias Ricky, siempre se aprende algo nuevo.
*actualizacion, el "blog de ricky" ya no es tal, ahora se convirtio en un sitio comercial que ofrece soluciones para factura electronica.
Todo empezo con esta entrada en el blog de Ricky*.
En resumen comentaba sobre la validacion y las firmas que se generan. El menciona que si un documento es firmado con las librerias OpenSSL el sello NO ES IGUAL a que si se firma con Java......
Mmmmh, no puede ser, pensaba yo y me vino a la mente lo que habia leido sobre el MD5 (lo cual es un paso intermedio para generar el sello).
Resulta que es MUY POCO probable que dos cadenas originales produzcan el mismo MD5, eso es del orden de 1 en un billon. Es mas, grandes estudiosos de criptografia buscan precisamente eso, dos cadenas originales que produzcan el mismo MD5, una vez que lo encuentren el digestivo MD5 quedara obsoleto.
A eso le llaman "colision", dos cadenas que generan el mismo MD5.
Es por ello que yo creia que no era posible que una misma cadena generara dos sellos distintos, asi que me di a la tarea de investigar, y encontre que si es posible.
Anexo dos archivos EXACTAMENTE iguales excepto por el sello, uno esta firmado con JAVA y el otro con OpenSSL y lo mas increible es que los dos validan bien aun cuando el sello es distinto.
NOTA : Esta entrada es solo un "ejercicio tecnologico", para el dia con dia no es necesario saber si es JAVA, o si es OpenSSL, lo importante es que los validadores puedan reconocer los dos tipos de sellos.
......y por cierto, el ValidaCFD, si reconoce los dos..........
Gracias Ricky, siempre se aprende algo nuevo.
*actualizacion, el "blog de ricky" ya no es tal, ahora se convirtio en un sitio comercial que ofrece soluciones para factura electronica.