如何在CentOS和Ubuntu中从Source安装OpenSSL

在本文中,我们将解释如何从基于CentOS和Ubuntu的Linux发行版的源代码安装最新稳定版本的OpenSSL。

OpenSSL是一个功能齐全的软件库,包含传输层安全性TLS )和安全套接字层SSL )协议的开源实现,用于保护通过计算机网络传输的信息。

它是一个通用的加密库,支持许多不同的加密算法,包括AES,Blowfish; MD5,MD4,SHA-1,SHA-2加密哈希函数; RSA,DSA,Diffie-Hellman密钥交换,椭圆曲线和许多其他。

在本文中,我们将解释如何从基于CentOSUbuntu的发行版的源代码安装最新稳定版本的OpenSSL

第1步:安装开发工具

1.要从源代码手动编译OpenSSL ,首先需要安装一些依赖项,例如RHEL / CentOS / Fedora下的“开发工具”Debian / Ubuntu中的 “build-essential” ,如图所示。

------------------- On CentOS, RHEL & Fedora ------------------- 
# yum group install 'Development Tools' && yum install perl-core libtemplate-perl zlib-devel 
------------------- On Ubuntu & Debian -------------------
$ sudo apt update && apt install build-essential checkinstall zlib1g-dev libtemplate-perl

第2步:从源代码编译OpenSSL

2.接下来,使用以下wget命令从下载页面下载最新稳定版本的OpenSSL (编写本文时为v1.0.2 ,这是一个长期支持LTS )版本,支持到2019年12月31日 )并解压缩使用tar命令

$ wget -c https://www.openssl.org/source/openssl-1.0.2p.tar.gz
$ tar -xzvf openssl-1.0.2p.tar.gz

3.现在,进入提取的目录,在成功构建之后配置,构建,测试库并通过运行以下命令在默认位置(即/ usr / local / ssl)中安装OpenSSL。

$ cd openssl-1.0.2p/
$ ./config
$ make
$ make test
$ sudo make install 

4.成功安装OpenSSL后 ,可以使用ls命令进入安装目录并查看各个子目录和文件。

$ cd /usr/local/ssl/
$ ls -l
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 bin
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 certs
drwxr-xr-x. 3 root root  4096 Aug 22 06:37 include
drwxr-xr-x. 4 root root  4096 Aug 22 06:37 lib
drwxr-xr-x. 6 root root  4096 Aug 22 06:36 man
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 misc
-rw-r--r--. 1 root root 10835 Aug 22 06:37 openssl.cnf
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 private

以下是您需要注意的重要目录:

  • bin - 包含openssl二进制文件和一些实用程序脚本。
  • include / openssl - 包含构建使用libcrypto或libssl的程序所需的头文件。
  • lib - 包含OpenSSL库文件。
  • lib / engines - 包含OpenSSL动态可加载引擎。
  • man - 包含OpenSSL手册页。
  • share / doc / openssl / html - 包含man-pages的HTML再现。
  • certs - 证书文件的默认位置。
  • private - 私钥文件的默认位置。

5.要检查刚刚安装的OpenSSL的版本,请运行以下命令。

$ /usr/local/ssl/bin/openssl version
OpenSSL 1.0.2p  14 Aug 2018

6.要在系统上使用新安装的OpenSSL版本,需要将目录/ usr / local / ssl / bin /添加PATH ,文件〜/ .bashrc (或shell的等效文件)中。

$ vim ~/.bashrc

在文件底部添加此行。

export PATH="/usr/local/ssl/bin:${PATH}"

保存并关闭文件,然后使用以下命令重新加载配置。

$ source .bashrc

7.现在打开一个新的终端窗口并运行以下命令以确认新的OpenSSL二进制文件位于PATH中 ,并且可以在不键入其完整路径的情况下运行它。

$ whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/local/ssl/bin/openssl /usr/share/man/man1/openssl.1ssl.gz
$ openssl version 	
OpenSSL 1.0.2p  14 Aug 2018

就这样! 在本文中,我们已经解释了如何在Linux系统上从源安装最新的OpenSSL版本。 如果您有任何疑问,请使用下面的命令表单与我们联系。