gpt4 book ai didi

python - 如何将最新的 openssl 库与 pyOpenSSL 一起使用?

转载 作者:太空狗 更新时间:2023-10-30 03:00:55 27 4
gpt4 key购买 nike

我目前正在使用 pyOpenssl ,它使用系统安装的openssl 1.0.1f。现在我从源码安装openssl 1.0.1j,并将新版本库路径设置到LD_LIBRARY_PATH,此时,当我运行我的py文件时,会产生错误:

File "sslcert.py", line 5, in <module>
from OpenSSL import SSL, _util, crypto
...

File "/usr/local/lib/python2.7/dist-packages/cffi-0.8.6-py2.7-linux-x86_64.egg/cffi/vengine_cpy.py", line 149, in load_library
raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError:
importing '/usr/local/lib/python2.7/dist-packages/cryptography-0.6.1-py2.7-linux-x86_64.egg/cryptography/_Cryptography_cffi_36a40ff0x2bad1bae.so':
/usr/local/lib/python2.7/dist-packages/cryptography-0.6.1-py2.7-linux-x86_64.egg/cryptography/_Cryptography_cffi_36a40ff0x2bad1bae.so:
symbol EC_GFp_nistp521_method, version OPENSSL_1.0.1 not defined in file libcrypto.so.1.0.0 with link time reference

我想知道为 pyOpenssl 使用最新的 openssl 库,如何解决这个问题?

最佳答案

您可能需要重新编译 cryptography针对较新版本的 OpenSSL。

确保您也安装了 OpenSSL 的开发 header ,然后重建(也许最简单的方法是重新安装)加密

升级 OpenSSL 的方式因平台而异。在 Debian 衍生系统上,这可能类似于 apt-get install libssl-dev(这将为您提供库和开发头文件)。在 RedHat 衍生系统上,它可能更像是 yum install libssl-devel

您可能想调查 virtualenv 的使用情况为此,您可以将新构建的版本与已安装的版本分开。

一旦你有了 virtualenv,你就可以使用 pip 安装cryptography:

path/to/virtualenv/bin/pip install cryptography

或者您可以升级现有安装:

path/to/virtualenv/bin/pip install --upgrade cryptography

另请注意密码学项目 now ships manylinux1 wheels .这些是包含所有依赖项的二进制包 - 包括 OpenSSL。因此,如果您在可以使用 ma​​nylinux1 wheel 的平台上,则不需要单独安装 OpenSSL 或其开发头文件的操作系统。

关于python - 如何将最新的 openssl 库与 pyOpenSSL 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27499747/

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