Cuando una CA firma un certificado, encripta un hash que incluye el nombre de host del destino del certificado usando su clave privada. Cuando el cliente recibe el certificado, descifra el hash mediante la clave pública de la CA (que se incluye en el cliente) y verifica que coincida con el hash calculado por el cliente. Si los hashes no coinciden, la validación falla y la conexión se debe cancelar.
- Si modifica el certificado para cambiar el nombre de host, los hashes no coincidirán
- Si intenta firmar el certificado nuevamente (es decir, reemplace el hash por el suyo), el cliente no confiará en él porque no fue firmado por una de sus CA confiables.
- Si intentas presentar un certificado firmado legítimamente para otro dominio, obviamente la validación también fallará porque el dominio no coincide.
Por supuesto, lo anterior asume que el cliente valida los certificados correctamente, que es no siempre el < a href="http://www.cs.ucsb.edu/~koc/ns/docs/articles/p50.pdf"> case .