- openssl 3.0以上需要 IPC/Cmd.pm
https://blog.csdn.net/sd4493091/article/details/122220902
解决方法:
安装perl-CPAN
[root@centos7 ~]# yum install -y perl-CPAN
进入CPAN的shell模式,首次进入需要配置shell,按照提示操作即可(本人perl小白,全部选择默认配置,高手请根据提示自行选择)
[root@centos7 ~]# perl -MCPAN -e shell
在shell中安装缺少的模块
cpan[1]> install IPC/Cmd.pm
- 安装openssl 源码编译版本 wget 下载。最新的地址 www.openssl.org/source/ //发文的时候是3.0.2版本。www.openssl.org/source/open…
./config --prefix=/usr/local/bin/openssl
make
sudo make install
查看版本 /usr/local/bin/openssl/bin/openssl version 失败
ldd 查看依赖
ldd openssl
linux-vdso.so.1 => (0x00007ffed1d28000)
libssl.so.3 => not found
libcrypto.so.3 => not found
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fc1f4ca3000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fc1f4a87000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fc1f46b9000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc1f4ea7000)
发现少了两个so。
复制两个so
cp ../lib64/libssl.so /usr/lib64/libssl.so.3
cp ../lib64/libcrypto.so /usr/lib64/libcrypto.so.3
ldd openssl
linux-vdso.so.1 => (0x00007ffff0d6a000)
libssl.so.3 => /usr/lib64/libssl.so.3 (0x00007fbd06808000)
libcrypto.so.3 => /usr/lib64/libcrypto.so.3 (0x00007fbd06198000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fbd05f94000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fbd05d78000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fbd059aa000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbd06aac000)
so存在以后查看版本 /usr/local/bin/openssl/bin/openssl version OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
- 安装Python3
(1)、下载Python3
wget www.python.org/ftp/python/…
wget会将文件下载到当前目录下,所以下载前选好目录。
(2)、下载完成后,解压
tar -xvzf Python-3.10.4.tgz
(3)、解压完成后,切换到Python3文件夹中
cd ./Python-3.6.4
(4)、使用ssl
编辑 vi Modules/Setup
取消下面注释
#OPENSSL=/usr/local/bin/openssl
#_ssl _ssl.c \
#-I(OPENSSL)/lib \
#-lssl -lcrypto
#_hashlib _hashopenssl.c \
#-I(OPENSSL)/lib \
#-lcrypto
修改地址和64位
OPENSSL=/usr/local/bin/openssl
_ssl _ssl.c \
-I(OPENSSL)/include/openssl -L(OPENSSL)/include -I(OPENSSL)/lib64 \
-lcrypto
(5)、执行
./configure --with-openssl=/usr/local/bin/openssl
make
sudo make install
(6)、输入Python3验证
python3 --version
(7)、输入ssl验证
python3
import ssl
无异常就正常了