最近在公司测试服务器上使用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升级会影响较多软件,谨慎升级!
在 ubuntu 系统中
lib 目录在 /etc/ld.so.conf.d/libc.conf 里
即运行 echo "/usr/local/openssl/lib" >> /etc/ld.so.conf.d/libc.con
否则会提示 openssl: symbol lookup error: openssl: undefined symbol: EVP_mdc2, version OPENSSL_1_1_0
不考虑升级到 CentOS 7 吗 现在 6 已经停止支持了
公司的服务器谁敢碰,都是老掉牙的系统了,我现在自己的服务器已经转到debian系统了
公司啊,那没事了