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

2022-09-01 15:54:16

我有以下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>

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

Found unsigned entry in resource

通过以下说明

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)

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


答案 1

这对我有用:

转到控制面板/Java。

然后单击“设置”按钮并激活选项“将临时文件保存在我的计算机上”。

这很奇怪,但它起作用了!


答案 2

如果您使用较新的 Java 版本进行签名,则较旧的 Java 版本也可能出现此问题。

  • 使用 1.8u74 及更早版本签名适用于所有版本
  • 使用 1.8u101 及更高版本进行签名适用于 1.7u80 及更高版本,但不适用于客户端上的较旧版本。

符号算法中似乎存在不兼容的更改。


推荐