linux下升级openssl到新版本

0,安装fips版本,据说比单纯的openssl快五倍

./config fips --with-fipsdir=/usr/local/related/openssl-fips-2.0.16 --prefix=/usr/local/related/openssl-1.0.2o --openssldir=/usr/local/related/openssl-1.0.2o/ssl

make depend

make install

安装第二次生成动态链接库

./config shared fips --with-fipsdir=/usr/local/related/openssl-fips-2.0.16 --prefix=/usr/local/related/openssl-1.0.2o --openssldir=/usr/local/related/openssl-1.0.2o/ssl

make clean

make depend

make install

如果报库文件找不到可以 :--with-fipslibdir=/usr/local/related/openssl-fips-2.0.16/lib 指定fips的lib库位置

然后软链 :
ln -s /usr/local/related/openssl-1.0.2o/bin/openssl /usr/bin/openssl

其实到这一步已经能看到系统中的openssl已经更新了

openssl version -a  查看下

但是建议仍然把步骤进行完,虽然我也不知道不进行完会产生什么后果。


1,

安装新版

prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。

tar -zxf openssl-1.1.0f

cd openssl-1.1.0f/

./config  --prefix=/usr/local/related/openssl --openssldir=/usr/local/related/openssl/ssl

make && make install

./config shared --prefix=/usr/local/related/openssl --openssldir=/usr/local/related/openssl/ssl

make clean

make && make install


2,

进行配置

备份原来的openssl命令
mv /usr/bin/openssl /usr/bin/openssl.bak

备份原来的openssl目录 (一些环境下本地include下面没有旧的openssl目录,这里我的环境是liunx7,centos6.8)
mv /usr/include/openssl  /usr/include/openssl.bak

将安装好的bin目录中的openssl文件软连到/usr/bin/openssl
ln -s /usr/local/related/openssl/bin/openssl /usr/bin/openssl

将安装好的openssl 的openssl目录软连到/usr/include/openssl
ln -s /usr/local/related/openssl/include/openssl /usr/include/openssl

修改系统自带的openssl库文件,如/usr/local/lib64/libssl.so(根据机器环境而定) 软链到升级后的libssl.so
ln -s /usr/local/related/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so     ----注意时usr/local下的lib64不是/usr/lib64,两个目录下有同名目录,有可能在/usr/local/lib64/并不存在文件

在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
echo "/usr/local/related/openssl/lib" >> /etc/ld.so.conf

使修改后的/etc/ld.so.conf生效 
ldconfig -v

最好查看下openssl版本号,看是否已经更新成最新的,

openssl version -a

3,

使用头文件目录:

/usr/local/related/openssl/include  

gcc编译的时候加-lssl,同时指定libssl.so。

4,如果需要加入fips模块:

最近在弄openssl,发现openssl-fips-2.0.6.tar.gz其实是编译出来一个fips的模块,编译出来的东西指定安装在/usr/local/ssl/fips-2.0/目录,然后编译openssl-1.0.1h.tar.gz时config时指定OPENSSL_FIPS,就可以把fips模块编进来,如果报头文件错误可以把/usr/local/ssl/fips-2.0/include/openssl替换系统的/usr/include/openssl,如果找不到相关库可以用--with-fipslibdir=/usr/local/ssl/fips-2.0/lib指定,我测试龙芯的机器加入fips模块后比直接编译openssl-1.0.1h.tar.gz,openssl speed rsa512测试能提高20倍



<think>好的,用户询问如何在Linux系统中升级OpenSSL到最新版本。我需要先整理已知的信息和引用内容,然后给出一个清晰的步骤指南。 首先,根据引用[1],用户可能需要先检查当前版本,使用命令openssl version。接着引用[2]提到升级的原因可能是件依赖高版本。然后引用[3]和[4]给出了一些具体步骤,比如编译安装、创建符号链接,以及重启服务等。 我需要确保步骤正确,包括下载源码、编译安装、替换旧版本、更新符号链接,以及验证新版本。同时要注意可能的依赖问题,比如安装编译工具。另外,引用[4]提到需要重启相关服务或服务器,这也是关键步骤,否则可能无法应用新版本。 用户可能遇到的常见问题包括编译错误、路径错误或符号链接问题,需要提醒注意事项,比如备份原有版本。还要注意权限问题,使用sudo执行命令。最后,生成相关问题帮助用户进一步了解可能的需求,比如降级或验证安装。</think>### 逐步升级OpenSSL的步骤 #### 1. **查看当前OpenSSL版本** 在终端执行以下命令确认当前版本: ```bash openssl version ``` 输出示例:`OpenSSL 1.0.2k-fips`。若版本过低需升级[^1]。 #### 2. **安装编译依赖** 安装编译工具和依赖库: ```bash sudo yum install -y gcc make perl zlib-devel # 或Ubuntu/Debian系统 sudo apt-get install -y build-essential zlib1g-dev ``` #### 3. **下载最新OpenSSL源码** 访问[OpenSSL官网](https://www.openssl.org/source/)获取最新版本链接,例如1.1.1w: ```bash wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz tar -zxvf openssl-1.1.1w.tar.gz cd openssl-1.1.1w ``` #### 4. **编译并安装** 配置、编译并安装到自定义目录(如`/usr/local/openssl`): ```bash ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl make sudo make install ``` #### 5. **替换旧版本链接** 创建符号链接替换系统默认路径: ```bash sudo ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl sudo ln -sf /usr/local/openssl/include/openssl /usr/include/openssl ``` 更新库文件链接: ```bash echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl.conf sudo ldconfig ``` #### 6. **验证新版本** 检查版本是否更新: ```bash openssl version ``` 应输出类似`OpenSSL 1.1.1w`[^3]。 #### 7. **重启相关服务** 重启依赖OpenSSL的服务(如SSH、Nginx)或直接重启服务器: ```bash sudo service sshd restart sudo service nginx restart # 或重启服务器 sudo reboot ``` 完成后再次验证版本[^4]。 --- ### 注意事项 - **备份原版本**:编译前建议备份`/usr/bin/openssl`和`/usr/include/openssl`。 - **依赖冲突**:若系统工具(如yum)依赖旧版OpenSSL,需谨慎操作或使用链接恢复。 - **权限问题**:所有步骤需`sudo`权限。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值