Cuando un navegador web se conecta a un servidor y descarga un certificado SSL, una autoridad de confianza de terceros se asegura de que el cliente esté hablando con el host que está buscando. Si el host utiliza un certificado autofirmado, el cliente no tiene forma de saber si el certificado fue realmente del sitio que buscaba el cliente.
¿Pero qué pasa si el cliente ya tiene el certificado? Digamos que el cliente es una aplicación de escritorio que tiene un certificado instalado junto con el programa. Cuando el cliente intenta conectarse al servidor, la conexión puede ser interceptada, pero solo el host con la clave privada correcta puede probar su identidad con el cliente.
Me parece que la utilidad real de una CA de confianza es cuando se necesita descargar el certificado para facilitar la transacción. Suponiendo que el cliente ya tiene el certificado, ¿es realmente importante la CA?
Por lo que puedo decir, el único riesgo de usar un certificado autofirmado en este escenario es que si la clave privada del servidor se ve comprometida, el cliente podría conectarse al host incorrecto y el certificado puede no ser revocado.
¿Estoy entendiendo algo de esto correctamente? Admito que realmente solo entiendo SSL a un nivel conceptual de alto nivel. Si me falta alguna pieza crucial del rompecabezas, hágamelo saber. Leí a través de esta pregunta ), pero no creo que la respuesta a mi pregunta esté ahí.