【介绍】
OpenSSL是一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
参考:https://blog.csdn.net/sszgg2006/article/details/8210832
【rpm安装最新版本】
下载:https://pkgs.org/download/openssl
下载:https://pkgs.org/download/openssl-devel
路径:
export OPENSSL_LIBS="-L/usr/lib64/openssl -lssl -lcrypto" OPENSSL_CFLAGS="-I/usr/include/openssl"
如果有通过yum/rpm安装的openssl,卸载方法:
rpm -e --nodeps openssl && rpm -e --nodeps openssl-devel
【从源码编译最新版本】
下载:https://www.openssl.org/source/
参考:http://www.linuxfromscratch.org/lfs/view/stable/chapter06/openssl.html
参考:https://blacksaildivision.com/how-to-install-openssl-on-centos
wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz && tar zxvf openssl-1.1.1b.tar.gz && cd openssl-1.1.1b ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib shared zlib-dynamic make sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile make MANSUFFIX=ssl install
更新系统动态连接库配置:
echo /usr/lib >> /etc/ld.so.conf && ldconfig
相关文件路径:
/etc/ssl/openssl.cnf /usr/include/openssl /usr/lib/engines /usr/lib/libssl.so.1.0.0 /usr/lib/libcrypto.so.1.0.0
安装完成。
查看当前版本:
openssl version
输出:
OpenSSL 1.1.1b 26 Feb 2019
【排错】
报错:fatal error: zlib.h: no such file or directory
当编译 openssl 时,出现此报错。
参考:https://stackoverflow.com/questions/36374267/how-to-fix-fatal-error-zlib-h-no-such-file-or-directory
可以通过安装 libz-devel 解决。
报错:openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
参考:https://serverfault.com/questions/818445/error-while-loading-shared-libraries-libcrypto-so-1-1
ln -s libcrypto.so.1.1 libcrypto.so ln -s libssl.so.1.1 libssl.so sudo ldconfig
升级安装完成后,必须 ldconfig 。
注意:需要重新编译php才能更新头信息
查看版本(phpinfo):
openssl OpenSSL support enabled OpenSSL Library Version OpenSSL 1.0.2l 26 Sep 2016 OpenSSL Header Version OpenSSL 1.0.2l 26 Sep 2016
显示版本已经一致。
如果不一致,可能是在升级OpenSSL之后没有重新编译PHP。