最近升级到 Ubuntu 22.04,在激活我的 eduroam WiFi 连接时遇到了一些问题。具体来说,我在 syslog 中收到以下消息:
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 ppl)要解决的问题,还是更新到 22.04 的问题?
这里的问题是因为 Ubuntu 遵循 OpenSSL 3 迁移,并且默认安全级别为 2。可以在此处解释默认安全级别(在“默认回调行为”下)解释每个级别在 OpenSSL 3.0 中的含义。Ubuntu 在其发布的 OpenSSL 版本上使用默认级别 2。
从 Ubuntu 22.04 Jammy 开始,OpenSSL 使用默认安全级别 2。在OpenSSL 3.0 迁移指南中,对 OpenSSL 默认级别 1 进行了更改,因此“在安全级别 1 及更高级别不再允许使用 SHA1 签名的 X509 证书。 " 不幸的是,由于 SHA1 证书现在是“不安全的”,您必须将您的配置降低到安全级别 0,这样才能接受所有内容。这是不安全的,但在您的 IT 团队更新证书之前,您在这里别无选择。
根据这个答案,您应该能够调整您的配置以使用较旧的安全默认值。我在这里调整了这些说明。
编辑您的
/etc/ssl/openssl.cnf
文件。在文件的开头,添加以下内容:然后重新启动系统以确保正确设置安全级别,并测试连接。你应该不再有这个问题。 请注意,这会降低系统的整体安全性,并可能使您容易受到旧站点或故意恶意站点上使用的旧协议和安全密码中的漏洞的影响。
最终,您所在大学的 IT 团队需要重新颁发带有 SHA256 签名的证书,并将其应用于他们的 eduroam 基础设施。上述减少安全默认值的方法不能保证安全,因为 SHA1 签名证书现在被 SSL 标准视为已弃用。 一旦 IT 团队更新他们的证书,您应该删除此处完成的配置。
或者,在此期间不要将证书与您的 eduroam 连接一起使用。