【OpenSSL】- Ubuntu22.04手动编译安装openssl

文章目录

下载代码

shell 复制代码
git clone https://github.com/openssl/openssl.git
git checkout -b openssl-3.5.4 #这里需要指定自己想要安装的版本

卸载Ubuntu自带的openssl

一定要先下载代码再卸载默认的openssl。否则git将无法进行安全验证导致下载代码失败。

查看默认的opessl版本

shell 复制代码
openssl version -a

ubuntu22.04默认安装的是3.0.2版本

卸载默认的openssl

shell 复制代码
sudo apt remove --purge openssl
sudo apt autoremove

编译openssl

https://github.com/openssl/openssl/blob/master/NOTES-UNIX.md

shell 复制代码
./Configure --prefix=/usr/lib/ssl/ --openssldir=/usr/lib/ssl/ '-Wl,-rpath,$(LIBRPATH)' #这里注意选择自己想要的安装目录
make -j8 #8为并行编译的线程数,由于我的虚拟机是8核心,因此启动8个线程编译
sudo make install #由于我指定的安装目录需要root权限,如果是普通目录可以省略sudo直接运行"make install"

验证安装

创建软连接

由于openssl默认安装路径为"/usr/lib/ssl/bin/openssl",因此需要在"/usr/bin"下建立一个软连接。否则直接执行"openssl",系统将找不到它。

shell 复制代码
sudo ln -s /usr/lib/ssl/bin/openssl /usr/bin/openssl

再执行openssl version -a查看结果,版本已经更新为3.5.4

恢复git功能

编译完openssl后,git clone代码会失败。

这是因为我们在卸载默认openssl时将ca-certificate一起卸载了。因此重新安装即可。

shell 复制代码
sudo apt install -y ca-certificates
sudo update-ca-certificates --fresh
相关推荐
Lsetea12 天前
OpenSSL的checkhost显示不匹配却退出0:名称检查与证书验收
linux·https·shell·ssl证书·openssl
Lsetea13 天前
OpenSSL的showcerts没有根证书正常吗:服务端发链与show_chain构链排查
https·ssl证书·openssl·tls·证书链
Lsetea15 天前
SSL证书指纹相同但文件哈希不同:PEM、DER与公钥摘要怎么比
运维·https·ssl证书·openssl·证书链
Lsetea15 天前
OpenSSL指定-cipher仍协商TLS1.3:证书排查中的套件与协议边界
运维·https·ssl证书·openssl·tls
Lsetea17 天前
curl设置SSL_CERT_FILE仍报60:CURL_CA_BUNDLE与CA路径优先级排查
linux·https·ssl证书·openssl·curl
Lsetea18 天前
OpenSSL报certificate rejected:error 28与CA辅助信任属性排查
linux·https·ssl证书·openssl·证书链
Lsetea19 天前
OpenSSL报certificate revoked:error 23与CRL吊销层级排查
linux·https·ssl证书·openssl·crl
Lsetea20 天前
OpenSSL报certificate chain too long:error 22与verify_depth深度排查
linux·https·ssl证书·openssl·证书链
Lsetea21 天前
OpenSSL读取加密私钥报bad decrypt:passin与口令来源排查
linux·https·ssl证书·openssl·私钥