前言

      在http升级到https时,需要用到SSL证书,而OpenSSL是一个开放源代码的软件库包,是生成自签SSL证书的工具(ps: 自签名SSL证书是不受浏览器信任的,即使网站安装了自签名SSL证书,当用户访问时浏览器还是会持续弹出警告)。

      一般来说,Linux环境是自带OpenSSL的,假如很不幸你所用的Linux环境并没有安装OpenSSL,那此文便是为你服务的。

安装步骤

安装包准备

    方式一:线上下载安装包

        在目标文件夹执行如下指令

wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz

    方式二:离线传输安装包

        到官网https://www.openssl.org/source下载一个OpenSSL的压缩包,然后利用传输工具或者scp指令将安装包传输到你打算安装的Linux环境

解压并编译

解压下载好的安装包

tar -zxvf openssl-1.1.1c.tar.gz

切换到目标目录

cd /usr/local/openssl/openssl-1.1.1c

设定OpenSSL的安装路径,安装后的档案会出现在该目录下( --prefix 参数为打算安装的目录,注意下面指令的目录要对应上)

 ./config --prefix=/usr/local/openssl
./config -t

执行make,编译OpenSSL(Linux环境需要装有GCC)

make && make install

连接OpenSSL所依赖的库文件

切换到OpenSSL的安装目录

cd /usr/local/openssl/bin

查看openssl的依赖库文件目录

ldd openssl

返回以下结果

linux-vdso.so.1 =>  (0x00007ffcc2300000)
libssl.so.1.1 => not found
libcrypto.so.1.1 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007f42b8295000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f42b8079000)
libc.so.6 => /lib64/libc.so.6 (0x00007f42b7cb6000)
/lib64/ld-linux-x86-64.so.2 (0x0000563e55fc1000)

注意not found的两行,意思是libssl.so.1.1和libcrypto.so.1.1找不到所依赖的库文件,直接运行会抛openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory异常,解决方法为手动去连接库文件,执行如下指令:

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

此时再执行

ldd openssl

出现以下结果

linux-vdso.so.1 =>  (0x00007ffcc2300000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f42b8982000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f42b849a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f42b8295000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f42b8079000)
libc.so.6 => /lib64/libc.so.6 (0x00007f42b7cb6000)
/lib64/ld-linux-x86-64.so.2 (0x0000563e55fc1000)

则库文件已连接完成

配置环境变量

执行以下指令进行编辑

sudo vim /etc/profile

在文件的末尾添加

export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin

保存并退出文件,执行

source /etc/profile

让环境变量生效

检查是否安装成功

openssl version -a

出现以下结果

OpenSSL 1.1.1c  28 May 2019
built on: Thu May 30 15:27:48 2019 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-1.1.1c=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific

到此OpenSSL已安装成功

 

文章参考:

https://blog.csdn.net/gengxiaoming7/article/details/50957275

https://blog.csdn.net/yang_yulin_/article/details/99728500

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