【问题标题】:How do I update an SSL certificate in Python?如何在 Python 中更新 SSL 证书?
【发布时间】:2021-12-26 23:31:25
【问题描述】:

我正在运行 python 3.9.1 我有一些 Django Admin Actions 可以创建然后下载一些 PDF。在我的本地机器(Windows 10)上运行它时,我最近开始收到以下错误消息: SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书已过期 (_ssl.c:1123)

关于如何处理这个问题的任何想法? Django 应用程序在服务器上完美运行,问题仅在我的本地主机上。

【问题讨论】:

  • 可能你的问题不是django,而是system。也许它需要更新程序OpenSSL 或者它需要Winodows update 与新的SSL certificate
  • 对我来说同样的问题,除了:(_ssl.c:1129)。赢服务器 2019,Python 3.9.6;从 web api 获取数据;错误始于 10 月。

标签: python django certificate sll


【解决方案1】:

就我而言,我正在与 IoT(物联网)设备 API 进行交互,并且拥有过期的 LetsEncrypt 证书。我下载了新的 LetsEncrypt 证书:https://valid-isrgrootx1.letsencrypt.org/

更多解释:

我的错误发生在从 IoT Web 服务器请求 API 信息的 Windows Python 客户端上。我通过查看 Windows 中的现有证书日期确定了哪个客户端证书已过期:

  • 以管理员身份打开 Powershell,然后:Get-Childitem cert:\LocalMachine\root |format-list

过期的证书归 LetsEncrypt 所有。有关过期证书的更多信息:https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/

在我的例子中,LetsEncrypt 根证书在 9 月底到期,并在未来被更新的证书所取代。要实施新证书,请访问使用该证书的任何网页来自失败的客户端。如果是 LetsEncrypt,请访问他们的证书演示页面:https://valid-isrgrootx1.letsencrypt.org/,您的证书存储将自动更新。

【讨论】:

    猜你喜欢
    • 2020-10-17
    • 2020-07-11
    • 2019-10-11
    • 2022-11-27
    • 1970-01-01
    • 2018-08-02
    • 2015-05-15
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多