'discord.py `SSL certificate verify failed` error
Any python program that based on discord.py result error:
Traceback (most recent call last):
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore # noqa
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 1081, in create_connection
transport, protocol = await self._create_connection_transport(
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 1111, in _create_connection_transport
await waiter
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/sslproto.py", line 528, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/sslproto.py", line 188, in feed_ssldata
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 944, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/user/Documents/DroppingBOt.py", line 54, in <module>
bot.run(DISCORD_BOT_TOKEN)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 723, in run
return future.result()
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 702, in runner
await self.start(*args, **kwargs)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 665, in start
await self.login(*args, bot=bot)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 511, in login
await self.http.static_login(token.strip(), bot=bot)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/http.py", line 300, in static_login
data = await self.request(Route('GET', '/users/@me'))
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/http.py", line 192, in request
async with self.__session.request(method, url, **kwargs) as r:
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/client.py", line 1117, in __aenter__
self._resp = await self._coro
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/client.py", line 520, in _request
conn = await self._connector.connect(
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 535, in connect
proto = await self._create_connection(req, traces, timeout)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 892, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection
raise last_exc
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 971, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')]
That only appears when you include string
bot.run(DISCORD_BOT_TOKEN)
So i'm pretty sure that it might be even a request lib problemm.
Does anyone know reasons of that?
I tryed to reinstall discord.py
I tryed ran on other PC
Both of PC are MacOS
Solution 1:[1]
Quick note (you don't need to read this): SSL is an encryption algorithm used to securely transfer data between the client and host to prevent MITM (man-in-the-middle) and other attacks. You need a certificate to ensure that the host is a verifiable source, that they are not a hacker in disguise.
As both of your Macs appear to not work, it may be due to your network firewall denying access to the specific certificate, or it may simply have not been installed. Try using the macs on a different network, then reinstall discord.py, though be advised this may not work. If it still doesn't work, refer here: https://www.digicert.com/kb/ssl-support/p12-import-export-mac-mavericks-server.htm
Be very careful with this however. While this is unlikely, if the bot used to work and now it doesn't, it may mean that your network has been hacked, potentially using DNS poisoning. If none of these solutions work, then try using an online IDE like replit.
EDIT: have a look here too: Scraping: SSL: CERTIFICATE_VERIFY_FAILED error for http://en.wikipedia.org
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Anony Mous |
