Originariamente inviato da c0der
È un argomento che conosco come le mie tasche figurati.
Stiamo parlando di un server che autenticherà il client se vedrà che il certificato l'ha firmato LUI! Come puoi pensare che possa firmarlo qualcun altro? O che sia self-signed.... allora chiunque potrebbe accedere al server..

Tutto il discorso che hai scritto su verisign serve per ottenere un certificato per un server, di modo che i client possano essere sicuri che il server sia fidato (il suo certificato ha la firma di verisign, e con la chiave pubblica di verisign posso verificarlo). Ma qui si sta parlando di certificati client usati per l'autenticazione con uno specifico server (WCF Service - TWO WAY SSL). In questi casi è quel server che firma i certificati in modo che solo lui ha il controllo di chi si potrà mai connettere al servizio. Non si usa nè la firma di terzi nè la self-signed, ma la propria.
hai mai implementato un server SSL?
Può essere il server a firmare il certificato, ma se il server non ha nel suo truststore l'identità del firmatario, col cavolo che ti autorizza!!!!

Lato client deve generare una richiesta di certificato, farlo firmare e assicurarsi che il server trusti il suo firmatario.
Se il server decide di trustare gli autofirmati, saranno falle di sicurezza loro, ma ci sarà qualcuno a manina a configurare il server e a dire accetto gli autofirmati.
Il client deve dire: accetto il server, per poterlo verificare deve contenere le sue info nel suo truststore, in modo da poterne verificare l'identità.

Lato server il discorso è identico.
Si chiama TWO WAY SSL perché prevede l'autenticazione sia lato client che lato server.