加载共享库时出错:libcrypto.so.1.1

may*_*asl 17 openssl

当我运行“openssl”时,出现如下错误:

openssl:加载共享库时出错:libcrypto.so.1.1:无法打开共享对象文件:没有这样的文件或目录”

这是在我尝试根据本文更新 OpenSSL 之后发生的

有没有什么办法解决这一问题?

操作系统:CentOS 6.8 网络服务器:nginx/1.10.2

更新#1:

[root@host ~]# yum info openssl
Installed Packages
Name        : openssl
Arch        : x86_64
Version     : 1.0.1e
Release     : 48.el6_8.3
Size        : 4.0 M
Repo        : installed
From repo   : system-updates
Summary     : A general purpose cryptography library with TLS implementation
URL         : ***
License     : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications
            : between machines. OpenSSL includes a certificate management tool and
            : shared libraries which provide various cryptographic algorithms and
            : protocols.

Available Packages
Name        : openssl
Arch        : i686
Version     : 1.0.1e
Release     : 48.el6_8.3
Size        : 1.5 M
Repo        : system-updates
Summary     : A general purpose cryptography library with TLS implementation
URL         : ***
License     : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications
            : between machines. OpenSSL includes a certificate management tool and
            : shared libraries which provide various cryptographic algorithms and
            : protocols.
Run Code Online (Sandbox Code Playgroud)

小智 21

我在安装的OpenSSL 1.1.0c的最后一个版本后,同样的问题,我解决了复制库文件的问题libcrypto.so.1.1libcrypto.alibssl.so/usr/local/lib64在共享库/usr/lib64
复制库后,您需要创建符号链接。

ln -s libcrypto.so.1.1 libcrypto.so
ln -s libssl.so.1.1 libssl.so
Run Code Online (Sandbox Code Playgroud)

创建符号链接后,还需要重建 ldconfig 缓存

sudo ldconfig
Run Code Online (Sandbox Code Playgroud)

  • -1。***永远不要*** 用您自己编译的东西覆盖操作系统提供的可执行文件,例如“/usr/bin/openssl”或库“/usr/lib64/libcrypto.so”,除非您想破坏系统。您要对您的安装进行安全更新吗?您将如何测试“yum update”是否会破坏某些内容?您甚至没有**费心**测试您现在定制的操作系统,是吗?***当***更新覆盖您的“改进的”可执行文件和/或库时,您打算做什么? (6认同)

小智 13

使用原始版本的 OpenSSL,它知道如何查找共享库,因为/usr/lib64它包含在链接器的搜索路径中。当您下载并编译 OpenSSL 的“本地”副本时,/usr/local/lib64默认情况下会放置共享库。因此,您可能只需要将此目录添加到链接器的搜索路径中,如下所示(以 root 身份):

echo "/usr/local/lib64" > /etc/ld.so.conf.d/openssl.conf
Run Code Online (Sandbox Code Playgroud)

然后执行:

ldconfig
Run Code Online (Sandbox Code Playgroud)

我相信这将解决您的问题。


mzh*_*ase 5

您可以使用重新安装它

yum install -y openssl-devel