近日在使用深信服远程办公客户端EasyConnect时发现,很多装有Windows11的计算机在开启EasyConnect连接服务器时初始化一直不成功,使用其他浏览器打开服务器网页正常。用vbs脚本打开ie11:
CreateObject("InternetExplorer.Application").Visible=true
发现ie11访问服务器网页报错,显示站点连接不安全。使用fiddler抓包得到以下内容:
A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.
Version: 3.3 (TLS/1.2)
Random: XX XX
"Time": 2018/11/9 4:11:14
SessionID: empty
Extensions:
注意到浏览器使用了tls 1.2版本进行握手,同时返回内容为:
fiddler.network.https> HTTPS handshake to ssl.xxx (for #6) failed. System.Security.Authentication.AuthenticationException 调用 SSPI 失败,请参见内部异常。 < 给函数提供的标志无效
Win32 (SChannel) Native Error Code: 0x80090308
怀疑是两端tls协议不兼容导致问题,于是将ie11中tls 1.2支持关闭,仅保留1.0和1.1。刷新网页后网页显示正常。但从网页输入账号还是无法打开easyconnector客户端,另外在fiddler中抓包发现除浏览器外还有ecagent进程发起的https请求报以上错误。
于是尝试在Windows11中全局禁用tls 1.2,在注册表编辑:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client,加入dword名为Enabled值为0代表禁用:
重启计算机后EasyConnect使用恢复正常。