首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何安装OpenSSL 1.1.1和libSSL软件包?

如何安装OpenSSL 1.1.1和libSSL软件包?
EN

Ask Ubuntu用户
提问于 2019-03-19 10:22:24
回答 3查看 160.9K关注 0票数 20

我想在代码开发中使用OpenSSL1.1.1版本。目前,我正在Ubuntu18.04机器上使用Openssl 1.1.0g。

如果我用命令sudo apt install libssl-dev下载这个包,那么我得到OpenSSL 1.1.0g版本,

如果我用命令sudo apt install libssl1.0-dev下载这个包,那么我会得到OpenSSL 1.0.2n版本,

如何下载OpenSSL 1.1.0和libssl包?

注意:我不想单独下载OpenSSL包并在外部构建它。我应该使用Ubuntu软件包下载。

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2019-03-20 13:17:34

事实上,您的问题是重复的,同样的问题已经出现在将Ubuntu18.04中的openssl 1.1.0升级到1.1.1中。

正如@Kevin已经回答的那样,openssl 1.1.1不在当前的Ubuntu资源库中,您需要手动下载、编译和安装最新的OpenSSL版本。

comments部分的开头,我也提出了同样的建议。我最喜欢的总是安装在/opt中,所以我也建议在comments部分安装。

如果你不想做,那你就永远被困住了!

What是OpenSSL? OpenSSL是一个实现安全套接字层(SSL 2/v3)和传输层安全(TLS v1)网络协议以及它们所要求的相关加密标准的命令行加密工具包。大多数使用TLS / SSL协议的网络通信应用程序和工具都可能安装了一些OpenSSL工具。如果您要使用依赖于最新版本的OpenSSL的应用程序和包,您可能需要在Ubuntu系统上手动安装它。OpenSSL依赖于作为OpenSSL项目一部分的两个重要库:

  • libssl为SSLv3和TLS提供客户端和服务器端实现。
  • libcrypto提供SSL/TLS所需的通用密码学和X.509支持,但逻辑上不是其中的一部分。

Ubuntu附带的默认OpenSSL工具箱不是最新的。要获得最新消息,you必须自己下载并安装

Guide安装 openssl 1.1.1b on Ubuntu18.04的最新版本。

步骤1:Download OpenSS1.1.1b

从Ubuntu源代码包…下载最新的OpenSS1.1.1b版本。

OpenSSL密码学和SSL/TLS工具包

Figure-1: Download openssl 1.1.1b

还可以通过运行…下面的命令轻松地安装OpenSSL1.1.1b包

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

步骤2:来自Install包的tar.gb Openssl

现在创建/opt/openssl目录:

$ sudo mkdir /opt/openssl

Figure-2: Create folder for openssl under /opt directory.

现在您已经将系统的正确存档包下载到~/Downloads文件夹中,运行以下命令来安装Openssl

代码语言:javascript
运行
复制
$ sudo tar xfvz ~/Downloads/openssl-1.1.1b.tar.gz --directory /opt/openssl

Figure-3: Extraction into /opt/openssl is complete.

$ perl --version

Figure-4: Perl version.

导出具有以下值的LD_LIBRARY_PATH环境变量:

代码语言:javascript
运行
复制
$ export LD_LIBRARY_PATH=/opt/openssl/lib

通过以下命令验证LD_LIBRARY_PATH设置的值是否正确:

代码语言:javascript
运行
复制
$ echo $LD_LIBRARY_PATH

Figure-5: Value of environment variable LD_LIBRARY_PATH is /opt/openssl/lib.

发出config命令:

代码语言:javascript
运行
复制
 $ cd /opt/openssl/openssl-1.1.1b
 $ sudo ./config --prefix=/opt/openssl --openssldir=/opt/openssl/ssl

Figure-6: config command

接下来,发出make命令:

$ sudo make

发出make test命令以检查可能出现的错误:

$ sudo make test

Figure-7: Bingo! All tests successful.

发出make install命令:

$ sudo make install

Where的位置是 openssl binary?

发出以下命令:

代码语言:javascript
运行
复制
$ sudo updatedb                              # rebuild library cache
$ locate openssl | grep /opt/openssl/bin

Figure-8: Locate openssl binary.

