libssl 和 libcrypto 向后兼容?

Old*_*rce 7 libraries dynamic-linking openssl

我有一个旧的服务器应用程序,需要libssl.so.0.9.6libcrypto.so.0.9.6.

我的问题是我目前拥有libssl.so.1.0.0alibcrypto.so.1.0.0a在我的系统上。我尝试符号链接到新库,它让我在启动服务器应用程序时克服了错误,但是一旦应用程序收到新连接,它就会立即崩溃。但是,它没有给出任何关于原因的错误。我还尝试从旧的 RPM 中提取这些库并将它们放在 linux 服务器上的正确位置,我会遇到同样的问题。

我已经禁用了 SELinux 并禁用了 iptables。我正确转发了端口,但是这个问题一直存在。在另一台 linux 服务器上,我正在运行一个旧的 CentOS 版本,需要 openssl 版本,它运行没有问题。

我想我已经将范围缩小到 openssl 版本的问题。有谁知道为什么会发生这种情况,或者 openssl 是否向后兼容这样的旧版本。

Cal*_*leb 4

不,OpenSSL 不向后兼容,正如您所注意到的,强制提供不正确版本的库只会让您的软件死掉。

正确的做法是获得正确的预期库版本。您应该检查您的发行版,看看它们是否有兼容包。一些发行版具有最新的 OpenSSL 软件包,但它们也具有包含旧库的附加软件包,以满足对旧库的特定依赖关系。