You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pyca/cryptography如何嵌入OpenSSL依赖?EL8版本显示异常解惑

问题解析:EL8系统中cryptography v42返回OpenSSL 3.2.1的原因
  • cryptography Wheel包自带独立OpenSSL库
    pyca/cryptography从较新版本开始,发布的manylinux标准Wheel包不再依赖系统自带的OpenSSL,而是直接内置了编译好的OpenSSL二进制库。这么做是为了规避不同Linux发行版(比如EL8和EL9)的OpenSSL版本差异,保证库在各种环境下的兼容性。你安装的v42版本就属于这类,它内置了OpenSSL 3.2.1,所以调用cryptography.hazmat.backends.openssl.backend.openssl_version_text()时,返回的是这个内置库的版本,和EL8系统默认的1.1.1k完全无关。

  • 找不到动态库的原因
    这些内置的二进制库并非直接放在安装目录顶层,而是被封装到了更深的子目录的.so文件中。你可以用以下命令查找:

    find $(pip3 show cryptography | grep Location | cut -d' ' -f2) -name "*.so"
    

    执行后就能找到类似cryptography/hazmat/bindings/_openssl.abi3.so的动态链接库文件,实际的OpenSSL代码就打包在这里面。

  • 关于运行时版本的说明
    文档里说的“运行时版本”指的是cryptography当前实际加载使用的OpenSSL版本,这里因为用了自带的库,所以就是内置的3.2.1,和编译Wheel时用的版本一致,也和系统的OpenSSL版本无关。

内容的提问来源于stack exchange,提问作者IvanR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:28:16