linux – libssl和libcrypto向后兼容?

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

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

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

我想我已将其缩小到openssl版本的问题.有没有人知道为什么会发生这种情况,或者openssl是否与这样一个旧版本向后兼容.

解决方法

不,libssl版本指定得非常严格;版本之间没有很多ABI兼容性的保证(因此,为什么sonames是如此具体).

您应该能够并排安装这两个版本(我在Debian工作站上同时安装了libssl0.9.8和libssl1.0.0)如果你正确地执行它应该可以工作.你是否已经正确地完成了我无法分辨,但我首先要删除狡猾的符号链接并恢复你所做的其他事情,然后在二进制文件上运行ldd以确定它需要什么,解压缩/安装它需要的库,然后从那里开始.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...