我们有一个Web应用程序,其客户端使用WCF实现。此客户端使用SSL_LVL3与外部服务进行握手。事实证明该服务刚刚禁用了SSL_LVL3,因此我们需要将其更改为TLS 1.0。 有一种方法可以在C#中强制使用TLS安全性:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
但它会改变应用程序使用的所有服务的安全性,而不是所有服务都接受TLS。
我们希望更改web.config以强制WCF服务使用TLS。有没有办法做到这一点?
这是服务的绑定:
<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>
答案 0 :(得分:1)
<customBinding >
<binding name="CusSoap">
<sslStreamSecurity requireClientCertificate="true" sslProtocols="Ssl3|Tls|Tls11|Tls12" />
</binding>
但它在Visual Studio 2015(.Net Framework 4.5.2)中可用