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

时间:2017-02-09 21:48:53

标签: java applet

我在签名的Java小程序中有以下清单信息。我的构建环境很旧,目前仅限于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 documentation -

  

如果是独立星号(*)或与顶级星号一起使用的星号   诸如* .org之类的域被指定为。的值   Caller-Allowable-Codebase属性,然后从JavaScript代码调用   向您的RIA显示安全警告。用户可以选择允许   通话或阻止通话。记住选择的选项也是   提供。如果用户选择记住该选择,则不再进一步   收到呼叫时,同一RIA会显示警告消息   来自同一来源的JavaScript代码。

我的Web应用程序中的Java脚本代码依赖于Applet的返回代码来显示门户上的适当状态。显示的消息因返回的状态代码而异。但是为了实现这一点,应该出现Java警告窗口。在Firefox v51& JRE 1.8.121,此警告窗口有时会显示。如果没有,则不存在JavaScript和Applet之间的通信。什么问题警告窗口不会一直出现?

1 个答案:

答案 0 :(得分:1)

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

你每次都使用Firefox吗? Firefox自某个版本see here以来不支持Java插件。仅供参考,Chrome和MS Edge不支持Java Applet。请检查您是否使用它们。

Caller-Allowable-Codebase属性不应触发任何警告。如果applet没有正确包含域,它应该阻止applet运行。应该没有允许您运行的警告消息。

通常,大多数警告屏幕来自JRE而不是浏览器。因此,您还可以查看以下项目:

  • 代码签名证书有效且未过期。
  • 转到Java控制面板,清除小程序缓存(在常规选项卡中)
  • 选中启用Java内容(安全选项卡)
  • 恢复安全提示(安全选项卡)
  • 启用混合代码以在需要时显示警告(高级选项卡)
  • 启用日志记录和跟踪,显示Java控制台(Java控制面板 - >安全选项卡)

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