2022-05-10 17:07:15 VERIFY ERROR: depth=0, error=CA signature digest algorithm too weak:
2022-05-10 17:07:15 OpenSSL: error:0A000086:SSL routines::certificate verify failed
我使用 openvpn(带有 3 个配置文件:.ovpn、.p12、.key,从我的终端:sudo openvpn 使用以下参数:--config --pkcs12 --tls-auth)。
在升级到最新的 Ubuntu 版本之前,一切都运行正常。然后无法连接,并且出现很多类似这样的错误。
我向我们的系统管理员申请了新的证书,但问题仍然存在。这不是证书过期的问题。
我发现这似乎与 OpenSSL 3.0 有关。其他人也有同样的问题。
我们的系统管理员说我暂时应该在我的电脑上解决这个问题。他们稍后会在服务器上解决这个问题。
我已经尝试过这个:https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1960268/comments/32 但没有变化。
你能帮我解决这个问题吗?这个问题已经困扰我两天了。谢谢。(请注意,当我需要设置/配置东西时,我真的很糟糕……:))
答案1
在成功使用 20.04 很长一段时间后,我全新安装 22.04 后使用 IP-Vanish 时遇到了同样的问题。
我尝试了两种解决方案,将行放在 /etc/ssl/openssl.cnf 文件的顶部(复制/粘贴以确保没有拼写错误),并且在 .ovpn 文件中添加额外的 tls-cipher(甚至替换它),但都不允许我连接。
我已直接联系 IP-Vanish 并附上了此处提供的信息。
如果有人能解决这个问题我将非常感激,如果 IP-Vanish 给我答复,我会将其发布出来。
更新解决方案:
IP-Vanish 已返回一个临时解决方案,直到他们可以更新其证书。
1:使用网络管理器 GUI 正常添加 VPN 连接
2:编辑连接文件,其中/etc/NetworkManager/system-connections/(connectionname).nmconnection
(connectionname)是你的VPN连接的名称
3:在 [vpn] 部分中,在以 开头的行下方ca=
添加一行新内容
tls-cipher=DEFAULT:@SECLEVEL=[0-5]
替换[0-5]
为 0 至 5 之间的值,请参阅这里了解安全级别信息,并了解您应使用哪个安全级别。对于大多数人来说,安全级别 0 就足够了。
4:保存文件
5:输入命令systemctl restart NetworkManager
6:正常启动 VPN 连接,它应该可以连接(我的连接确实可以了,我通过检查我的 IP 和位置进行了验证)
答案2
对我来说@Colin 的答案不起作用,不得不将 openvpn 降级到版本 2.4,这是 Ubuntu 20.04 使用的版本,如下所述: https://askubuntu.com/a/1406472/380792
然后固定 openvpn 版本
sudo apt-mark hold openvpn
答案3
对于我来说,解决方案是删除 vpn 并重新设置。
看起来 vpn 的配置文件/etc/NetworkManager/system-connections/
在升级过程中发生了一些变化。ipsec-psk
属性从部分移至vpn
,vpn-secrets
并且此属性的值被错误地复制并转换为其他值。它以 0 开头,并以一些字符结尾。如果您重新添加 vpn,则只有一个包含密码的字符串。
无论如何,删除并再次添加我的 vpn 对我来说效果很好。
答案4
对我有用的是:
- 打开 GNOME 设置
- 点击“网络”菜单
- 单击 VPN 配置的齿轮图标
- 点击“身份”选项卡
- 点击底部的“高级...”按钮
- 点击“TLS 身份验证”选项卡
DEFAULT:@SECLEVEL=0
在“TLS 密码字符串”字段中写入- 点击“应用”,然后再次点击“应用”
然后,当我单击开关来激活 VPN 时,它就起作用了。