A proxy application to fix Ubisoft's channel-service
not supporting any cipher suites for Windows 7, so that chat and multiplayer in Ubisoft Connect works again. Without it, Ubisoft Connect/Uplay may, on Windows 7, not show any chats, you cannot create groups, you cannot invite friends, and so on.
Use at your own risk, of course, as always.
You need Java 8 installed for this.
ubisoftconnect-win7fix.exe
and a folder Webserver
.ubisoftconnect-win7fix.exe
from the extracted folder. It needs admin permissions.It will setup everything automatically and clean up after itself once you close it. It will ask for admin permissions due to having to change the hosts
file and possibly because it's installing (and later removing again) a root certificate for your current Windows user.
Ubisoft Connect loses chat and multiplayer party invite functionality under Windows 7, because the backend service that the application is trying to connect with does not support the HTTPS functionality shipped in Windows 7. The launcher_log.txt
will contain lines with Http status code is none for url https://channel-service.upc.ubi.com/...
. Using Internet Explorer, which uses the same API to access HTTPS functionality as Ubisoft Connect, it is not possible to open https://channel-service.upc.ubi.com/
.
And the reason why the Ubisoft service does not support Windows 7, is due to only allowing a small amount of cipher suites, out of which Windows 7 supports none. From https://www.ssllabs.com/ssltest/analyze.html?d=channel-service.upc.ubi.com&s=54.147.167.217:
TLS 1.2 (suites in server-preferred order):
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH x25519 (eq. 3072 bits RSA) FS 128 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH x25519 (eq. 3072 bits RSA) FS 256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8) ECDH x25519 (eq. 3072 bits RSA) FS 256
List of supported cipher suites in Windows 7: https://docs.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-7
A cipher suite determines how data is encrypted. So even though configuring TLS 1.2 may be a challenge of its own (it's actually pretty simple) merely enabling TLS 1.2 support on Windows 7 does NOT solve the problem, contrary to what the Ubisoft support may or may not have claimed. TLS 1.2 is working correctly, but the way traffic gets encrypted by the server is not understood by Windows 7.
The proper solution would be for Ubisoft to allow at least one cipher suite that is still supported in Windows 7 for communication with their server. Windows 7 is still officially claimed to be supported, so in my opinion there is no reason why Ubisoft should drop support in this way.
My workaround "solution", is to spoof their endpoint server, and redirect the traffic to their server using an implementation that is independent of the operating system's HTTPS cipher suites.
This is what I did/the ubisoftconnect-win7fix does:
(These are NOT instructions for running the fix. This is only relevant for you if you want to make your own fix.)
channel-service.upc.ubi.com
. This is needed so that we can pretend to be the Ubisoft endpoint that causes problems.hosts
file, adding 127.0.0.1 channel-service.upc.ubi.com
, so that any requests to the Ubisoft endpoint are redirected to our webserver app instead. If we use a Java application running on the same machine, this must be the localhost address, if you use another machine in your network it must be that machine's network IP address.You can test if you set up everything correctly by using Internet Explorer to access the URL. It will say "404" when it can successfully connect. Otherwise it will warn about TLS 1.2 not being configured properly.