python - 在 Python 中使用企业证书颁发机构进行 HTTPS 证书验证

标签 python ssl https certificate

我需要使用我们公司权威机构签署的证书对服务器进行 HTTPS 调用。如何配置 python 以信任此证书颁发机构?

最佳答案

默认情况下(假设您正在使用 httplib.HTTPSConnection),您无需执行任何操作,这 httplib doesn't do any certificate verification (same applies to urllib)。

当然,这不是什么好事,您应该验证服务器证书。对此有多种解决方案(参见 this question )。

简而言之,您可能必须手动扩展 httplib.HTTPConnection 以通过 ssl.wrap_socket 将套接字转换为 SSL 套接字,以便能够插入验证回调(您需要验证主机名和证书)。

或者,如果您不受 httplib 的限制,可以使用 PycURL肯定会让这个更干净。您可以配置 CA_INFO(或 CA_PATH)以指向您的内部 CA 证书。此外,它通常不附带预定义的 CA 列表,但您可以从 here 中获取一个。 (从 Mozilla 列表转换而来)并在需要时将这些证书添加到您信任的 CA 列表中。

关于python - 在 Python 中使用企业证书颁发机构进行 HTTPS 证书验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10440307/

相关文章:

python - 无法解决 python 中的缩进错误

ssl - 将 SSL 证书从 .pfx 转换为 .key

c# - IIS认证中的 "realm"是什么,它和SSL证书参数有什么关系?

Java SSL : does a server and client have to have a copy of the same keystore file?

java - 在 jar 中找不到 KeyStore 文件,尽管存在于 jar 中

google-app-engine - 谷歌云平台,Golang 灵活环境 HTTPS 仅适用于自定义域

python - 让 PSP 和 Publisher 处理程序在 Apache2 mod-python 中协同工作

python - 用pip安装属性错误

windows - 尝试运行 openssl s_server 实用程序时出现 OpenSSL 错误

python - 基于 Pandas 数据框中列比较的条件累积和