The program is a free open-source game called SRB2Kart. To get the latest version to work on XP you just need to place an XP-compatible dbghelp.dll in the same directory. To access the multiplayer feature, you select Multiplayer > Internet Server Browser from the main menu. Setting masterserver_debug "On" in kartconfig.cfg will show more information in the game's log.txt file. Anyway... the server it connects to uses TLS 1.2 (HTTPS only, no HTTP), but I can't get the game to connect to it regardless of whether or not I use ProxHTTPSProxy.
Without ProxHTTPSProxy:
IE8 can't connect to the server, even though TLS 1.2 is enabled. IE8 gives this error:
While the game log shows this error:
HMS: connecting 'https://ms.kartkrew.org/ms/api/games/SRB2Kart/10/servers?v=2.2'...
* Trying 173.234.30.114:443...
* Connected to ms.kartkrew.org (173.234.30.114) port 443 (#0)
* schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL (0x80090322) - The target principal name is incorrect.
* Closing connection 0
* schannel: shutting down SSL/TLS connection with ms.kartkrew.org port 443
ERROR: There was a problem contacting the master server...
From curl_easy_perform: SSL peer certificate or SSH remote key was not OK
With ProxHTTPSProxy:
IE8 will connect, but the game still cannot. ProxHTTPSProxy log shows this warning when the game tries to connect:
000 "[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1094)" while trying to establish local SSL tunnel for [ms.kartkrew.org:443]
While the game log shows this error:
HMS: connecting 'https://ms.kartkrew.org/ms/api/games/SRB2Kart/10/servers?v=2.2'...
* Uses proxy env variable https_proxy == 'localhost:8079'
* Trying 127.0.0.1:8079...
* Connected to localhost (127.0.0.1) port 8079 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to ms.kartkrew.org:443
> CONNECT ms.kartkrew.org:443 HTTP/1.1
Host: ms.kartkrew.org:443
Proxy-Connection: Keep-Alive
< HTTP/1.1 200 Connection established
< Proxy-agent: ProxHTTPSProxyMII FrontProxy/v1.5 Python/3.7.1
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* CONNECT phase completed!
* CONNECT phase completed!
* schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
* Closing connection 0
* schannel: shutting down SSL/TLS connection with ms.kartkrew.org port 443
ERROR: There was a problem contacting the master server...
From curl_easy_perform: SSL connect error
Standalone Curl Test (with ProxHTTPSProxy and environment variables):
C:\Documents and Settings\Snowshoe>curl -v https://ms.kartkrew.org/ms/api
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8079 (#0)
* Establish HTTP proxy tunnel to ms.kartkrew.org:443
> CONNECT ms.kartkrew.org:443 HTTP/1.1
> Host: ms.kartkrew.org:443
> User-Agent: curl/7.46.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
< Proxy-agent: ProxHTTPSProxyMII FrontProxy/v1.5 Python/3.7.1
<
* Proxy replied OK to CONNECT request
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: C:\ProxHTTPSProxy\CA.crt
CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
* subject: CN=*.kartkrew.org
* start date: Jan 27 12:32:01 2023 GMT
* expire date: Jan 26 12:32:01 2033 GMT
* subjectAltName: ms.kartkrew.org matched
* issuer: C=CN; O=ProxHTTPSProxy; OU=pyOpenSSL; CN=ProxHTTPSProxy CA
* SSL certificate verify ok.
> GET /ms/api HTTP/1.1
> Host: ms.kartkrew.org
> User-Agent: curl/7.46.0
> Accept: */*
>
< HTTP/1.1 404 NOT FOUND
< Server: nginx/1.18.0 (Ubuntu)
< Date: Sat, 04 Feb 2023 15:15:03 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 232
<
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manuall
y please check your spelling and try again.</p>
* Connection #0 to host localhost left intact
I could possibly re-compile the game with CURLOPT_SSL_VERIFYPEER or CURLSSLOPT_NO_REVOKE thrown into the game's code, but that would be a last resort.
Hopefully this helps.