为啥 Java(在一个特定的安装上)认为我是自签名的?
Posted
技术标签:
【中文标题】为啥 Java(在一个特定的安装上)认为我是自签名的?【英文标题】:Why does Java (on one particular installation) think I'm self-signing?为什么 Java(在一个特定的安装上)认为我是自签名的? 【发布时间】:2015-01-16 20:29:29 【问题描述】:在一台特定机器上(带有当前更新和 JRE 的 Windows Server 2012R2)我收到经典的“您的安全设置已阻止自签名应用程序运行”错误。显然,我可以通过使我的启动站点(这是内部的,仅供我们自己内部使用)受信任来绕过它。但是,如果可能的话,我想解决根本原因。
让这个问题难以解决的原因是:
A) 它不是自签名的。它使用 JKS 签名,其中包含我们的 COMODO 证书和来自 COMODO(根和中间)的授权更新链。然而,当我们收到最新证书时,它确实开始了,旧证书从来都不是问题。
B) 我们拥有的所有其他机器都接受由 COMODO 正确签名的证书(Windows 7、8.1、Mac、Linux)。只是这台服务器认为它是自签名的。
想法?
【问题讨论】:
每个有效的证书链最终都指向一个证书,该证书是它自己的权威。我猜这是您的机器反对的 那个 证书,而不是链条前面的那个。确保受影响的服务器在其受信任的根证书存储中具有适当的 COMODO 证书。这甚至可能就像应用可用的 Microsoft 更新一样简单。 好吧,那台服务器是最新的,问题仍然存在。另外值得注意的是,我现在收到了一位 Mac 用户的报告,称他的特定机器也不喜欢该证书。我们的任何其他 Mac 用户都没有提供故障单。 【参考方案1】:事实证明,由于某种原因,我们安装的各种 Windows 版本最终可能会得到截然不同的根证书集。所有运行良好的机器都安装了大约 320 个证书,无法运行的机器只有大约 70 个。COMODO 最终向我们颁发了一个替换证书,旨在针对不同的根进行验证......这在我们所有的机器上都可以正常工作。
【讨论】:
我刚从经销商处购买了 COMODO 代码签名证书,现在面临同样的基本问题。我会对您收到的替换根证书的名称感兴趣。我可以在 oracle java 1.8.0_u45 cacerts 信任库中找到的唯一 COMODO 根证书称为“AAA 证书服务”。 @Zalumon 我现在无法访问该信息,但我可以告诉您,如果是紧急情况,您可以联系 Comodo,解释问题,他们将在替代根很快。下次我在办公室时我也会记下检查并更新... @Zalumon - “COMODO SHA-256 代码签名 CA” 它使用“AddTrust”。 谢谢,这是有道理的。我也终于解决了我的问题:***.com/a/31220258/1124509以上是关于为啥 Java(在一个特定的安装上)认为我是自签名的?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我无法获得与 Wamp 2.4.4 一起使用的自签名证书 (ssl)?