警告依赖于Caller-Allowable-Codebase属性始终未显示

我在签名的Java小程序中有以下清单信息。 我的构build环境比较陈旧,目前仅限于JDK 1.6。

Manifest-Version: 1.0 Implementation-Vendor: Foo, Inc. Application-Library-Allowable-Codebase: * Application-Name: FooBar Permissions: all-permissions Sealed: true Created-By: 1.6.0_20 (Sun Microsystems Inc.) Caller-Allowable-Codebase: * Codebase: https://* 

根据Java文档 –

如果将独立星号(*)或与顶级域名(例如* .org)一起使用的星号指定为“调用者允许的代码库”属性的值,则从JavaScript代码调用RIA将显示安全警告。 用户可以select允许通话或阻止通话。 还提供了一个记住select的选项。 如果用户select记住该选项,则当从同一来源的JavaScript代码接收到呼叫时,不会显示相同RIA的其他警告消息。

我的Web应用程序中的Java脚本代码依赖于来自Applet的返回代码,以在门户上显示适当的状态。 显示的消息取决于返回的状态代码。 但是为了发生这种情况,应该会出现Java警告窗口。 在Firefox v51和JRE 1.8.121中,有时会出现此警告窗口。 否则,JavaScript和Applet之间的通信不存在。 什么可能是警告窗口不会一直出现的问题?

我正在使用相同的实时连接方法来在applet和Javascript之间进行通信。 在过去的几年中,我从JRE6u45到现在的JRE8u131都遇到了许多不同的警告屏幕。 这取决于您现在面临的警告屏幕。

你每次都用Firefox吗? Firefox不支持Java插件,因为某些版本在这里看到 。 仅供参考,Chrome和MS Edge不支持Java Applet。 请检查你是否使用它们。

调用者允许的代码库属性不应该触发任何警告。 它应该阻止小程序运行,如果它没有正确包含域。 应该没有警告消息,允许您运行。

一般来说,大多数警告屏幕来自JRE而不是浏览器。 所以你也可以检查下列项目:

  • 代码签名证书是有效的,没有过期。
  • 转到Java控制面板,清除小程序caching(在“常规”选项卡中)
  • 启用Java内容被选中(安全选项卡)
  • 还原安全提示(安全选项卡)
  • 启用混合代码来显示警告,如果需要(高级选项卡)
  • 启用日志logging和跟踪,显示Java控制台(Java控制面板 – >安全选项卡)

请提供更多详细信息屏幕或警告消息。