签名的JNLP会产生更多的安全对话框

时间:2013-05-13 20:19:35

标签: java security jnlp java-web-start signed

我有一个通过WebStart部署的Eclipse RCP应用程序。我们尚未签署我们的顶级JNLP,因此启动客户端会在以下对话框中显示黄色警告图标。

enter image description here

我找到了一篇关于将JNLP作为JNLP-INF / APPLICATION.JNLP添加到主jar的帖子。然后,当主jar被签名时,JNLP将被“签名”,并且启动对话框上的警告将被更改为信息。

enter image description here

但是,当我对主jar进行此更改并启动应用程序时,系统会提示用户运行上面显示的应用程序对话框两次。位于顶级应用程序目录和主jarJNLP-INF / APPLICATION.JNLP文件中的JNLP文件具有:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://local.mycompany.COM/Client" href="client.jnlp">
<information>
    <title>Client</title>
    <vendor>mycompany</vendor>
    <description>Client Application</description>
    <shortcut>
        <desktop/>
    </shortcut>
</information>
<security>
    <all-permissions/>
</security>
<update check="always" policy="always"/>
<resources>
    <jar href="plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar"/>
    <extension name="Wrapper feature" href="features/com.mycompany.client.feature_0.7.0.jnlp" />
    <property name="osgi.instance.area" value="@user.home"/> 
    <property name="osgi.configuration.area" value="@none"/> 
    <property name="osgi.configuration.cascaded" value="false"/> 
    <property name="osgi.bundles" value="org.eclipse.equinox.event@2:start,org.eclipse.equinox.ds@2:start,org.eclipse.core.runtime@4:start,org.eclipse.equinox.common@2:start"/>
    <property name="eclipse.application" value="com.mycompany.client.application"/> 
    <!-- Valid log levels are INFO, WARNING, ERROR -->
    <property name="logLevel" value="ERROR"/> 
    <property name="logFile" value="client.log"/> 
</resources>
<resources os="Windows" arch="x86">
    <j2se version="1.6+" />
</resources>
<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
    <argument>-nosplash</argument>
</application-desc>
</jnlp>

有没有人见过这个?有人可以告诉我我做错了什么。

1 个答案:

答案 0 :(得分:0)

我认为由于您使用扩展程序,系统会提示您运行应用程序对话框两次: 我猜你提示第一个对话框要求运行应用程序,第二个 - 安装扩展。这是正常的行为。