2015-09-21 38 views
6

Abbiamo un'app Web con un client implementato con WCF. Questo client utilizza SSL_LVL3 per rendere l'handshake con un servizio esterno. Si scopre che il servizio ha appena disabilitato SSL_LVL3, quindi è necessario cambiarlo in TLS 1.0. C'è un modo per forzare la sicurezza TLS in C#:Forza con config per utilizzare tls 1.0 in un client wcf C#

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; 

ma cambia la sicurezza di tutti i servizi che vengono utilizzati da l'applicazione e non tutti i servizi accettano TLS.

Quello che vorremmo è cambiare il web.config per forzare il servizio WCF a utilizzare TLS. C'è un modo per fare questo?

Questo è il legame del servizio:

<binding name="XXXX" closeTimeout="00:01:00" openTimeout="00:01:00" 
    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" 
    bypassProxyOnLocal="false" NameComparisonMode= "StrongWildcard" 
    maxBufferPoolSize="524288" maxBufferSize="655360" 
    maxReceivedMessageSize="655360" textEncoding="utf-8" 
    transferMode="Buffered" useDefaultWebProxy="true" 
    messageEncoding="Text"> 
    <security mode="Transport" /> 
</binding> 

risposta

1
<customBinding > 
    <binding name="CusSoap">     
     <sslStreamSecurity requireClientCertificate="true" sslProtocols="Ssl3|Tls|Tls11|Tls12" />      
     </binding> 

Ma è disponibile in Visual Studio 2015 (Net Framework 4.5.2)