我在Python 2.7.8下开发。其中的_ssl.pyd是使用OpenSSL 1.0.1h构建的。
但是,我也有pyOpenSSL 0.10(我知道,旧版本)来满足所需的依赖性。 pyOpenSSL包括libeay32.dll和ssleay32.dll版本0.9.8o。
与此相关的是什么?是因为pyOpenSSL提供了与OpenSSL库的直接接口吗?
答案 0 :(得分:1)
Python可以使用OpenSSL支持进行编译,这对内部库(如TLS / SSL(https://docs.python.org/3.4/library/ssl.html)或urllib)是必需的。 内部Python ssl库通过套接字实现SSL协议。例如,urllib将其用于https协议。
pyOpenSSL是另一个可以在Pypi上找到的Python库。它的创建是为了提供对OpenSSL lib的完全支持,因为内部Python SSL模块仍未涵盖所有功能。
因此,它不是Python内部库的一部分。它在openssl库上实现了一个高级接口。您必须在Python范围之外编译/安装它。 因此,它可以使用除Python使用的openssl lib之外的其他版本进行编译。
更多,在Windows上,您将使用二进制包安装它,因此提供了用于编译它的OpenSSL dll;所以它们可能与系统上安装的或Python不同。
是的pyOpenSLL确实直接与OpenSSL lib接口。在快速查看版本0.14源文件时,测试脚本还执行openssl命令行工具,但不执行lib的Python文件。
希望它可以提供帮助。