la mia azienda ha sviluppato un'applicazione basata su .net (basata su SChannel) finalizzata all'esecuzione dell'autenticazione reciproca TLS1.2 tra 2 istanze dello stesso SW, una che funge da client e l'altra come server nella sessione di autenticazione reciproca TLS1.2 .
Entrambe le istanze SW client e server sono state distribuite su diversi server Windows OS (2008R2 e 2012R2).
Abbiamo testato con successo l'applicazione su un sistema operativo Windows Server 2008 R2 (entrambe le istanze SW "client" e "server" in esecuzione su WIN 2008R2 OS); in tal caso, il server fornisce, all'interno del messaggio "Server Hello" iniziale dell'handshake TLS1.2 nella sezione "Richiesta certificato", un elenco di "Nomi distinti" che corrisponde al contenuto dell'archivio certificati CA Root attendibile (locale Computer) in esecuzione sullo stesso server, secondo lo standard RFC TLS1.2.
Tuttavia, quando si esegue la stessa applicazione (utilizzando lo stesso set di certs) su un ambiente OS Win2012 R2, durante il messaggio Server Hello, la parte Richiesta certificato continua a restituire un elenco DN vuoto (ovvero, il certificato 0 viene elencato) , anche se lo stesso set di CA Trusted Root è disponibile nel Trusted Store di CA (Computer locale).
Quando il SW agisce come client nell'handshake TLS1.2, in esecuzione su 2008R2 o 2012R2, il SW può utilizzare con successo un certificato di autenticazione client reso disponibile / installato sotto Computer locale - > Personale - > Certificati.
Non ero coinvolto nello sviluppo del codice della funzione crittografica del programma, ma ho la sensazione che potrei semplicemente mancare alcune impostazioni aggiuntive introdotte a livello di sistema operativo quando si passa da 2008R2 a 2012R2 piuttosto che avere un problema SW - quindi I si chiedeva se qualcuno potesse suggerire possibili impostazioni del sistema operativo che potrebbero dover essere adattate.
Grazie