使用wcf时SSL握手失败

时间:2014-09-09 07:16:25

标签: sslhandshakeexception

我需要你的帮助!

当我使用wcf客户端通过https请求Web服务时,它得到了例外:

An error occurred while making the HTTP request to https://***. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server. 

我的wcf客户端绑定设置是

<binding name="BasicHttpBinding_MY_SSL" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
        <security mode="Transport">
            <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
        </security>
</binding>
在wirshark它得到了流量:

enter image description here

你可以看到Alter,它是: enter image description here

我的wcf客户端在Windows Server 2003上运行。我们找到了此异常的根本原因:在我们的wcf客户端上,它使用SSL3启动与远程服务器的SSL握手,但远程服务器的F5防火墙拒绝连接使用SSL3,只允许与Tls(SSL3.1)连接。

但我的问题是为什么WCF客户端使用SSL3来启动SSL握手而不是Tls,因为我知道Windows Server 2003支持Tls(SSL3.1)并且它始终使用它支持的最高协议(Tls)来启动SSL握手,但为什么在我的情况下不会发生这种情况?

0 个答案:

没有答案