新版本openssl 3.0.7使用hmac报错Error setting context

写了个功能性SHELL脚本,发现运行报错,经bash -x排查,发现是调用编译的最新版openssl执行报错:

Error setting context
0070EE71CD7F0000:error:0300009E:digital envelope routines:do_sigver_init:no default digest:crypto/evp/m_sigver.c:284:

 

所要执行的功能为hmac,使用系统自带版本,和其它编译版本正常,如下:

[root@OpenVPN ~]# openssl version
OpenSSL 3.0.7 1 Nov 2022 (Library: OpenSSL 3.0.7 1 Nov 2022)
[root@OpenVPN ~]# echo -en 'PUT\n\ninode/direectory\n' | openssl sha1 -hmac Wlf26gEdwHmwWjn4At0YSd5ZCoHeLN
Error setting context
00307409837F0000:error:0300009E:digital envelope routines:do_sigver_init:no default digest:crypto/evp/m_sigver.c:284:
[root@OpenVPN ~]# 
[root@OpenVPN ~]# /usr/bin/openssl version
OpenSSL 3.0.1 14 Dec 2021 (Library: OpenSSL 3.0.1 14 Dec 2021)
[root@OpenVPN ~]# echo -en 'PUT\n\ninode/direectory\n' | /usr/bin/openssl sha1 -hmac Wlf26gEdwHmwWjn4At0YSd5ZCoHeLN
SHA1(stdin)= c177696ccdb92c0bc9aa885430464a2759138490

同期最新的1.1.1s编译版本也执行正常:

[root@Bind ~]# openssl version
OpenSSL 1.1.1s  1 Nov 2022
[root@Bind ~]# echo -en 'PUT\n\ninode/direectory\n' | openssl sha1 -hmac Wlf26gEdwHmwWjn4At0YSd5ZCoHeLN
(stdin)= c177696ccdb92c0bc9aa885430464a2759138490

 

由于编译参数相同,故应与版本有关;经查找,已经有人对此报错信息提出了Bug清单,估计下个更新版本可以修复,目前若要使用hmac功能,可以使用较早的编译版本或系统自带的openssl。

发表评论

error: Content is protected !!