Quando un browser Web si collega a un server e scarica un certificato SSL, un'autorità fidata di terze parti garantisce che il client stia parlando con l'host che sta cercando. Se l'host utilizza un certificato autofirmato, il client non ha modo di sapere se il certificato proviene realmente dal sito che il cliente sta cercando.
Ma cosa succede se il cliente ha già il certificato? Supponiamo che il client sia un'applicazione desktop con un certificato installato insieme al programma. Quando il client tenta di connettersi al server, la connessione potrebbe essere intercettata, ma solo l'host con la chiave privata giusta può dimostrare la propria identità con il client.
Mi sembra che la vera utilità di una CA affidabile sia quando è necessario scaricare il certificato per facilitare la transazione. Supponendo che il client abbia già il certificato, la CA è davvero così importante?
Per quanto posso dire, l'unico rischio di utilizzare un certificato autofirmato in questo scenario è che se la chiave privata del server dovesse essere compromessa, il client potrebbe connettersi inconsapevolmente all'host sbagliato e il certificato può essere revocato.
Sto capendo qualcosa di questo correttamente? Ammetto che in realtà io comprendo solo SSL in modo concettuale e di alto livello. Se mi manca qualche pezzo cruciale del puzzle, fammi sapere. Ho letto questa domanda ), ma non credo che la risposta alla mia domanda sia lì.