linux: add truststore as a dependency

Because Linux distributions don't have an 'universal' path for the
system certificate store, bundling libssl built on distro A might not
work on distro B, because distros tend to change path to the
certificate store at build time.

This means that creating a PyInstaller package on Ubuntu will include
the libssl built there, and if you try to run this package on a
different distro (e.g. Arch Linux), any attempt to create an SSL
connection will fail, because Arch Linux has a different path for the
certificate store than Ubuntu.

This issue is usually worked around by bundling certificates with the
app (usually using certifi), and then pointing the SSL_CERT_FILE
environment to it.

However, truststore seems to be a better alternative, since it tries to
use the certificate store from the system instead.

The list of benefits are listed on the project's page on GitHub:

https://github.com/sethmlarson/truststore
This commit is contained in:
guihkx
2023-05-21 07:14:15 -03:00
committed by DevilXD
parent 7c1e7b0af1
commit e31dcd85b4
2 changed files with 5 additions and 0 deletions

View File

@@ -21,6 +21,10 @@ if __name__ == "__main__":
if sys.platform == "win32":
import win32gui
if sys.platform == "linux" and sys.version_info >= (3, 10):
import truststore
truststore.inject_into_ssl()
from translate import _
from twitch import Twitch
from settings import Settings