最近在公司测试服务器上使用acme.sh申请ZeroSSL证书,在使用EAB注册ZeroSSL账户时一直不成功,
提示Register account Error: {"type":"urn:ietf:params:acme:error:malformed","status":400,"detail":"[External Account Binding] The JWS Signature MUST be present"}
在打开Debug模式后,看到报错:Usage: _hmac hashalg secret [outputhex]
推测是OpenSSL版本过低导致算法兼容问题,遂准备升级机器上的OpenSSL版本

开始升级

1 系统环境

系统:CentOS release 6.8 (Final)
OpenSSL版本:OpenSSL 1.0.1e-fips 11 Feb 2013

2 下载最新版本OpenSSL

打开OpenSSL官网,发现最新版本为openssl-1.1.1k

//下载最新版本
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
//解压
tar -zvxf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k

3 安装依赖

//安装依赖包
yum install -y zlib zlib-devel
//安装gcc
yum install -y gcc

4 编译安装

//配置openssl安装目录和openssldir
./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl
//使用2个线程同时编译
make -j 2
make install

5 软连接到新版本

//备份当前openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak //这个有些场景不存在
//配置软连接到新版本
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
//更新动态链接库数据并重新加载
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
//查看是否升级成功
[root@salve openssl-1.1.1k]# openssl version
OpenSSL 1.1.1k  25 Mar 2021

PS:openssl升级会影响较多软件,谨慎升级!