美文网首页
Ubuntu 18.04下安装最新版OpenSSL 1.1.1a

Ubuntu 18.04下安装最新版OpenSSL 1.1.1a

作者: 正居江陵 | 来源:发表于2019-01-28 23:29 被阅读0次

    写在前面

    安装最新版的OpenSSL——也就是1.1.1a版本的原因是,最近的项目需要用到国密算法,需要在代码中调用国密SM4算法的加解密库函数来实现一些功能。实际上目前已经有针对国密算法开发的开源密码工具箱——GmSSL,但是由于我在编译Java API和PHP API未能成功,只能成功编译安装最基本的GmSSL,失去了编程语言的扩展性,故放弃了采用GmSSL。但是在最新版的OpenSSL 1.1.1a中,已经收录了GmSSL实现的国密算法(SM2/SM3/SM4),详见OpenSSL开发日志。因而我就选择直接安装OpenSSL来解决项目中的问题。
    目前我所尝试的OpenSSL 1.1.1a的安装,仅在Ubuntu 18.04版本下实际测试运行,如果使用其他Ubuntu版本或其他Linux发行版,本文仅做参考。
    还要指出的是,Ubuntu 18.04预装了OpenSSL 1.1.0g,本文内容中并未将其卸载,而是仅安装了OpenSSL 1.1.1a。

    安装流程

    在系统安装完成之后,首先同步最新的软件包
    sudo apt-get update
    然后安装编译过程中必要的工具——gccmake工具
    sudo apt-get install gcc
    sudo apt-get install make
    如果此时查看OpenSSL版本
    openssl version
    如果是Ubuntu 18.04版本,会显示版本为1.1.0g。
    gcc和make工具安装完成后,下载OpenSSL 1.1.1a的源码,OpenSSL的下载页面为https://www.openssl.org/source/
    下载OpenSSL 1.1.1a的源码,可在任意文件目录下载,此下载地址为官网地址,国内网络访问可能较慢
    wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
    下载完成后进行解压
    tar zxvf openssl-1.1.1a.tar.gz
    进入解压后的文件目录
    cd openssl-1.1.1a
    接下来进行编译和安装
    ./config
    make
    sudo make install
    编译安装之后,并未完全完成,如果此时查看OpenSSL版本,就会发现还差一步。执行查询OpenSSL版本的命令后,可能会显示没有找到OpenSSL 1.1.1a版本,而不是直接显示版本。
    此时需要修改配置文件,配置文件路径为/etc/ld.so.conf
    sudo vim /etc/ld.so.conf
    如果不习惯vim,或者尚未安装vim,自行使用gedit
    在配置文件后添加OpenSSL 1.1.1a的安装目录

    /usr/local/bin
    /usr/local/lib
    /usr/local/ssl
    

    保存退出,最后执行命令
    sudo ldconfig
    此时查看OpenSSL版本,即显示1.1.1a。至此OpenSSL 1.1.1a安装完成,可以直接使用命令行工具或者用OpenSSL库用C语言进行开发。

    结语

    目前尚不清楚在未卸载旧版本的情况下安装新版本有什么弊端。正如前文所说,我安装OpenSSL 1.1.1a的目的是利用最新版中增加的国密算法,且使用其他编程语言调用,所以对我来说这还未结束。本文仅介绍OpenSSL 1.1.1a的安装,我后续还安装了PHP环境,调用了OpenSSL中的相关工具库,详情请移步Ubuntu 18.04下安装Apache和PHP环境,并使用最新版OpenSSL 1.1.1a

    相关文章

      网友评论

          本文标题:Ubuntu 18.04下安装最新版OpenSSL 1.1.1a

          本文链接:https://www.haomeiwen.com/subject/tqzzjqtx.html