Tengo algunas preguntas sobre cómo se realiza la función de huella digital. En primer lugar, tengo algunos conocimientos sobre la criptografía. Sin embargo, parece que no es lo suficientemente bueno para comprender cientos de páginas con información vaga o incompleta.
Preguntas:
-
Estoy intentando saber cómo comparar la huella dactilar que aparece cuando Firefox advierte sobre un certificado autofirmado, que muestra la huella dactilar en MD5 y SHA1.
Estoy haciendo esto porque, a pesar de lo bellos y cortos que pueden parecer, las huellas dactilares realmente no son útiles en absoluto si tienes el certificado autofirmado (toda la cadena) y no la huella dactilar. Entonces, ¿cómo puede saber que la huella digital que muestra Firefox es la que coincide con la huella digital real de su certificado autofirmado?
Por lo que me di cuenta, el archivo .crt tiene el certificado (que se muestra en base64).
Si, por ejemplo,
Export
Equifax Secure CA
del Administrador de certificados de Firefox, y ejecuto este comando:$ openssl dgst -sha1 BuiltinObjectToken-EquifaxSecureCA.crt SHA1(BuiltinObjectToken-EquifaxSecureCA.crt)=**e05110ddb9bcb9e47818ea6e955cc6ba78ec6627** $ openssl dgst -md5 BuiltinObjectToken-EquifaxSecureCA.crt MD5(BuiltinObjectToken-EquifaxSecureCA.crt)=**54b6604a82d90ebdb9a8a3c544bb77f1**
... se muestran las dos huellas digitales (SHA1 y MD5).
Sin embargo, cuando desde el mismo cliente de Firefox selecciono dicho certificado y hago clic en "Ver", lo que el Administrador de certificados de Firefox muestra con estas otras dos huellas digitales:
sha1: D2:32:09:AD:23:D3:14:23:21:74:E4:0D:7F:9D:62:13:97:86:63:3A md5: 67:CB:9D:C0:13:24:8A:82:9B:B2:17:1E:D1:1B:EC:D4
¿Por qué son tan diferentes?
-
Tal vez esta pregunta nos lleve a abrir otra publicación. Si ese fuera el caso, abriría una nueva publicación con eso.
Si entendí correctamente, el Certificado es la clave pública firmada por alguien (en este caso yo mismo, y en otros casos deseados por una autoridad de certificación) y se agregan algunos otros datos funcionales y relevantes (como el nombre de dominio, correo electrónico -dirección, etc.).
El servidor envía el Certificado al Cliente (excepto los certificados autofirmados preinstalados en el sitio del Cliente, principalmente de algún tipo de Autoridades de Certificación de los niveles más altos de la jerarquía).
Entonces, mi pregunta. La huella digital que se muestra cuando se descarga algún certificado en el lado del cliente desde el servidor: ¿es esta huella digital el resumen de la clave pública o el resumen del certificado en sí?
-
La configuración de algunos servidores para permitir conexiones seguras (aquellas que trabajan con SSL: https, ftps, smtps, etc.) incluyen algunas directivas en la configuración SSL para mostrar al servidor qué archivos utilizará.
Por ejemplo, el servidor HTTPS de Apache2 podría incluir estas tres directivas:
SSLCertificateFile - digital certificate (eg. your_domain_name.crt). SSLCertificateKeyFile - private key (eg. your_domain_name.key). SSLCertificateChainFile - intermediate (eg. DigiCertCA.crt), [OR SSLCACertificateFile]
Para saber la huella digital que mostrará Firefox cuando el usuario acceda a este servidor, en qué archivos tengo que aplicar los comandos que se muestran en la pregunta 1 y obtener las huellas digitales de? al archivo especificado en SSLCertificateFile, o en otro archivo que solo tenga la clave pública y no esté incluido aquí?
-
Atendiendo a la pregunta anterior. Soy el administrador de ese servidor HTTPS con un certificado autofirmado, y quiero instalar el certificado en mi navegador web, evitando así que mi navegador lo descargue (y, a su vez, evite cualquier ataque de Main-In-The-Middle - alguien me da otro Certificado autofirmado), ¿qué archivo debo 'Importar' a mi navegador web? ¿Este último archivo es generado por el servidor o es directamente el archivo especificado en la directiva SSLCertificateFile?
NOTA: Estoy haciendo esta última pregunta, porque en la directiva SSLCertificateFile , por ejemplo, puede especificar un archivo .pem , en lugar de un archivo .crt . Y el archivo .pem, como comprobé en mi propio servidor web, también podría contener la clave privada (algo que no debe enviarse al navegador web). Lo que, de hecho, nos muestra que al aplicar la huella digital al archivo .pem , el resultado sería diferente al que muestra el navegador web cuando advierte sobre un certificado autofirmado.
Gracias a todos ustedes !! y lo siento por la larga pregunta, pero he encontrado muchas páginas que hablan de la misma información, infinitas veces, y nadie tiene nada al respecto.
Creo que esto es algo extraño, ya que miles de administradores están usando herramientas criptográficas, y hay un punto importante que no discuten: las huellas dactilares. En este momento, creo que cuando ven la advertencia de un certificado autofirmado, simplemente aceptan la excepción sin verificar nada. Y creo que sí, porque no hay información que discuta este asunto específico en Internet (creo que uno importante, si no el más importante).