#31 Explicación simple:
Hace 2 cosas como cliente que va a entrar en una web
- Certificas que a la web a la que estás accediendo es realmente esa y no te la están dando con queso habiendote cambiado las DNS o cosas así.
- Tu conexión va cifrada así que ningún agente externo puede ver qué datos estás enviando/recibiendo desde esa web (esto no tiene por qué ser siempre así pero en el caso de ssl lo es).
Explicación más larga:
Un certificado consta de clave privada y pública: La clave privada es la que aloja el servidor y es como una contraseña (no es eso pero para que lo entiendas). La clave pública es la que se da al resto de gente y sirve para cifrar mensajes y con la privada los descifras.
El cliente conecta con el server, le envía un mensaje con ciertos parametros de cifrados y cosas así.
El server responde con otro mensaje que contiene el certificado (que se ha firmado con la clave privada) entre otras cosas.
El cliente comprueba que la firma es correcta con la clave pública del certificado. Esto lo hace porque la parte pública está accesible desde las Autoridades de Certificados (por eso hay que generarlos como en los ejemplos que están dando y no valen certificados custom, habría que instalar la clave publica de los custom en los clientes para que valieran).
Si la firma no es correcta pues nada, se acabó aquí.
Si la firma es correcta entonces podemos asegurar que el Servidor es quien dice ser así que el cliente genera una clave privada (que no tiene que ver con los certificados), la cifra con la clave pública del server y se la envía.
El cliente y el server usarán esa clave privada para cifrar/descrifrar mensajes.
Así da igual que te metan un proxy entre medias, no podrá leer los mensajes importantes porque se han firmado todos con la clave publica del server hasta la negociación.
Y más avanzado y que se usa para otros sistemas pues tienes lo mismo pero además con certificados de clientes y require doble autorización (el cliente certifica que el server es quien es y el server certifica que el cliente es quien es teniendo alguna lista de certificados de cliente permitidas).
Grosso modo funciona así.