2014-10-29 74 views
1

我有一个C#应用程序,它通过SOAP通信使用Travelport Universal API接口。 在C#中我使用wsdls来生成SOAP客户端。C#SOAP客户端使用TLS代替SSL 3.0

我对HTTPS连接此配置设置(这是由从WSDL的Visual Studio生成):

<system.serviceModel> 
<bindings> 
    <basicHttpsBinding> 
     <binding name="AirLowFareSearchBinding" maxBufferSize="2097152" maxReceivedMessageSize="2097152"> 
      <security mode="Transport"> 
       <transport clientCredentialType="Basic" /> 
      </security> 
     </binding> 
    </basicHttpsBinding> 
</bindings> 
<client> 
    <endpoint address="https://emea.universal-api.travelport.com/B2BGateway/connect/uAPI/AirService" binding="basicHttpsBinding" bindingConfiguration="AirLowFareSearchBinding" contract="AirServiceReference.AirLowFareSearchPortType" name="AirLowFareSearchPort" /> 
</client> 

关于此漏洞SSL3.0 Travelport的要禁用SSL3,我可以使用只是在TLS之上。 我的问题是我应该改变这个配置,或者我应该改变任何TLS连接在HTTPS而不是SSL3。

+0

如果我检查System.Net.ServicePointManager.SecurityProtocol我得到 “SSL3 | TLS” 回来。所以可能我不需要做任何事情,服务会自动切换到Tls? – martonx 2014-10-29 22:55:29

回答

2

在你代码中调用该服务之前:

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

这里是一个博客帖子Here