Mysterious FileTransferService SSL Problem with .NET Client
So I've got an issue that has stumped everyone in my company... and I'm hoping someone out there might have an insight! Starting in mid-December, when using the bulk data exchange service and file transfer service to upload requests or download responses with a custom .NET client (such as for a bunch of ReviseFixedPriceItemRequests), we began getting these errors intermittently: - System.ServiceModel.Security.SecurityNegotiationException: **Could not establish secure channel for SSL/TLS with authority '
storage.ebay.com'.** ---> System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel. The issue only appears to happen on our server (Windows Server 2008 R2) They only seem to happen about 50% of the time, otherwise it runs fine and we are able to keep our listings updated. And when I run our .NET client on my machine (Windows 7), everything is perfectly fine - no errors. I understand that [eBay disabled support for SSL3.0], which is something we also did recently. So our server is up to date and is able to receive secure traffic (otherwise our website wouldn't work). I have also updated the eBay.Service DLL to the most recent version, but the issue continues to happen. The fact that these errors occur sporadically makes it seem like it might be something on eBay's side of things... but the fact that it only happens on our web server (and we seem to be unique in having this problem) makes it seem like a setting or configuration we need to change... So if anyone has a suggestion for anything else we could try to fix this, it would be greatly appreciated! :
We tried quite a few things, so I'm not 100% sure, but it definitely had stopped happening after we added the following line to our .NET client (as the very first thing it does): //Allow SLL 3.0, TLS 1.0, TLS 1.1 and TLS 1.2 communication. System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; Hope that helps!