2015-04-15 17 views
11

Sono in esecuzione un servizio web WCF netto che gestisce diversi messaggi SOAP di richiesta e che è ospitato in IIS (versione 7). Nel caso in cui venga utilizzata la sicurezza di trasporto (https) per l'endpoint del servizio Web, come posso determinare la versione TLS/SSL utilizzata e il valore di crittografia di un messaggio SOAP di richiesta in arrivo in questo servizio WCF?Determinare la versione TLS/SSL sul lato servizio di un servizio Web. WCNet

+0

di partenza di taglie, perché i cant trovare nulla ... – Dominik

+0

@Dominik, penso che ci sia un malinteso al vostro fianco. Nella tipica richiesta HTTPS, la versione TLS/SSL e la cifratura vengono negoziate all'inizio della connessione stabilita non inviata dal client. Inoltre, è tipicamente il server che decide cosa usare. Questo perché in genere solo il server che viene convalidato non è il client. Quindi, cosa vuoi sapere esattamente e come userai queste informazioni? – SergGr

+0

@SergGr Nel mio caso so che il server il mio servizio WCF è in esecuzione su supporti TLS 1.0 - TLS 1.3. Non riesco a modificare le impostazioni SCHANNEL sulla macchina. Voglio comunque rifiutare a tutti i client di chiamare alcuni metodi del mio servizio WCF se utilizzano TLS 1.0 o TLS 1.1. Lascia che il "rifiuto del metodo" sia il mio problema. Basta dirmi dove vedere quale versione di TLS sta usando la connessione corrente – Dominik

risposta

0

Probabilmente è possibile creare 2 applicazioni, una che accetta solo TLS 1.2 e l'altra che accetta TLS 1.0, 1.1.

per supportare solo TLS 1.2 e non i protocolli SSL, si può fare questo:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;