EDIT: vedere qui: Come funziona SSL / TLS? oppure Qui certificato autofirmato - come funziona
I don't undertand, when I signed the certificated by CA the protocol is this: client send Hello to Server--- Server send hello and certificate to Client--- Client verify certificate with a CA and send confirmation to Server--- Finally Server send confirmation signed to Client. – juve164 Jun 14 '14 at 12:15
What happens with a self-signed certificate. Client send Hello to Server --- Server send certificate to Client and Client verify the certificate, but how??? compare if it is the same certificate??? – juve164 Jun 14 '14 at 12:23
Mettiamo un po 'di prospettiva su questo. Certificato utente Criptografia a chiave pubblica. Ciò significa che una chiave pubblica e una chiave privata sono generate simultaneamente e sono unite matematicamente. Solo questa chiave privata funziona con questa chiave pubblica e viceversa.
Quando si introduce un certificato, non è altro che un "foglio di carta con una firma". Quella firma è dalla chiave privata. Questo fornisce solo un riferimento per la chiave utilizzata; aka google.com.
TLS Handshake:
C ClientHello: questo è l'inizio, stiamo parlando con un server in modo che possiamo avviare il processo TLS.
S ServerHello: il server risponde per confermare che stiamo parlando in TLS ora.
S Certificato: Questa è una copia del certificato che è installato sul server.
S ServerKeyExchange: fa parte del protocollo utilizzato per consentire a entrambi i dispositivi di arrivare alla stessa chiave simmetrica da utilizzare dopo l'handshake TLS
S CertificateRequest: utilizzato solo se il server desidera verificare il client con un certificato. Questo può essere trasmesso come forma di autenticazione.
S ServerHelloDone: il server ha finito con l'handshake TLS.
C Certificato: fornito solo se necessario; vedi la richiesta di certificazione sopra.
C ClientKeyExchange: Questo è il compagno di ServerKeyExchange per assicurarsi che entrambe le parti abbiano una chiave simmetrica.
C CertificateVerify: parte di CertificateRequest e TLS sul lato client.
C ChangeCipherSpec: di solito è l'indicazione che abbiamo finito con tutto ed eravamo pronti per iniziare a parlare con la crittografia.
C Finito: Questa è la fine del lato client.
S ChangeCipherSpec: il server sta accettando il cipherspec.
S Finito: Tutto è fatto e ora siamo completamente crittografati.
In questo processo, il certificato inviato dal server sarà ciò che è configurato sul server. Se questo è firmato da una CA, in genere questo include il certificato di foglia (quello con il nome di dominio), l'autorità di firma immediata e il genitore di tale autorità di firma (e così via se applicabile). Pertanto, Certificate
includerebbe in genere 3 certificati fisici.
Il client esamina quindi l'emittente sul certificato foglia e inizia a seguire il backup della catena. L'Intermedio ha un emittente (che è la CA principale) e quindi controllerebbe quel certificato. La CA principale è un certificato Self-Sign. È un certificato in cui la propria chiave privata ha firmato il certificato, non un'altra entità. Finché il client si fida della CA radice, si fiderà dell'intermedio, che a sua volta significa che si fiderà della foglia.
Con un certificato autofirmato sul server, viene verificato solo il certificato rilasciato dal cliente. Osserverà l'emittente del certificato e vedrà che è stato firmato da solo. Finché il client si fida di tale CA, si fiderà della connessione e continuerà.
Tutte le CA principali sono autofirmate. L'unico motivo per cui il tuo computer si fida di loro è perché sono configurati sul tuo computer.
link