已解决
【Linux】源码编译安装openssl
来自网友在路上 148848提问 提问时间:2023-10-21 07:39:42阅读次数: 48
最佳答案 问答题库488位专家为你答疑解惑
版本:OpenSSL 3.0.11 19 Sep 2023 (Library: OpenSSL 3.0.11 19 Sep 2023)
系统:centos 7.6
步骤
下载安装包
wget https://www.openssl.org/source/openssl-3.0.11.tar.gz
我是下载到 /home/openssl
下面
解压并编译
解压安装包
tar -zxvf openssl-3.0.11.tar.gzcd openssl-3.0.11.tar.gz
设定OpenSSL安装路径
./config --prefix=/usr/local/openssl./config -t
可能出现问题
Can't locate IPC/Cmd.pm in @INC (@INC contains: /home/openssl/openssl-3.0.11/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /home/openssl/openssl-3.0.11/external/perl/Text-Template-1.56/lib) at /home/openssl/openssl-3.0.11/util/perl/OpenSSL/config.pm line 19.
BEGIN failed--compilation aborted at /home/openssl/openssl-3.0.11/util/perl/OpenSSL/config.pm line 19.
Compilation failed in require at /home/openssl/openssl-3.0.11/Configure line 23.
BEGIN failed--compilation aborted at /home/openssl/openssl-3.0.11/Configure line 23.
这个错误提示表明在配置 OpenSSL 时缺少了 IPC::Cmd 模块。IPC::Cmd 模块是 Perl 的一个扩展模块,它用于在 Perl 脚本中执行系统命令。
yum install perl-IPC-Cmd
编译
需要有 gcc
make && make install
查看依赖库
cd /usr/local/openssl/binldd openssl
返回以下结果
linux-vdso.so.1 => (0x00007ffe44d8c000)
libssl.so.3 => not found
libcrypto.so.3 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007ffbad08e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffbace72000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffbacaa4000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffbad292000)
注意 not found 的两行,意思是 libssl.so.3 和 libcrypto.so.3 找不到所依赖的库文件,需要手动去连接库文件,执行如下指令:
ln -s /usr/local/openssl/lib/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/openssl/lib/libcrypto.so.3 /usr/lib64/libcrypto.so.3
千万注意,你的版本不同,这边确实的动态库可能也会不同,不过都是这两个文件确实,看好版本就行
再执行
ldd openssl
返回以下结果
linux-vdso.so.1 => (0x00007fffeb1ea000)
libssl.so.3 => /lib64/libssl.so.3 (0x00007f2e79039000)
libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f2e789c6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f2e787c2000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2e785a6000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2e781d8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2e792de000)
这样就 ok 了
配置环境变量
sudo vim /etc/profile#在文件的末尾添加
export OPENSSL_PATH=/usr/local/openssl/bin
export PATH=$OPENSSL_PATH:$PATH:$HOME/bin
#保存并退出文件source /etc/profile
检查
openssl version -a
会出现下面结果
OpenSSL 3.0.11 19 Sep 2023 (Library: OpenSSL 3.0.11 19 Sep 2023)
built on: Fri Oct 20 07:59:03 2023 UTC
platform: linux-x86_64
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
OPENSSLDIR: "/usr/local/openssl/ssl"
ENGINESDIR: "/usr/local/openssl/lib64/engines-3"
MODULESDIR: "/usr/local/openssl/lib64/ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_ia32cap=0xfffa32034f8bffff:0x18d19e27eb
这样就 ok 了
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"【Linux】源码编译安装openssl":http://eshow365.cn/6-20729-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: AC修炼计划(AtCoder Regular Contest 167)
- 下一篇: 云计算与云服务