我想在代码开发中使用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软件包下载。
发布于 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项目一部分的两个重要库:
Ubuntu附带的默认OpenSSL工具箱不是最新的。要获得最新消息,you必须自己下载并安装。
Guide安装 openssl 1.1.1b
on Ubuntu18.04的最新版本。
步骤1:Download OpenSS1.1.1b
从Ubuntu源代码包…下载最新的OpenSS1.1.1b版本。
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
。
$ 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
环境变量:
$ export LD_LIBRARY_PATH=/opt/openssl/lib
通过以下命令验证LD_LIBRARY_PATH
设置的值是否正确:
$ echo $LD_LIBRARY_PATH
Figure-5: Value of environment variable LD_LIBRARY_PATH is /opt/openssl/lib.
发出config
命令:
$ 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?
发出以下命令:
$ 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
二进制文件:
$ 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/
的文件。
$ sudo touch /etc/profile.d/openssl.sh
$ sudo vi /etc/profile.d/openssl.sh
增加以下内容:
#!/bin/sh
export PATH=/opt/openssl/bin:${PATH}
export LD_LIBRARY_PATH=/opt/openssl/lib:${LD_LIBRARY_PATH}
保存并关闭文件。使用以下命令使其可执行。
$ sudo chmod +x /etc/profile.d/openssl.sh
然后,通过运行以下命令永久设置环境变量:
$ 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。
发布于 2021-10-21 15:25:06
在Ubuntu20.04上,我想从1.1.1g升级到1.1.1l,但在他们的官方回购中还没有。在此过程中,我遇到了一个错误: openssl在升级后尝试使用wget时,无法验证发行者的权限。
最后,我完成了所有的工作,下面是命令。
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;
然后对其进行测试,并确保不会出现任何错误:
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz.sha256
发布于 2022-10-06 13:02:59
请在Ubuntu22.04上<#>Do它。我通过发出以下命令解决了相同的问题。
#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
https://askubuntu.com/questions/1126893
复制相似问题