Windows OpenVPN 报错 "algorithm too weak" 解决方案
如果在安装新版本的 OpenVPN 客户端后,无法连接曾经可以正常连接的服务器的话,检查日志中是否有 CA signature digest algorithm too weak
的错误提示:
Wed Mar 07 02:46:01 2018 VERIFY ERROR: depth=0, error=CA signature digest algorithm too weak:
Wed Mar 07 02:46:01 2018 OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Wed Mar 07 02:46:01 2018 TLS_ERROR: BIO read tls_read_plaintext error
Wed Mar 07 02:46:01 2018 TLS Error: TLS object -> incoming plaintext read error
Wed Mar 07 02:46:01 2018 TLS Error: TLS handshake failed
如果出现该错误,则意味着服务器所用的证书采用了安全性较弱的摘要算法 MD5,该算法自 OpenSSL 1.1 起不再认为是安全的,而 OpenVPN 自 2.4.x 起默认使用 OpenSSL 1.1。
OpenVPN 及 OpenSSL 的当前版本可以在日志的头部看到:
Wed Mar 07 02:45:36 2018 OpenVPN 2.4.5 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Mar 1 2018
Wed Mar 07 02:45:36 2018 Windows version 6.2 (Windows 8 or greater) 64bit
Wed Mar 07 02:45:36 2018 library versions: OpenSSL 1.1.0f 25 May 2017, LZO 2.10
解决方案
要解决该错误,应当要更换服务器所用的证书。如无法更换服务器上所使用的证书,则可以在 .ovpn
的配置文件中添加如下内容以继续接受弱算法保护的证书:
tls-cipher "DEFAULT:@SECLEVEL=0"