Fork me on GitHub

Ubuntu18.04安装Openssl-1.1.1

1.查看版本

Ubuntu的版本是18.04。使用openssl version命令查看openssl版本,可以看到Ubuntu自带了openssl-1.1.0版本,因此安装新版本需要替换旧版本。

2.下载openssl

打开openssl官网的下载页面可以看到最新的软件包,下载openssl-1.1.1b.tar.gz。放到Ubuntu系统中。

3.解压和安装

  • 使用命令tar -xzvf openssl-1.1.1b.tar.gz解压。

  • 使用cd openssl-1.1.1b进入目录,并且使用./config生成MakeFile,不加任何参数,默认的安装位置为:/usr/local/bin/openssl

  • 使用make进行编译

  • 不放心的话可以使用make tset检查一下(可选步骤)

  • 使用sudo make install进行安装,这里一定要选择root用户的权限执行。

4.备份与替换

  • 到上一步openssl就算安装好了,但是还无法使用,需要通过软链接的方式将新旧版本就行替换,依次运行下列命令。
sudo mv /usr/bin/openssl /usr/bin/openssl.old    //将旧版本的openssl进行备份
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl    //将新版本的openssl进行软链接
cd /etc/   //进入etc目录
su     //下一步一定要切换到root用户
echo "/usr/local/lib" >> ld.so.conf    //将openssl的安装路径加入配置中
ldconfig  //重新加载配置
  • 使用openssl version查看,已经安装好。

  • 如果需要更换版本的话(一般也不会),修改软链接的名称即可,参照:

sudo mv /usr/bin/openssl /usr/bin/openssl.new
sudo mv /usr/bin/openssl.old /usr/bin/openssl

5.安装依赖库

  • openssl安装结束之后,需要安装依赖库才能够进行编程,使用sudo apt-get install libssl-dev安装依赖库,可以看到同时也下载了libssl-doc。

  • 由于下载的依赖库比较旧,我们在前面安装的openssl包中已经安装了新版本的库,因此需要将新旧库进行替换,仍然要做上一步的原因是尽量把能自动配置安装的东西安装好,只需要手动替换新的东西。下面是新旧库的对比(上面为新):

  • 依次使用以下命令进行替换:

sudo mv /usr/include/openssl /usr/include/openssl.old    //将旧版本进行备份
sudo ln -s /usr/local/include/openssl /usr/include/openssl    //将新版本进行软链接

6.测试

编写一个测试代码test_openssl.c:

#include <stdio.h>
#include <openssl/evp.h>

int main(){
    
    OpenSSL_add_all_algorithms();
    
    return 0;
}

然后用下面的命令编译:
gcc -o to test_openssl.c -L/usr/local/openssl/lib -lssl -lcrypto -ldl -lpthread
执行./to;echo $?,结果打印0。

参考资料

posted @ 2019-03-27 21:22  晴和  阅读(27279)  评论(0编辑  收藏  举报