certificate verify failed: unable to get local issuer certificate (_ssl.c:10

出现 "certificate verify failed: unable to get local issuer certificate (_ssl.c:10)" 这个错误通常是因为Python在尝试建立HTTPS连接时,无法验证服务器的SSL证书。这可能是因为本地系统中缺少必要的根证书,或者服务器的证书链不完整,导致Python无法找到颁发服务器证书的CA(证书颁发机构)的根证书。以下是一些解决这个问题的步骤:

  1. 确认错误来源

    首先确认这个错误是在使用哪个库(如requests、urllib等)进行HTTPS请求时发生的。这有助于确定后续解决方案的具体应用。

  2. 检查证书配置

    ‌系统证书‌:确保你的操作系统已经安装了最新的CA根证书。不同的操作系统有不同的管理方式,例如在Windows中可以通过更新系统或使用证书管理工具来管理。

    ‌Python环境‌:如果你使用的是特定版本的Python(特别是通过包管理器如Homebrew安装的),可能需要单独配置Python的证书路径。

  3. 更新证书存储

    如果确定系统证书已经是最新的,但问题依旧存在,可能需要手动更新或安装Python的证书存储。对于Python,可以使用certifi库来更新或指定证书。

python

Copy Code

使用certifi库指定证书

import certifi

import requests

response = requests.get('https://example.com', verify=certifi.where())

  1. 验证证书链

确保服务器提供的证书链是完整的,并且证书链中的每个证书都可以被验证到一个受信任的根证书。你可以使用浏览器或其他工具(如OpenSSL)来检查服务器的证书链。

  1. 调试或绕过验证(仅在开发环境中)
    如果以上方法都无法解决问题,并且你确信当前的网络环境是安全的(例如,在内部开发网络中),你可以考虑在开发环境中暂时禁用SSL验证。但请注意,这仅应在开发环境中进行,且在生产环境中必须保持验证开启。

禁用SSL验证(不推荐用于生产环境)

‌对于requests库‌:

cpp 复制代码
python
Copy Code
import requests

response = requests.get('https://example.com', verify=False)

‌对于urllib库‌:

cpp 复制代码
python
Copy Code
import ssl
import urllib.request

context = ssl._create_unverified_context()
response = urllib.request.urlopen('https://example.com', context=context)

请注意,这些解决方案中的禁用SSL验证会使你的应用程序容易受到中间人攻击,因此仅应在完全受控和信任的环境中使用。

总结

遇到 "certificate verify failed: unable to get local issuer certificate" 错误时,首先确认错误来源,然后检查并更新证书配置,确保服务器提供的证书链完整且可验证。如果问题依旧存在,可以考虑在开发环境中暂时禁用SSL验证,但务必注意其安全风险。

相关推荐
Hacker_LaoYi19 分钟前
计算机网络:虚拟机虚拟网络配置
网络·计算机网络·php
大丈夫立于天地间2 小时前
OSPF - 1类LSA(Router-LSA)
网络·网络协议·学习·信息与通信
黑客Jack2 小时前
网络安全应急响应技术原理与应用
网络·安全·web安全
黑客K-ing2 小时前
什么是黑客和白帽子
网络·安全·web安全
迷茫的小技术5 小时前
OSPF使能配置
运维·服务器·网络
寻找优秀的自己5 小时前
WebSocket 设计思路
网络·websocket·网络协议·golang
云计算DevOps-韩老师5 小时前
【网络云SRE运维开发】2025第2周-每日【2025/01/07】小测-【第7章 GVRP链路捆绑】理论和实操
服务器·网络·计算机网络·云计算·运维开发
黑客老李7 小时前
BaseCTF scxml 详解
开发语言·网络·数据库·python·sql·安全
碎碎思7 小时前
使用 IP 核和开源库减少 FPGA 设计周期
网络·网络协议·tcp/ip·fpga开发
Hacker_LaoYi8 小时前
[CTF/网络安全] 攻防世界 view_source 解题详析
网络·安全·web安全