«Ошибка проверки сертификата: срок действия сертификата истек (_ssl.c:****)» При попытке подключения моего бота к discord

#python-3.x #ssl #certificate #discord #discord.py

#python-3.x #ssl #сертификат #Discord #discord.py

Вопрос:

Я создаю discord-бота с использованием python. Когда я пытаюсь запустить его для подключения моего клиента к discord, я получаю эту ошибку:

вызовите ClientConnectorCertificateError( aiohttp.client_exceptions.client_exceptions.ClientConnectorCertificateError: не удается подключиться к хосту discord.com: 443 ssl: True [SSLCertVerificationError: (1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] ошибка проверки сертификата: срок действия сертификата истек (_ssl.c:****)’)]

Происходит каждый раз, когда я пытаюсь его запустить.

Я увидел правдоподобное исправление для этого, которое было:

  • Перейдите к discord.com с помощью Internet Explorer (запускался от имени администратора)
  • Нажмите на блокировку в правом верхнем углу
  • Нажмите просмотреть сертификаты
  • Установите один

Однако, когда я попробовал это, а затем попытался снова запустить своего бота, я все еще получал ту же ошибку.

Не знаю, имеет ли это значение, но в начале сообщения об ошибке в разделе трассировки говорится, что первый вызов, вызвавший ошибку, находится в последней строке кода моего бота, который является client.run(ТОКЕН).

Я использую Python 3.8 в Windows 10.

Ответ №1:

TL; DR Срок действия вашего сертификата истек, и вам необходимо загрузить и установить новый на свой локальный компьютер, загрузив его с веб-сайта и установив в свою ОС.

Это решение выполняется с помощью Google Chrome и Windows 10.

  1. Перейдите на веб-сайт, который вы пытаетесь запросить
  2. Щелкните значок блокировки слева от поля ввода URL
  3. Если указано, что сертификат (действительный), вы в бизнесе. Нажмите, чтобы
  4. В появившемся окне перейдите на вкладку Сведения
  5. Нажмите кнопку Скопировать в файл…
  6. В мастере экспорта сертификата выберите Стандарт синтаксиса криптографического сообщения (.P7B)
  7. Установите флажок под ним, включите все сертификаты в путь к сертификату, если это возможно
  8. Нажмите «Далее», нажмите «Обзор» и выберите папку, создайте имя для файла и нажмите «Сохранить».
  9. Далее завершите
  10. Откройте файл, который вы только что экспортировали. Если вы используете Windows, откроется диспетчер сертификатов
  11. Перейдите глубже в папки, чтобы найти фактические сертификаты
  12. Один за другим дважды щелкните каждый сертификат и выберите Установить сертификат для текущего пользователя и автоматически выберите, куда он отправляется

После установки всех сертификатов, необходимых для проверки запроса HTTPS, ваш скрипт больше не должен сталкиваться с ошибкой certificate expired, пока не истечет срок действия новых сертификатов.

Вы также можете проверить, когда истекает срок действия каждого сертификата в certmgr.

Ответ №2:

Загрузите и установите этот сертификат.

Его можно установить, дважды щелкнув файл и установив его на локальный компьютер, по ссылке для загрузки: загрузка сертификата

Комментарии:

1. Все хорошо, я нашел свою проблему. Оказывается, у меня даже нет ssl на моем компьютере, поэтому я переместил все на свой сервер Linux, на котором есть ssl, и все работало просто отлично. Тем не менее, спасибо!