安装python3报错sslv3 alert certificate expired的终极解决办法

编译安装python3的时候遇到[SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] sslv3 alert certificate expired的错误,看翻译可以知道是ssl证书过期,在网上尝试多种方式无果后,决定重新安装一版ssl,步骤如下:

1、首先用 openssl version -a 查看当前openssl的版本信息

openssl version -a

2、查看系统是否已安装zlib库, 如果打印出zlib的路径证明zlib已经安装

whereis zlib

如果没有打印,可以用以下命令安装

yum install -y zlib zlib-devel

3、查看系统是否已安装gcc编译器,如果显示如下信息证明gcc已经安装

gcc -v

如果没有显式信息,用以下命令安装gcc

yum install -y gcc

4、切换到/usr/local/src目录,下载openssl-1.0.2.r.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

5、解压安装

tar -zxvf openssl-1.1.1.k.tar.gz
cd openssl-1.1.1.k
./config --prefix=/usr/local/openssl shared zlib &&make && make install

6、备份当前openssl

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak 

7、配置使用新版本

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl


8、更新动态链接库数据并重新加载

echo /usr/local/openssl/lib >> /etc/ld.so.conf
ldconfig -v

9、查看是否升级成功
 

openssl version

10、 如果缺少libssl.s0.1.1

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/local/lib/libcrypto.so.1.1

如果依然报错找不到请执行如下

echo "export LD_LIBRARY_PATH=/usr/local/lib" >> ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/lib

最后在使用openssl version -a查看吧

root@yukai:~/openssl-1.1.1k# openssl version
OpenSSL 1.1.1k  25 Mar 2021

发表评论

后才能评论