Как обновить сертификат SSL в Python?

Я запускаю python 3.9.1. У меня есть несколько действий администратора Django, которые создают, а затем загружают некоторые PDF-файлы. При запуске этого на моем локальном компьютере (Windows 10) я недавно начал получать следующее сообщение об ошибке:SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась: срок действия сертификата истек (_ssl.c:1123)

Есть идеи, как я могу с этим справиться? Приложение Django отлично работает на сервере, проблема только на моем локальном хосте.

1 ответ

В моем случае я взаимодействовал с API-интерфейсами устройств IoT (Интернет вещей), и у меня был сертификат LetsEncrypt, срок действия которого истек. Я скачал новый сертификат LetsEncrypt по адресу:

Дополнительные пояснения:

Моя ошибка произошла на клиенте Windows Python, запрашивающем информацию API с веб-сервера IoT. Я определил, срок действия сертификата клиента истек, просмотрев даты существующих сертификатов в Windows:

  • Откройте Powershell от имени администратора, затем: Get-Childitem cert:\LocalMachine\root |format-list

Сертификат с истекшим сроком действия принадлежал LetsEncrypt. Дополнительная информация о сертификате с истекшим сроком действия: https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/.

В моем случае срок действия корневого сертификата LetsEncrypt истек в конце сентября, и в дальнейшем он был заменен более новым сертификатом. Чтобы внедрить новый сертификат, посетите любую веб-страницу, которая использует этот сертификат от вашего отказавшего клиента . В случае с LetsEncrypt посетите демонстрационную страницу сертификата по адресу: https://valid-isrgrootx1.letsencrypt.org/https://valid-isrgrootx1.letsencrypt.org/ , и ваше хранилище сертификатов обновится автоматически.

Другие вопросы по тегам