En X.509 , se puede validar un certificado si se puede poner al final de un < em> cadena válida , donde cada certificado de la cadena ha emitido el siguiente, y la cadena comienza con un ancla de confianza . El ancla de confianza es el certificado en el que confía "ex nihilo", es decir, no en virtud de que el certificado esté firmado por otro certificado de confianza; El ancla de confianza es de confianza por la configuración. Esta configuración es, de hecho, poner el certificado en el almacén de certificados "CA raíz".
Cuando coloca un certificado en el almacén de "CA raíz", esto no significa automáticamente que su máquina comience a usar este certificado como CA , es decir, para validar otros certificados. Esto simplemente significa que el certificado es de "confianza". Si este certificado también se aceptará en el rol de una CA depende de lo que esté escrito en él (la extensión Basic Constraints
). (*)
Para iniciar la confianza, debes hacer "algo". Un navegador web no debe confiar de forma transparente en ningún certificado autofirmado que encuentre; Sería una gran vulnerabilidad. El usuario debe realizar una acción explícita para permitir que el certificado autofirmado sea confiable para SSL; y, preferiblemente, esta acción no debe ser una cosa de un solo clic demasiado fácil, porque de lo contrario los usuarios lo harán sin siquiera notarlo. Hacer clic en las ventanas emergentes de advertencia, por más temibles que puedan ser, es un comportamiento bien establecido en los usuarios humanos; y, desafortunadamente, aceptar un certificado autofirmado sin la debida verificación manual lleva a ataques Man-in-the-Middle .
En Windows / IE, el "algo" necesario para cebar el sistema de confianza es la instalación del certificado de servidor autofirmado en el almacén de "CA raíz". Esto requiere algunas invocaciones de GUI no fáciles, y eso es por diseño . NO DEBE ser fácil.
Para otros navegadores, las cosas pueden variar, aunque el concepto central es el mismo. Para Firefox, la instalación de un certificado SSL autofirmado se describe como una "excepción de seguridad"; Firefox tiene su propio subsistema X.509, completamente separado del sistema operativo subyacente. Para Chrome, esto depende mucho del sistema operativo, la versión del sistema operativo y la versión del navegador.
(*) Hay sutilezas. Los certificados X.509 antiguos, también conocidos como "v1", hace más de 15 años, no admitían extensiones, por lo que no había forma de marcar un certificado como "bueno para CA" o "no bueno para CA". Esto significa que un certificado autofirmado v1, instalado en el almacén de "CA raíz", actuará como CA , por lo que se aceptará en el rol de una CA, para validar otros certificados. Debe tener cuidado, al instalar un certificado autofirmado, de no abrir esa puerta. Desafortunadamente, esto depende de detalles técnicos del certificado, por lo que no es fácil realizar pruebas para usuarios finales.