我的公司为基于服务器的产品分发 Windows 安装程序。根据最佳实践,它使用证书进行签名。根据Microsoft 的建议,我们使用GlobalSign 代码签名证书,Microsoft 声称默认情况下所有 Windows Server 版本都可以识别该证书。
现在,这一切正常,除非服务器已配置组策略:计算机配置/管理模板/系统/互联网通信管理/互联网通信设置/关闭自动根证书更新为已启用。
我们发现我们的一位早期 beta 测试人员正在使用此配置运行,导致安装过程中出现以下错误
无法安装所需的文件,因为 cab 文件 [cab 文件的长路径] 具有无效的数字签名。这可能表明cabinet 文件已损坏。
我们把它写成了一个奇怪的东西,毕竟没有人能够解释为什么系统是这样配置的。但是,现在该软件可用于一般用途,我们的客户中似乎有两位数(百分比)配置了此设置,没有人知道为什么。许多人不愿意改变设置。
我们已经为我们的客户写了一篇知识库文章,但我们真的不希望问题发生,因为我们真正关心客户体验。
我们在调查时注意到的一些事情:
- 全新的 Windows Server 安装不会在受信任的根权限列表中显示 Globalsign 证书。
- 在 Windows Server 未连接到 Internet 的情况下,安装我们的软件可以正常工作。在安装结束时,Globalsign 证书存在(不是我们导入的)。在后台 Windows 似乎在首次使用时透明地安装它。
所以,这又是我的问题。为什么禁用根证书更新如此普遍?再次启用更新的潜在副作用是什么?我想确保我们可以为客户提供适当的指导。