Splunk 我怎样才能在 python SSL 中做到这一点

问题描述 投票:0回答:1

我需要你的帮助。当我使用 python

Splunk Connection
时,我看到了这个错误。我正在使用 python 2.7

SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:618)

所以,我看到了这样的参考页面 https://docs.splunk.com/DocumentationStatic/PythonSDK/1.6.5/client.html#splunklib.client.Indexes

但是我还是无法解决上面的错误。

验证连接时,返回

False

我需要在设置中添加更多内容吗?

谢谢你。

 service = client.connect(
        host=host,
        port=port,
        username=username,
        password=password,
        verify=False
    )   
python ssl connection certificate splunk
1个回答
0
投票

自签名证书或由不受信任的 CA 签名的证书都是验证失败的常见原因,但不是唯一原因。证书过期或在证书不包含主题备用名称 (SAN) IP 条目来保护 IP 地址流量时在应用程序中使用 IP 地址也是常见问题。

处理任何失败的一种方法是在代码中使用

verify=False
(如您的示例中所示),尽管并不真正推荐这样做,因为您本质上禁用了证书验证,从安全角度来看这可能存在风险。在生产环境中不建议这样做。但是,在某些情况下可能有必要更换它,例如您无法控制的过期证书。

如果是自签名证书或不受信任的 CA,处理此问题的另一种方法可能是将自签名证书或不受信任的 CA 导入到受信任的证书存储中,或者 Splunk 存储(如果它使用自己的证书)。对于每个操作系统,甚至在 Linux 发行版之间,将证书添加到系统证书存储区都是不同的。

您可以使用浏览器检查SSL证书,看看是否出现同样的验证失败。否则,来自 freecodecamp 的此页面详细介绍了有关使用 openssl 实用程序检查证书、识别签名者(CA 或自签名)或下载证书以便将其导入商店的详细信息。

splunk.com 上的这个讨论有一个非常相似的问题和一个解决方案,建议使用

openssl_capath_env
/
SSL_CERT_DIR

© www.soinside.com 2019 - 2024. All rights reserved.