如果在安装新版本的 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"

参考文档