如何启用 RHEL9 禁用的 SHA-1 验签算法

后知后觉 暂无评论

为了安全,在 RHEL9 及之后的版本已经默认禁用基于 SHA-1 签名的证书和相关组件。

而部分第三方仓库的签名文件还是老旧的 SHA-1 方式,导致无法正常安装。

CONDA

就比如 Python 的发行版 Conda 官方仓库就是,直接安装无法成功,会报错:

Importing GPG key 0x29D82806:
 Userid     : "Distribution Team <distribution_team@anaconda.com>"
 Fingerprint: 3416 1F5B F5EB 1D4B FBBB 8F0A 8AEB 4F8B 29D8 2806
 From       : https://repo.anaconda.com/pkgs/misc/gpgkeys/anaconda.asc
Is this ok [y/N]: y
warning: Signature not supported. Hash algorithm SHA1 not available.
Key import failed (code 2). Failing package is: conda-23.11.0-0.x86_64
 GPG Keys are configured as: https://repo.anaconda.com/pkgs/misc/gpgkeys/anaconda.asc
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED

解决方式

如果用户希望使用或者对仓库内容信任,可以临时信任 SHA-1 签名算法,执行命令:

sudo update-crypto-policies --set LEGACY

即可将验签方式改为老版,安装完成后再改为默认。

sudo update-crypto-policies --set DEFAULT
小贴士:这里会弹出提示“重启后确保生效”,不过实际测试已经生效,谨慎起见还是建议重启系统。

附录

参考链接

如果遇到问题或者对文章内容存疑,请在下方留言,博主看到后将及时回复,谢谢!
回复 / 查看「历史评论
回答30+17=