gpt4 book ai didi

python - 为什么 pyOpenSSL 有一个单独的 OpenSSL DLL 副本?

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:14 25 4
gpt4 key购买 nike

我在 Python 2.7.8 下开发。那里的 _ssl.pyd 是用 OpenSSL 1.0.1h 构建的。

但是,我也有 pyOpenSSL 0.10(我知道,旧版本)来满足所需的依赖性。 pyOpenSSL 包括 libeay32.dll 和 ssleay32.dll 版本 0.9.8o。

这是怎么回事?是因为 pyOpenSSL 提供了 OpenSSL 库的直接接口(interface)吗?

最佳答案

Python 可以使用 OpenSSL 支持进行编译,这是 TLS/SSL (https://docs.python.org/3.4/library/ssl.html) 或 urllib 等内部库所必需的。内部 Python ssl 库通过套接字实现 SSL 协议(protocol)。例如,urllib 将其用于 https 协议(protocol)。

pyOpenSSL 是您可以在 Pypi 上找到的另一个 Python 库。它的创建是为了提供对 OpenSSL 库的全面支持,因为内部 Python SSL 模块仍未涵盖所有功能。

因此,它不是 Python 内部库的一部分。它通过 openssl 库实现了一个高级接口(interface)。您必须在 Python 范围之外编译/安装它。因此它可能使用不同于 Python 使用的 openssl 库的另一个版本进行编译。

此外,在 Windows 上,您将使用二进制包安装它,因此提供了编译它的 OpenSSL dll;因此它们可能与安装在系统上或由 Python 安装的不同。

是的,pyOpenSLL 直接连接到 OpenSSL 库。测试脚本还执行 openssl 命令行工具,但在快速查看 0.14 版源文件时不执行 lib 的 Python 文件。

希望对您有所帮助。

关于python - 为什么 pyOpenSSL 有一个单独的 OpenSSL DLL 副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26589133/

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