Sé el concepto general de cómo funcionan los certificados digitales: por ejemplo, el servidor "firma" el mensaje que desea enviar al cliente usando su clave privada y envía junto con un resumen del mensaje y en el lado receptor, el cliente CONOCE la clave pública del servidor y puede verificar que el mensaje es realmente auténtico (proviene del servidor y no se modificó en tránsito) utilizando una función de descifrado y revisando el contenido del mensaje, haga un resumen también y confirme que el mensaje real recibido es auténtico.
La pregunta es ¿cómo puede el cliente decir que la clave pública del servidor enviada de forma clara (supongo que se envió en la respuesta de saludo del servidor) es auténtica? Puedo entender que las CA grandes tienen sus certificados ya instalados en la máquina cliente, pero si el servidor envía un certificado firmado, por ejemplo, por Digicert, ¿cómo puedo decirle al cliente que ese es el caso (tal vez un apretón de manos ssl interceptado por MIM que cambia las cosas)?
Paraaclararlascosas,agreguélaimagenquedescribeelprocesomedianteelcualelclienteverificaquelafirmadelcertificadoseareal."Cuando el navegador recibe el certificado, verifica la autoridad de firma. Si es una autoridad de firma pública y respetada, el navegador ya sabrá su clave pública (los navegadores se entregan con certificados de muchas autoridades de firma preinstalados), por lo que puede verificar la firma "Pregunta: La clave pública de la autoridad de firma debe comunicarse de alguna manera al cliente (incluso si esa CA se almacena localmente, ¿cómo sabe qué servidor de origen utiliza?). ¿Cómo se realiza ese proceso?