I'm currently trying to implement a soap client under Windows in C++. Due to some technical requirements, the http and communication layer have been implemented using the Winhttp API. Everything seems to work ok but, as soon as TLS 1.1 or 1.2 are enabled the software is unable to perform the SSL handshake. It just keeps sending TCP connection packets to the server.
I made several tests in order to find out what's happening and, so far, this is what I already know:
The software works as expected in Windows 10 Pro (no matter which TLS version is selected). That can't be said when the software is deployed in a Windows 10 ltsb 2016 (1607).
Enabling TLS support as suggested here does not work.
The winhttp code can be found here. I only added this modification at lines 351-352:
DWORD dwOpt = WINHTTP_FLAG_SECURE_PROTOCOL_ALL | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 |WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2;
int res = WinHttpSetOption(pData->hInternet, WINHTTP_OPTION_SECURE_PROTOCOLS, &dwOpt, sizeof(dwOpt));
Thanks