From f0552ad6f57cfe190b3256b3227d2104e698a3c6 Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Sat, 7 Apr 2018 01:52:26 +0300 Subject: [PATCH] Fix aiohttp ClientConnectorSSLError: SSL certificate verify failed #33 --- aiogram/bot/base.py | 10 +++++++--- requirements.txt | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/aiogram/bot/base.py b/aiogram/bot/base.py index ba101624..e37d234b 100644 --- a/aiogram/bot/base.py +++ b/aiogram/bot/base.py @@ -1,8 +1,10 @@ import asyncio import io +import ssl from typing import Dict, List, Optional, Union import aiohttp +import certifi from . import api from ..types import ParseMode, base @@ -55,9 +57,11 @@ class BaseBot: self.loop = loop # aiohttp main session - self.session = aiohttp.ClientSession( - connector=aiohttp.TCPConnector(limit=connections_limit), - loop=self.loop, json_serialize=json.dumps) + ssl_context = ssl.create_default_context(cafile=certifi.where()) + connector = aiohttp.TCPConnector(limit=connections_limit, ssl_context=ssl_context, + loop=self.loop) + self.session = aiohttp.ClientSession(connector=connector, loop=self.loop, + json_serialize=json.dumps, loop=self.loop) # Temp sessions self._temp_sessions = [] diff --git a/requirements.txt b/requirements.txt index 8a63284c..c5ac837e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ aiohttp>=2.3.5 Babel>=2.5.1 +certifi>=2018.01.18