We have a Microsoft Access application that consolidates many of our activities on eBay. I do this through several com dll's that Access references. One part of the application posts listings from our inventory to eBay. This has been working for at least 8 years. Recently eBay changed it's servers to require TLS 1.2 and we started getting "The request was aborted: Could not create SSL/TLS secure channel" message. Looked this up and MS says upgrading the dll project to Framework 4.7 or later will fix. I upgraded the solution framework and recompiled.
The upgraded dll works with eBay when I call from a win forms test application built in VS. When I call from the Access application I still get the TLS error. When I looked at the communications with eBay in Fiddler the calls coming from the dll when called from the .NET win forms test app use TLS 1.2. When the dll is called from Access it is still using TLS 1.0. Both the Access app and the .NET test app reference the same dll file.
Question: does the application calling a dll influence the TLS version being used? Any ideas on what could be causing different TLS version being used by the same dll?
CodePudding user response:
Hum, I did not think that VBA/Office being the host program would change the TLS settings. But you could consider trying this registry edit:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
I believe you also have to re-start your computer for above to take effect.