最近升级到 Ubuntu 22.04,在激活 eduroam WiFi 连接时遇到了一些问题。具体来说,我在系统日志中收到以下消息:
Mai 04 11:42:11 sliver wpa_supplicant[687]: TLS: Certificate verification failed, error 68 (CA signature digest algorithm too weak) depth 0 for '/C=DK/ST=Denmark/O=Aalborg Universitet/OU=IT Services/CN=wifi.aau.dk'
目前,我只能在以下情况下激活 eduroam 连接:不是使用证书。使用 查看openssl x509 ...
,似乎证书仍在使用 SHA-1。
这是证书颁发者(即我所在大学的 IT 人员)需要修复的问题吗,还是更新到 22.04 时出现的问题?
答案1
此处的问题是由于 Ubuntu 遵循 OpenSSL 3 迁移,并且默认安全级别为 2。默认安全级别可以解释这里(在“默认回调行为”下)解释 OpenSSL 3.0 中每个级别的含义。Ubuntu 在其发布的 OpenSSL 版本中使用默认级别 2。
从 Ubuntu 22.04 Jammy 开始,OpenSSL 使用默认安全级别 2。在OpenSSL 3.0 迁移指南OpenSSL 默认级别 1 已发生更改,例如“使用 SHA1 签名的 X509 证书不再允许在安全级别 1 及以上使用”。不幸的是,由于 SHA1 证书现在“不安全”,您必须将配置降至安全级别 0,这样才能接受所有内容。这是不安全的,但在您的 IT 团队更新证书之前,您没有太多选择。
每这个答案,您应该能够调整配置以使用较旧的安全默认值。我已在此处修改了这些说明。
编辑/etc/ssl/openssl.cnf
文件。在文件开头添加以下内容:
openssl_conf = default_conf
[ default_conf ]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
CipherString = DEFAULT:@SECLEVEL=0
然后重新启动系统以确保安全级别设置正确,并测试连接。您应该不会再遇到此问题。 请注意,这会降低系统的整体安全性,并可能使您容易受到旧网站或故意恶意网站上使用的旧协议和安全密码的漏洞的攻击。
最终,您所在大学的 IT 团队需要重新颁发带有 SHA256 签名的证书,并将其应用于其端的 eduroam 基础设施。上述减少安全默认值的方法并不能保证安全,因为 SHA1 签名证书现在已被 SSL 标准弃用。 一旦 IT 团队更新其证书,您就应该删除此处完成的配置。
或者,暂时不要在你的 eduroam 连接中使用证书。