Merge branch 'SSL_test'

This commit is contained in:
alessandro90
2019-07-31 19:37:53 +02:00
2 changed files with 15 additions and 5 deletions

View File

@@ -9,7 +9,8 @@ from zipfile import ZipFile
import aiohttp import aiohttp
from PyQt5.QtCore import QThread, pyqtSignal from PyQt5.QtCore import QThread, pyqtSignal
from constants import Constants, Database, ChecksumWhat from constants import Constants, Database, ChecksumWhat
from utilities import checksum_ok, get_pool_manager from utilities import checksum_ok, get_pool_manager, get_cacert_file
import ssl
# Needed for pyinstaller compilation. # Needed for pyinstaller compilation.
import encodings.idna import encodings.idna
@@ -156,7 +157,11 @@ class _AsyncDownloader:
async def _download_resource(self, session, link): async def _download_resource(self, session, link):
"""Return the content of 'link' as bytes.""" """Return the content of 'link' as bytes."""
resp = await session.get(link) ssl_context = ssl.create_default_context(
purpose=ssl.Purpose.SERVER_AUTH,
cafile=get_cacert_file()
)
resp = await session.get(link, ssl=ssl_context)
return await resp.read() return await resp.read()

View File

@@ -54,13 +54,18 @@ def is_mac_os():
return sys.platform == 'darwin' return sys.platform == 'darwin'
def get_pool_manager(): def get_cacert_file():
"""Return a urllib3.PoolManager object.""" """Return the path to the cacert.pem file."""
if hasattr(sys, "_MEIPASS"): if hasattr(sys, "_MEIPASS"):
ca_certs = os.path.join(sys._MEIPASS, 'cacert.pem') ca_certs = os.path.join(sys._MEIPASS, 'cacert.pem')
else: else:
ca_certs = 'cacert.pem' ca_certs = 'cacert.pem'
return urllib3.PoolManager(ca_certs=ca_certs) return ca_certs
def get_pool_manager():
"""Return a urllib3.PoolManager object."""
return urllib3.PoolManager(ca_certs=get_cacert_file())
def checksum_ok(data, what): def checksum_ok(data, what):