如何启用OpenSSL 3.0传统提供商Github Actions?



OpenSSL在3.0版本中弃用了一组散列函数。(见OpenSSL_3.0 # Provider_implemented_digests。)

对于我维护的库,我需要其中的一些来实现向后兼容性,例如,RIPEMD160。

然而,由于OpenSSL 3.0通过各种发行版推出,它现在开始在我使用最新的Ubuntu 22.4 LTS映像的Github操作中失败,因为它现在默认禁用。

因此,在OpenSSL wiki页面的后面,它解释了如何在系统的SSL配置中启用遗留特性。然而,当我试图修改系统的openssl配置文件时,即使在使用sudo之后,我也会得到permission denied错误。

sudo sed -i '/^default = default_sect/a legacy = legacy_sect' /etc/ssl/openssl.cnf
sudo sed -i '/^[default_sect]/a activate = 1' /etc/ssl/openssl.cnf
sudo echo "[legacy_sect]" >> /etc/ssl/openssl.cnf
sudo echo "activate = 1" >> /etc/ssl/openssl.cnf
shell: /usr/bin/bash -e {0}
/home/runner/work/_temp/9f9803fe-a061-4d59-bed1-83d345569dbe.sh: line 3: /etc/ssl/openssl.cnf: Permission denied

如果我不能修改配置,我如何启用OpenSSL 3.0传统提供商Github Actions?

您不需要修改系统配置文件。您可以在某个地方创建一个新的配置文件,然后将OPENSSL_CONF环境变量设置为指向它。任何使用openssl的进程都将优先使用该环境变量作为其配置文件的位置,而不是系统默认位置。

最新更新