(Pubblicato su ServerFault anziché StackOverflow perché ritengo che riguardi la configurazione del sistema operativo più che il codice di programmazione).
Attualmente sono responsabile della manutenzione di un sistema che si collega a un servizio Web di terze parti. Questo servizio web richiede certificati di autenticazione client, il che è abbastanza equo, ma il servizio web stesso è protetto con un certificato autofirmato creato da un certificato dell'autorità di certificazione radice auto-creato, la stessa radice che crea i certificati di autenticazione client.
Basterebbe semplicemente aggiungere il certificato di servizio corrente all'elenco di fiducia noto e ignorare il certificato di autorità auto-creato, sfortunatamente il certificato di servizio cambia regolarmente, quindi il certificato di autorità deve essere attendibile per garantire che l'applicazione non si interrompa quando il il servizio cert è stato rinnovato.
Tuttavia, non mi fido (personalmente) del certificato CA in base alla mia esperienza con la società che gestisce il servizio Web - non mi sorprenderebbe se fosse trapelato al Web - e preoccupantemente il certificato CA non ha restrizioni sull'uso delle chiavi (mentre gli attacchi MITM esterni sono una possibilità, anche se remota, sono più preoccupato per un certificato trapelato utilizzato per la firma del codice, ad esempio).
È possibile per me dire al mio computer (attualmente una scatola del server, ma nelle caselle client desktop ordinarie future) di fidarmi di una CA ma solo per un determinato set di utilizzi chiave e un piccolo set di possibili nomi-soggetto (nomi-dominio )?
Il server è attualmente Windows Server 2012 R2, ma potrebbe essere in esecuzione su un box Linux, sebbene i computer desktop siano tutti box Windows.