在资源中找到未签名的条目

Mar*_*sen 27 java jnlp jar java-web-start

我有以下JNLP文件:

<jnlp spec="1.0+" codebase="http://****:****" href="tcm2012.jnlp">
  <information>
    <title>TCM 2012</title>
    <vendor>Drift og Performance, *** Servicecenter</vendor>
    <homepage href="http://******"/>
    <description/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.6+"/>
    <jar href="tcm2012.jar"/>
  </resources>
  <application-desc main-class="com.****.kundeservice.TCMApplication"/>
</jnlp>
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试从网上运行时,我收到以下错误:

Found unsigned entry in resource
Run Code Online (Sandbox Code Playgroud)

随着以下的曝光

com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://*****:****/tcm2012.jar
at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.sun.javaws.security.SigningInfo.check(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

mar*_*uga 23

这对我有用:

去控制面板/ Java.

然后单击"设置"按钮并激活"在我的计算机上保留临时文件"选项.

这很奇怪,但它奏效了!


Hor*_*ux7 7

如果使用较新的Java版本进行签名,则旧版Java版本也会出现此问题.

  • 使用1.8u74和更旧的标志与所有版本一起使用
  • 使用1.8u101和更新版本与1.7u80和更新版本进行签名,但不能在客户端上使用旧版本.

符号算法似乎存在不兼容的变化.