gpt4 book ai didi

python - 如何在 python ssl.wrap_socket() 中设置/查找 ca_certs 参数

转载 作者:太空狗 更新时间:2023-10-30 02:48:41 30 4
gpt4 key购买 nike

我正在尝试编写一个 python 2.7 脚本,它通过 SSL 或 TLS 套接字连接到服务器。服务器存在并可以提供其证书等。

我找到了以下代码:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = ssl.wrap_socket(s,
ca_certs="/etc/ca_certs_file",
cert_reqs=ssl.CERT_REQUIRED)
ssl_sock.connect((serverName, portNumber))

我不明白 ca_certs 参数是什么。这应该是我计算机上当前存在的文件吗?如果是,我怎么知道它在哪里?我查看了我的 linux 计算机(带有 debian 的 raspberry pi)并在我的/etc/ssl/cert 目录中发现了很多 .pem 文件。我应该将 ca_certs 参数设置为其中之一吗?如果是,选择哪一个?如果不是,我应该将其设置为什么?

最佳答案

事实证明,证书文件是一个应该已经存在于操作系统中的文件,它包含操作系统信任的根(和/或中间?不确定)证书的串联列表。就我而言,在 rasperry pi debian 上,它是/etc/ssl/certificates/ca-certificates.crt

如果您有希望信任的证书,可以使用 linux 命令 update-ca-certificates 将它们添加到此文件中。这将读取文件/etc/ca-certificateds.conf,其中应包含您希望信任的证书列表。 (默认情况下,它会尝试在/usr/share/ca-certificates 中查找这些证书)

关于python - 如何在 python ssl.wrap_socket() 中设置/查找 ca_certs 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11884704/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com