前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos7.3编译安装OpenSSL1.1.1b

centos7.3编译安装OpenSSL1.1.1b

原创
作者头像
阿dai学长
修改2019-03-26 10:53:02
7.5K0
修改2019-03-26 10:53:02
举报
文章被收录于专栏:阿dai_linux阿dai_linux

简介

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

安装

代码语言:txt
复制
  $ wget ftp://ftp.fi.muni.cz/pub/openssl/source/openssl-1.1.1b.tar.gz
  • 安装:
代码语言:txt
复制
  $ zxvf openssl-1.1.1b.tar.gz 
  $ cd openssl-1.1.1b/
  $ ./config --prefix=/usr/local/openssl-1.1.1b
  $ make && make install
  • 检查安装结果:
代码语言:txt
复制
  $ cd /usr/local/openssl-1.1.1b/
  $ ldd bin/openssl
  	linux-vdso.so.1 =>  (0x00007ffc30ef0000)
  	libssl.so.1.1 => not found
  	libcrypto.so.1.1 => not found
  	libdl.so.2 => /lib64/libdl.so.2 (0x00007f3d29a58000)
  	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3d2983c000)
  	libc.so.6 => /lib64/libc.so.6 (0x00007f3d2946f000)
  	/lib64/ld-linux-x86-64.so.2 (0x00007f3d29c5c000)

由上面的结果发现,OpenSSL依赖的两个库没找到libssl.so.1.1、libcrypto.so.1.1。

  • 执行OpenSSL命令报错:
代码语言:txt
复制
  $ ./bin/openssl version 
  ./bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
  • 修复上面的报错
代码语言:txt
复制
  $ echo "/usr/local/openssl-1.1.1b/lib/" >> /etc/ld.so.conf
  $ ldconfig -v

即,OpenSSL在编译安装时自带了其依赖的库文件,默认系统会到/usr/lib、/usr/lib64下寻找所有的库文件,系统中默认是没有上述两个库的,需要将OpenSSL自带的库加入到系统环境。

  • 检查是否修复
代码语言:txt
复制
  ./bin/openssl version
  OpenSSL 1.1.1b  26 Feb 2019
  • 此时需要将系统原有的openssl替换掉:
代码语言:txt
复制
  $ openssl version
  OpenSSL 1.0.2k-fips  26 Jan 2017
  $ which openssl
  /usr/bin/openssl
  $ mv /usr/bin/openssl /usr/bin/openssl.old
  $ ln -s /usr/local/openssl-1.1.1b/bin/openssl /usr/bin/openssl
  $ openssl version
  OpenSSL 1.1.1b  26 Feb 2019

ldconfig和ldd

在此顺便介绍两个命令:ldconfig和ldd

ldconfig

ldconfig 命令的用途,主要是在默认搜寻目录(/usr/lib和/usr/lib64)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

如果要添加动态库,只需要将库文件的路径写入到/etc/ld.so.conf文件中,然后调用一下 ldconfig命令即可,如 ldconfig -v

ldd

ldd( list dynamic dependencies ),意思是列出动态库依赖关系。

参考文档:https://blog.csdn.net/u010977122/article/details/52993560

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 安装
  • ldconfig和ldd
    • ldconfig
      • ldd
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档