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(使用前将#替换为@)