ClientConnectorCertificateError when browsing sprites
Closed this issue · 9 comments
There's been multiple reports in Discord about this already. Some users get an error saying the certificate for spriteserver.pmdcollab.org has expired, although checking this with the browser shows that the certificate doesn't expire until october.
The user's system clock was set to the correct date, as shown by the logs.
The latest report, https://cdn.discordapp.com/attachments/826191172849631234/1137772664891641886/Captura_de_pantalla_675.png, also shows that trying to click on the error causes another error, which causes the fallback error message to be displayed. Usure if this happens for everyone.
Sentry link: https://skytemple.sentry.io/issues/4212581873/
I'm not sure what causes this and need more info as I've not been able to reproduce this.
Got a bit more testimony from an older report:
Weird0 OP — 12/07/2023 21:40
So I went back to some of the older versions of the randomizer to see if they still worked. The 1.4.8 version of the randomizer successfully downloaded the portraits, but once I moved up to 1.5.1, it didn't work. I uninstalled 1.4.8 before installing 1.5.1 as well.
Weird0 OP — 12/07/2023 21:58
I extended this to Skytemple itself. I checked Skytemple 1.4.7 and the SpriteCollab browser actually worked and I was able to successfully download portraits from there. But as soon as I moved to version 1.5.1, it stopped working and gave me the same error as seen above.
We'd need the log file to continue here I think. Can somebody provide that?
Yes, I have the logs from one of the affected users. It doesn't seem to contain anything too suspicious, but I'll post them on the Sentry issue so you can take a look.
Edit: Nevermind, apparently files cannot be uploaded there. I'll DM them to you over Discord instead.
The log contains no mention of the error. I need somebody with Windows to debug this issue.
The Sentry reports hint that in general HTTPS connections are working for affected users.
Stack trace:
SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1002)
File "aiohttp\connector.py", line 980, in _wrap_create_connection
File "asyncio\base_events.py", line 1112, in create_connection
File "asyncio\base_events.py", line 1145, in _create_connection_transport
File "asyncio\sslproto.py", line 574, in _on_handshake_complete
File "asyncio\sslproto.py", line 556, in _do_handshake
File "ssl.py", line 979, in do_handshake
ClientConnectorCertificateError: Cannot connect to host spriteserver.pmdcollab.org:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1002)')]
File "module\spritecollab\controller\browser.py", line 80, in entry_loader_impl
File "skytemple_files\common\spritecollab\client.py", line 180, in fetch_portrait_sheet
File "skytemple_files\common\spritecollab\requests.py", line 42, in fetch_image
File "skytemple_files\common\spritecollab\requests.py", line 71, in fetch_bin
File "skytemple_files\common\spritecollab\requests.py", line 48, in fetch_bin
File "aiohttp\client.py", line 1141, in __aenter__
File "aiohttp\client.py", line 536, in _request
File "aiohttp\connector.py", line 540, in connect
File "aiohttp\connector.py", line 901, in _create_connection
File "aiohttp\connector.py", line 1206, in _create_direct_connection
File "aiohttp\connector.py", line 1175, in _create_direct_connection
File "aiohttp\connector.py", line 982, in _wrap_create_connection
Also happens with the Randomizer: https://canary.discord.com/channels/710190644152369162/1145716420399878214
This may be solved by:
I need testers.
Another attempt at fixing this: e3d11fa
and related commits in SkyTemple and the Randomizer
Seems to be resolved.