Recentemente ho letto su SSL a 2 vie o autenticazione reciproca, ed ecco cosa ho capito finora:
L'autenticazione reciproca è un modo per il client di autenticarsi sul server, proprio come fa il server al client durante le connessioni SSL (a 1 via). I browser Web sono precaricati con i certificati di CA ben note, quindi, quando un sito Web invia la sua chiave pubblica (qualcosa come un file .cer?), Il browser può utilizzare il certificato della CA per capire se questo certificato ricevuto è valido o meno. Allo stesso modo, in SSL a 2 vie, il server deve avere il certificato della CA del cliente, oppure il certificato autofirmato che utilizza il certificato del cliente per confermare se il client è autentico o meno.
Di seguito sono riportate alcune domande specifiche su cui non sono ancora chiaro e sarei grato se qualcuno potesse verificare la mia comprensione:
- Il certificato che il server invia per SSL a 1 via contiene solo la chiave pubblica del server giusto? È necessariamente un file .cer o qualcosa di simile a un file .cer?
- I certificati CA con cui i browser vengono precaricati - sono come certificati .pfx? E avere solo questi certificati è sufficiente per il browser per confermare se il certificato ricevuto dal server è valido o no?
- Nel caso di certificati autofirmati, il server deve avere il certificato autofirmato .pfx da cui è stato creato il certificato client?
Credo sia chiaro dalle mie domande che non sono nemmeno sicuro che quando la chiave pubblica e quando la chiave privata è utilizzata per la crittografia / decrittografia, quindi quando rispondi a queste domande, sarei grato se potessi anche menzionare quali chiavi sono utilizzate per quale scopo quando viene utilizzato un certificato specifico.