即使小应用程序已签名,并且设置了Caller-Allowable-Codebase属性,我们仍在应用程序中遇到LiveConnect安全警告:

第二个问题是,在IE,FF和Chrome中,“应用程序”和“发布者”字段设置为“未知”。显示的第一个安全信息似乎是从证书中提取的信息。

我的清单文件:

Manifest-Version: 1.0
Implementation-Vendor: xxx xxx Buildings AB
Implementation-version: 1.5.0.49829
Application-Library-Allowable-Codebase: *
Application-Name: Building Operation WebStation
Permissions: all-permissions
Created-By: 1.7.0 (Sun Microsystems Inc.)
Caller-Allowable-Codebase: *
Specification-Version: 1.0
Codebase: *

我阅读了有关security changes with LiveConnect的Oracle博客文章。

我也尝试添加Application-Library-Allowable-Codebase:*属性,但没有成功。 security attributes guide似乎没有任何区别。

选中该复选框不会执行任何操作,下一次我们导航到该applet时,警告将再次弹出。

jarsigner.exe输出“已验证jar”。

检查我们签署的证书会显示整个链-我们的公司> RapidSSL CA> GeoTrust GlobalCA。我已经将证书导入到多个Windows证书存储中,即使仅由受信任的根CA进行签名也已足够。

我们正在最新的JRE上进行测试,而使用JRE 8可获得相同的结果
Java插件10.67.2.01
使用JRE版本1.7.0_67-b01 Java HotSpot(TM)客户端VM

有人知道吗
  • 如何在仍然允许LiveConnect调用的同时摆脱弹出窗口?
  • 如果不是
  • ,如何在对话框中填充两个UNKNOWN字段?
  • 最佳答案

    之所以会出现第一个弹出窗口(LiveConnect警告),是因为您为*使用了通配符Caller-Allowable-Codebase:

    Caller-Allowable-Codebase: *
    

    您可能需要将javascript文件所在的域名或IP地址替换为,将*替换为。

    您可能还需要对codebase属性执行类似的操作。

    有关此属性的更多信息,请参见Codebase Attribute

    呼叫者允许代码库属性

    有关允许的值的描述,请参见代码库属性。如果将独立星号(*)指定为Caller-Allowable-Codebase属性的值,则从JavaScript代码到RIA的调用将显示安全警告,用户可以选择允许呼叫或阻止调用。还提供了一个记住该选择的选项,如果选中该选项,则在启动RIA时将不再显示警告。

    来源Caller-Allowable-Codebase Attribute

    Java Applet清单-允许所有Caller-Allowable-Codebase

    似乎必须删除Trusted-Library属性才能使Caller-Allowable-Codebase正常工作,而不再发出警告。 但是,这会破坏Java 7 Update 21-40,Java 7 Update 21-40将JavaScript代码(该代码将调用以所有权限运行的已签名小程序中的代码)视为混合代码,并且如果未使用Trusted-Library = true属性标记已签名的JAR文件,则会引发警告对话框。

    来源Java applet manifest - Allow all Caller-Allowable-Codebase,由Nikolas Pooch回答

    07-24 09:33