2015-09-21 32 views
6

Mamy aplikację internetową, która ma klienta zaimplementowanego z WCF. Ten klient używa SSL_LVL3 do uzgadniania z usługą zewnętrzną. Okazuje się, że usługa właśnie wyłączyła SSL_LVL3, więc musimy zmienić ją na TLS 1.0. Jest na to sposób, aby wymusić TLS w C#:Wymuś przez config użycie tls 1.0 w kliencie wcf C#

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; 

ale zmienia bezpieczeństwo wszystkich usług, które są wykorzystywane przez aplikację i nie wszystkie usługi akceptują TLS.

Chcielibyśmy zmienić plik web.config, aby wymusić korzystanie z TLS przez usługę WCF. Czy jest jakiś sposób to zrobić?

to wiązanie usługi:

<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> 

Odpowiedz

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

Ale to jest dostępne w Visual Studio 2015 (.Net Framework 4.5.2)

Powiązane problemy