Quando una CA firma un certificato, crittografa un hash che include il nome host della destinazione del certificato utilizzando la propria chiave privata. Quando il client riceve il certificato, decrittografa l'hash utilizzando la chiave pubblica per la CA (che viene inserita nel client) e verifica che corrisponda all'hash calcolato dal client. Se gli hash non corrispondono, la convalida fallisce e la connessione deve essere interrotta.
- Se modifichi il certificato per cambiare il nome dell'host, gli hash non corrisponderanno a
- Se provi a firmare nuovamente il certificato (cioè sostituisci l'hash con il tuo), il client non si fiderà di esso perché non è stato firmato da una delle loro CA di fiducia.
- Se provi a presentare un certificato firmato legittimamente per un altro dominio, ovviamente la convalida fallirà anche perché il dominio non corrisponde.
Ovviamente quanto sopra presuppone che il client convalidi correttamente i certificati, che è non sempre il < a href="http://www.cs.ucsb.edu/~koc/ns/docs/articles/p50.pdf"> caso .