Ubuntu 和 SSLv2_method 的未定义符号

2023-12-27

Canonical 是否在其 openssl 软件包版本中重命名符号?如果是,目的是什么?当我从头开始编译 openssl-1.0.0e.tar.gz (直接从 openssl.org 下载)时,我看到了必要的符号,但 Python(和我)似乎无法在打包版本中找到它。

请继续阅读以了解有关我如何诊断此问题的更多信息......

我试图在 Ubuntu 11.10 上编译 Python 2.6.1,并收到上面的错误消息。我使用这个较旧的 Python 的原因是我试图使我的 Ubuntu 安装与生产系统 100% 兼容以用于开发目的。

表演时

strace -feopen make -j4 |& grep "libssl"

我发现我正在使用一个有前途的文件:

[pid 22614] 打开(“/usr/lib/x86_64-linux-gnu //libssl.so”,O_RDONLY)= 7

运行 nm,该文件没有符号。然而 .a 文件确实有一个类似的文件:

0000000000000030 T SSLv23_method

软件包 libssl1.0.0-dbg 是通过 synaptic 安装的,但是当我列出该软件包的已安装文件时,我看到的只是“已安装文件列表仅适用于已安装的软件包”,这显然是一个 Ubuntu 错误。所以我不确定应该如何检查 .so 中存在哪些符号。

但是,我怀疑他们无论如何都已将 SSLv2_method 重命名为 SSLv23_method。

如何继续了解 Ubuntu 的 openssl-1.0.0 的状态?


Ubuntu 人们构建了不支持 SSLv2 的 OpenSSL,因为该协议已知的安全问题 https://superuser.com/questions/246074/ssl-whats-the-reason-for-disabling-ssl-v2-support。所以这就是为什么你找不到SSLv2_method在他们的库中,即使您自己编译库时也可以找到它。

Ubuntu 构建日志是公开的可用的 https://launchpad.net/ubuntu/+builds。您可以在oneiric-i386.openssl_1.0.0e https://launchpadlibrarian.net/80016018/buildlog_ubuntu-oneiric-i386.openssl_1.0.0e-2ubuntu1_BUILDING.txt.gz记录库已配置为-no-ssl2选项,禁用对 SSLv2 的支持。

./Configure --prefix=/usr --openssldir=/usr/lib/ssl --libdir=lib/i386-linux-gnu no-idea no-mdc2 no-rc5 zlib  enable-tlsext no-ssl2 debian-i386
Configuring for debian-i386
    no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
    no-idea         [option]   OPENSSL_NO_IDEA (skip dir)
    no-jpake        [experimental] OPENSSL_NO_JPAKE (skip dir)
    no-krb5         [krb5-flavor not specified] OPENSSL_NO_KRB5
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-mdc2         [option]   OPENSSL_NO_MDC2 (skip dir)
    no-rc5          [option]   OPENSSL_NO_RC5 (skip dir)
    no-rfc3779      [default]  OPENSSL_NO_RFC3779 (skip dir)
    no-shared       [default] 
    no-ssl2         [option]   OPENSSL_NO_SSL2 (skip dir)
    no-store        [experimental] OPENSSL_NO_STORE (skip dir)
    no-zlib-dynamic [default] 

请注意,可用性SSLv23_method并不意味着客户端能够使用 SSLv2 连接到服务器。 OpenSSL 文档简介讨论这种情况 http://www.openssl.org/docs/ssl/SSL_CTX_new.html:

稍后可以使用以下命令限制可用协议列表 SSL_OP_NO_SSLv2、SSL_OP_NO_SSLv3、SSL_OP_NO_TLSv1 选项 SSL_CTX_set_options() 或 SSL_set_options() 函数。使用这些 可以选择的选项,例如SSLv23_server_method() 并为 能够与所有可能的客户进行谈判,但只允许更新的客户 SSLv3 或 TLSv1 等协议。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 和 SSLv2_method 的未定义符号 的相关文章

  • Ubuntu 18.04:laravel/framework v6.9.0 需要 ext-mbstring * -> 您的系统中缺少请求的 PHP 扩展 mbstring

    在有人将其记下来进行复制之前 我检查了其他页面 但它们没有帮助 我正在尝试在 PHP 7 2 上安装 Laravel 6 的软件包 我也尝试过 PHP 7 4 不幸的是 我收到以下错误 laravel framework v6 9 0 re
  • Ubuntu OpenCV 无法编译

    我正在尝试使用以下命令编译 OpenCV 3 2 1 cmake DCMAKE BUILD TYPE Release DBUILD SHARED LIBS OFF DCMAKE INSTALL PREFIX usr local DOPENC
  • 如何在 Anaconda 中使用 Python Dbus 绑定

    我正在尝试在 Anaconda python 环境上安装 dbus 但我很挣扎 这是我收到的错误消息 e gateway python Python 3 5 4 Anaconda custom 64 bit default Oct 13 2
  • Docker 错误:无法找到包 git

    我正在使用图像nginx这是基于dockerfile ubuntu 连接到 docker 容器的 shell docker exec it
  • 使用 .NET 类进行 OpenSSL 加密

    我希望创建一个使用与 OpenSSL 兼容的 NET 库的类 我知道有一个 OpenSSL Net 包装器 但我希望避免引用第 3 方 非托管代码 我并不是要讨论这是否是正确的选择 但这是有原因的 目前我有以下内容 我认为它应该与 Open
  • 导入错误:无法导入名称 md5

    真的不知道这里发生了什么 我需要在弹性beanstalk上部署我的flask应用程序 但不知何故改变了路径并且无法再运行python application py dotnet info NET Core SDK reflecting an
  • 使用openssl从服务器获取证书

    我正在尝试获取远程服务器的证书 然后可以将其添加到我的密钥库中并在我的 Java 应用程序中使用 一位高级开发人员 正在度假 告诉我我可以运行这个 openssl s client connect host host 9999 获取转储的原
  • 使用mongodb+srv配置Mongo

    我在 docker 上启动 mongo 所以默认主机 localhost port 27017 用户名 root密码 example 现在我想通过连接字符串进行连接 mongodb srv root example localhost si
  • 代码::块 - 警告:GDB:无法设置控制终端:不允许操作

    我已经通过官方存储库在 Ubuntu 14 04 中安装了 Code Blocks 13 12 当我编译时 一切正常 但是当我调试时 shell 中会显示以下消息 警告 GDB 无法设置控制终端 操作不正确 允许的 程序执行到断点 但当我执
  • 如何修改s_client的代码?

    我正在玩apps s client c in the openssl源代码 我想进行一些更改并运行它 但是在保存文件并执行操作后 我的更改没有得到反映make all or a make 例如 我改变了sc usage函数为此 BIO pr
  • 在 XAMPP 上设置虚拟主机

    我已经在 Ubuntu 上的 opt lampp 目录中安装了 XAMPP 并且想要设置一些虚拟主机 Apache 虚拟主机教程说明放置
  • 如何使用符号来标识 ruby​​ 方法中的参数

    我正在学习 Rails 并回到 ruby 来了解 Rails 中的方法 以及 ruby 的实际工作原理 当我看到如下方法调用时 validates first name presence gt true 我有点迷惑不解了 如何在 ruby
  • Fitnesse Slim:如何连接符号

    如何将符号与两侧的文本连接起来 例如 Prefix GAR 多变的 todayDate Suffix 1 GAR todayDate 1 这将评估为 GAR 07202012 1 在 Fitnesse 中运行测试时 似乎串联正在起作用 GA
  • 无法安装 psycopg2 Ubuntu

    试图为 django 项目准备好服务器 但我在设置 postgres 时遇到了一些问题 我正在遵循本指南 https jee appy blogspot com 2017 01 deply django with nginx html ht
  • 内联 svg 不显示在 xhtml 中

    我创建了一个带有内联 SVG 的 XHTML 文件 当测试为 XHTML 时 它不会显示 但当测试为 HTML 时 它会显示 我已经搜索过互联网并相信我已经指定了正确的名称空间等 但是 我很困惑为什么它没有显示 请帮助我理解我做错了什么 注
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • 使用 PKCS1 生成私钥 RSA

    有没有办法在 PHP 中通过 OpenSSL 生成私钥openssl pkey 新 http php net manual en function openssl pkey new php在 RSA 和 PKCS1 中 如果您的意思是带有
  • 有没有人在 Ubuntu 16.04 LTS 上安装 QGIS

    按照以下网址提供的说明进行操作 这一页 http www qgis org en site forusers alldownloads html并收到以下错误 以下软件包具有未满足的依赖关系 python qgis Depends pyth
  • docker:无法连接到位于unix:///var/run/docker.sock的Docker守护进程。 docker 守护进程是否正在运行?

    我通过 Visual Studio Code VScode 版本 1 66 远程连接到学校服务器 Ubuntu 20 04 2 LTS 来执行一些任务 今天我关注 docker com https docs docker com engin
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上

随机推荐