我的应用程序以自签名小程序的形式部署到全国(挪威)50 多所学校的数千名用户。系统会向用户显示标准 Java 安全警告,询问他们是否接受签名。如果他们接受,小程序便可完美运行。
然而,大约半年前,一组由 7 所学校组成的小组(它们都隶属于同一个 IT 部门)不再收到安全警告。相反,该小程序以不受信任的模式加载并开始运行,而没有先让用户选择接受或拒绝签名。
问题出在 Windows 机器上,并且只在机器连接到学校网络时才会出现。如果他们将同一台机器带回家,程序会正常运行,并发出安全警告等。
总体而言,我对 Windows 系统了解甚少,但我认为它应该是某种策略文件或当机器连接到/通过学校网络时加载的东西。
此外,这 7 所学校在前段时间出现安全漏洞后进行了改进,才开始出现这个问题。IT 部门不知所措。我也不知所措。
有什么想法、意见或建议吗?
答案1
我不是浏览器安全专家,但我可以想象,由于安全漏洞,浏览器的安全设置已被更改为将所有不受信任的证书(自签名证书未由受信任的证书颁发机构(CA)签名,因此可能来自任何人)视为不安全。
这与未发出警告的情况相符,我只能想象这意味着自我认证被自动标记为不受信任,这就是为什么小程序仅在不受信任的模式下运行。
答案2
您的用户是否尝试过清除他们机器上的证书?
控制面板 / Java / 安全 / 证书 / 删除?
正如 beny23 所说,他们可能错误地认为自签名证书不安全……
但它无法解释为什么该系统可以在家运行......
答案3
我最好的猜测是自签名 jar 正在被网络代理过滤。
控制面板中有一个“允许用户授予来自不受信任的机构的内容权限”选项。此外,OCSP 检查在更新之间更改了默认配置,尽管我猜这对自签名来说可能无关紧要。
我强烈建议不要接受自签名证书。