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
from PyQt5.QtCore import QThread, pyqtSignal
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.
import encodings.idna
@@ -156,7 +157,11 @@ class _AsyncDownloader:
async def _download_resource(self, session, link):
"""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()

View File

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