我一直在尝试将自己和我的applet用于Java 7中强加的新安全约束。
我的applet是自签名的,因此它会被自动阻止。将站点添加到java配置控制台中的异常列表后,我管理访问它,但不是没有看到那个恼人的消息向我喊叫签名者是未知的,要求我批准运行applet。
这个真的很烦人,因为每次我尝试加载applet时都需要我的批准...不存储我之前的批准......
所以,我发现this文件应该解决了我所有的问题,因为我的applet分布在一个已知的社区中。我遵循了所有准则,创建了证书并将其输入到JRE使用的商店(我也从配置控制台看到该证书)但是令人讨厌的批准消息不断弹出并说签名者仍然未知......
任何想法,我错过了什么?看起来将证书添加到我的商店对流程没有任何影响......
提前谢谢。 GBA。答案 0 :(得分:1)
不幸的是,提供的证书字段没有提供,所以可能我猜错了,但我建议您创建一个证书,其中Subject字段中的Common Name与签名授权机构地址匹配。有三种方法可以匹配并最终避免警告: 1.主机名(在地址栏中)与证书主题中的公用名完全匹配。 2.主机名与通配符公用名匹配。例如,www.example.com与通用名称* .example.com匹配。 3.主机名列在“主题备用名称”字段中。 最常见的SSL名称匹配形式是SSL客户端将其连接的服务器名称与服务器证书中的公用名称进行比较。 如果SSL证书具有主题备用名称(SAN)字段,则SSL客户端应忽略公用名称值并在SAN列表中寻找匹配项。
答案 1 :(得分:1)
好吧,我终于找到了问题......
事实证明,一旦我将trusted.certs(deployment.user.security.trusted.certs)文件克隆到trusted.cacerts(deployment.user.security.trusted.cacerts)文件中,一切都开始工作...... < / p>
我不明白这两家商店之间的区别,更进一步,在我在问题中添加的链接(this)中,它讨论了个人使用的证书文件,所以......它让我觉得它应该有用......然而,事实证明Java的思维方式不同: - )
无论如何......这就是答案。
感谢大家的合作, GBA。