目录/usr/bin也有openssl二进制文件,这是一个耳塞版本。这个unwanted openssl二进制/usr/bin/openssl的存在会给我们带来麻烦,所以我们必须检查一下!

发出以下命令以处理/usr/bin/openssl二进制文件:

代码语言:javascript
运行
复制
$ cd /usr/bin
$ ls -l openssl
$ sudo mv openssl openssl.old       # rename earlier version openssl to openssl.old

Figure-9: Rename earlier version of openssl binary to openssl.old.

步骤3:设置 PATH environment变量

Openssl需要设置PATH环境变量,设置如下所示。

openssl.sh目录下创建一个名为/etc/profile.d/的文件。

代码语言:javascript
运行
复制
$ sudo touch /etc/profile.d/openssl.sh
$ sudo vi /etc/profile.d/openssl.sh

增加以下内容:

代码语言:javascript
运行
复制
#!/bin/sh
export PATH=/opt/openssl/bin:${PATH}
export LD_LIBRARY_PATH=/opt/openssl/lib:${LD_LIBRARY_PATH}

保存并关闭文件。使用以下命令使其可执行。

代码语言:javascript
运行
复制
$ sudo chmod +x /etc/profile.d/openssl.sh

然后,通过运行以下命令永久设置环境变量:

代码语言:javascript
运行
复制
 $ source /etc/profile.d/openssl.sh

Log退出或重新启动系统。

现在,检查PATH环境变量:

$ echo $PATH

Figure-10: PATH envirnement variable having /opt/openssl/bin directory

$ which openssl

Figure-11: The binary 'openssl' is under '/opt/openssl/bin' directory

现在,使用命令检查openssl version

$ openssl version

Figure-12: openssl latest version

现在,使用命令行工具检查openssl版本:

$ openssl

Figure-13: Check version through 'openssl' command line.

如果 What LD_LIBRARY_PATH is没有正确设置?将发生is

$ openssl

Figure-14: Error thrown by 'openssl' command line when 'LD_LIBRARY_PATH' is not properly set.

正如Step-3所指出的,您必须将LD_LIBRARY_PATH设置为正确的值,即/opt/openssl/lib

$ export LD_LIBRARY_PATH=/opt/openssl/lib:$LD_LIBRARY_PATH

<#>摘要:

此方法手动下载、提取、编译和安装最新的OpenSSL版本1.1.1b。

票数 28
EN

Ask Ubuntu用户

发布于 2021-10-21 15:25:06

在Ubuntu20.04上,我想从1.1.1g升级到1.1.1l,但在他们的官方回购中还没有。在此过程中,我遇到了一个错误: openssl在升级后尝试使用wget时,无法验证发行者的权限。

最后,我完成了所有的工作,下面是命令。

代码语言:javascript
运行
复制
cd ~; mkdir /opt/openssl; mkdir /opt/openssl/ssl; sudo ln -s /etc/ssl/certs /opt/openssl/ssl/certs;
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz;
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz.sha256;
tar -zxf openssl-1.1.1l.tar.gz --directory /opt/openssl;
cd /opt/openssl/openssl-1.1.1l;
./config --prefix=/opt/openssl --openssldir=/opt/openssl/ssl;
make;
make test;
sudo make install;
mv /usr/bin/openssl /usr/bin/openssl-1.1.1g;
ln -s /usr/local/bin/openssl /usr/bin/openssl;
ldconfig;

touch /etc/profile.d/openssl.sh;
echo '#!/bin/sh' > /etc/profile.d/openssl.sh;
echo 'export PATH=/opt/openssl/bin:${PATH}' >> /etc/profile.d/openssl.sh;
echo 'export LD_LIBRARY_PATH=/opt/openssl/lib:${LD_LIBRARY_PATH}' >> /etc/profile.d/openssl.sh;

chmod +x /etc/profile.d/openssl.sh; source /etc/profile.d/openssl.sh;
sudo updatedb;
openssl version;

然后对其进行测试,并确保不会出现任何错误:

代码语言:javascript
运行
复制
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz.sha256
票数 1
EN

Ask Ubuntu用户

发布于 2022-10-06 13:02:59

请在Ubuntu22.04上<#>Do它。我通过发出以下命令解决了相同的问题。

代码语言:javascript
运行
复制
#wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb
#dpkg -i libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb 
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1126893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档